博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
来个ADG switch over
阅读量:5905 次
发布时间:2019-06-19

本文共 2621 字,大约阅读时间需要 8 分钟。

怕以后忘了,做个试验记录一下,这个switch比较常规

1】主--备库先查一遍,如下的话就可以开始了
两者当前序列一致
角色状态如下
--主库
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 /u01/app/oracle/oradata/test/flash_recovery_area
最早的联机日志序列 524
下一个存档日志序列 526
当前日志序列 526
SQL> select switchover_status,database_role from v$database;

SWITCHOVER_STATUS DATABASE_ROLE

-------------------- ----------------
TO STANDBY PRIMARY

--备库

SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 /u01/app/oracle/oradata/test/flash_recovery_area
最早的联机日志序列 524
下一个存档日志序列 0
当前日志序列 526
SQL> select switchover_status,database_role from v$database;

SWITCHOVER_STATUS DATABASE_ROLE

-------------------- ----------------
NOT ALLOWED PHYSICAL STANDBY

2】切换

--主库
--将primary角色转换为standby角色
SQL> alter database commit to switchover to physical standby;

数据库已更改。

SQL> shutdown immediate
ORA-01012: not logged on

--shutdown immediate

SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 3975139328 bytes

Fixed Size 2259360 bytes
Variable Size 2768242272 bytes
Database Buffers 1191182336 bytes
Redo Buffers 13455360 bytes
数据库装载完毕。

mount之后原主库成了备库

SQL> select switchover_status,database_role from v$database;

SWITCHOVER_STATUS DATABASE_ROLE

-------------------- ----------------
RECOVERY NEEDED PHYSICAL STANDBY

--备库

--查看standby状态
SQL> select switchover_status,database_role from v$database;

SWITCHOVER_STATUS DATABASE_ROLE

-------------------- ----------------
SESSIONS ACTIVE PHYSICAL STANDBY

--将--备库的角色修改为primary

/*执行下面时需要关闭其他sql窗口,否则报下面的错

SQL> alter database commit to switchover to primary;

alter database commit to switchover to primary
*
第 1 行出现错误:
ORA-01093: ALTER DATABASE CLOSE 仅允许在没有连接会话时使用
*/

确认没有会话连接了执行结果

SQL> alter database commit to switchover to primary;

数据库已更改。

原备库变成原主库那样了,

SQL> select switchover_status,database_role from v$database;

SWITCHOVER_STATUS DATABASE_ROLE

-------------------- ----------------
NOT ALLOWED PRIMARY

原主库呢,刚才mount了,需要recover,现在新主库也open了,可以开始recover了

SQL> select status from v$instance;

STATUS

------------
MOUNTED

SQL> alter database recover managed standby database disconnect from session;

SQL> recover managed standby database cancel;

完成介质恢复。
SQL> alter database open;

数据库已更改。

开启实时应用

SQL> alter database recover managed standby database using current logfile disconnect from session;

数据库已更改。

--这时新备库正常了

SQL> select switchover_status,database_role from v$database;

SWITCHOVER_STATUS DATABASE_ROLE

-------------------- ----------------
NOT ALLOWED PHYSICAL STANDBY

检查】

新主库切换日志查看下两边序列是否一致(简单方式)
alter system switch logfile;
archive log list;

查看主、备库是否有gap

SELECT STATUS,GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID=2;

转载于:https://www.cnblogs.com/ritchy/p/10948639.html

你可能感兴趣的文章
唯识相链由来
查看>>
linux系统的负载与CPU、内存、硬盘、用户数监控shell脚本
查看>>
Percona Toolkit 安装
查看>>
元学习法 - XDITE -Xdite 郑伊廷
查看>>
Firewall之iptables篇
查看>>
sed 语法
查看>>
RHEL6入门系列之二十二,quota磁盘配额管理
查看>>
费用登记系统(小结)
查看>>
Windows Group Policy Startup script is not executed at startup
查看>>
智能指针
查看>>
AIX修改用户密码登录不成功案例分享
查看>>
openstack组件使用的默认端口
查看>>
c语言简单版坦克大战(AllenEnemyTrank文件)
查看>>
Java私塾: 研磨设计之备忘录模式(Memento)
查看>>
理解call和apply方法
查看>>
异步加载(延迟加载)与同步加载
查看>>
机器学习瓶颈 - 从黑盒白盒之争说起
查看>>
小程序图片上传七牛
查看>>
java交换两个变量值a,b的多钟方法
查看>>
Python中被双下划线包围的魔法方法
查看>>