ADG主备正常切换操作参考:RAC两节点->单机(11g)
1.主库准备
检查状态
SQL> select inst_id,database_role,OPEN_MODE from gv$database;
INST_ID DATABASE_ROLE OPEN_MODE
---------- ---------------- --------------------
2 PRIMARY READ WRITE
1 PRIMARY READ WRITE
多租户:
SQL> show pdbs;
停掉一个实例:
[oracle@tyzfdb02 ~]$ srvctl stop instance -d tyzfdb -i tyzfdb2
SQL> select inst_id,database_role,OPEN_MODE from gv$database;
INST_ID DATABASE_ROLE OPEN_MODE
---------- ---------------- --------------------
1 PRIMARY READ WRITE
2.备库准备
SQL> select inst_id,database_role,OPEN_MODE from gv$database;
INST_ID DATABASE_ROLE OPEN_MODE
---------- ---------------- --------------------
1 PHYSICAL STANDBY READ ONLY WITH APPLY
--取消备库日志应用: --可选
--SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
--继续应用日志: --可选
--SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
3.主库切换日志:
主库切换日志,观察备库alert是否正常同步
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
4.备库确认同步正常
[oracle@adg trace]$ tail -f alert_tyzfdb.log
Tue Jun 25 16:30:30 2023
Media Recovery Waiting for thread 2 sequence 122 (in transit)
Recovery of Online Redo Log: Thread 2 Group 12 Seq 122 Reading mem 0
Mem# 0: +DATA/tyzfdb_adg/onlinelog/group_21.175.834665789
Tue Jun 25 16:30:30 2023
Archived Log entry 4890 added for thread 2 sequence 1629 ID 0x3545ffea dest 1:
上述信息Recovery of Online表示主备日志传输应用正常
5.主库切换
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO STANDBY
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY WITH SESSION SHUTDOWN;
6.备库切换
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;
SQL> ALTER DATABASE OPEN;
SQL> select name,SWITCHOVER_STATUS,database_role,OPEN_MODE from gv$database;
7.继续处理主库变成备库:
SQL> shutdown immediate
ORA-01092: ORACLE instance terminated. Disconnection forced
SQL> exit
[oracle@tyzfdb01 ogg]$ sqlplus / as sysdba
SQL> startup mount
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;--同步观察alert日志
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE cancel;
SQL> alter database open;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
多租户:
SQL> show pdbs;
SQL> alter pluggable database xxx open;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
8.主库启动节点2
[oracle@tyzfdb01 ~]$ srvctl start instance -d tyzfdb -i tyzfdb2
[oracle@tyzfdb01 ~]$ crsctl stat res -t
9.相关参考:
https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/performing-oracle-data-guard-role-transitions.html#GUID-EEBC6DA6-E192-470E-8FC9-F507B004406E
https://mp.weixin.qq.com/s/p9ds8GKiQLKOpeJIO_g9xA
https://www.cnblogs.com/jyzhao/p/17184490.html
https://www.modb.pro/db/29798
##单机切换截图:

最后修改时间:2025-09-10 17:07:00
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




