oracle dg 主库备库切换

192.168.1.181 主库--->备库

192.168.1.183 备库--->主库

192.168.1.181

SQL> select database_role,protection_level,protection_mode from v$database;
DATABASE_ROLE PROTECTION_LEVEL PROTECTION_MODE


PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

SQL> select switchover_status from v$database;

SWITCHOVER_STATUS


TO STANDBY

192.168.1.183
SQL> select database_role,protection_level,protection_mode from v$database;

DATABASE_ROLE PROTECTION_LEVEL PROTECTION_MODE


PHYSICAL STANDBY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

SQL> select switchover_status from v$database;
SWITCHOVER_STATUS


RECOVERY NEEDED

192.168.1.181

SQL> alter database commit to switchover to physical standby with session shutdown; ---2分钟

192.168.1.183

SQL> alter database commit to switchover to primary;
alter database commit to switchover to primary
*
ERROR at line 1:
ORA-16139: media recovery required

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

SQL> alter database commit to switchover to primary;

192.168.1.181
SQL> shutdown immediate
SQL> startup nomount
SQL> alter database mount;
SQL> alter database recover managed standby database disconnect from session;

192.168.1.183
SQL> alter database open;

测试
192.168.1.181

SQL> select dest_name,status from v$archive_dest_status;

DEST_NAME         STATUS
------------------------- ---------
LOG_ARCHIVE_DEST_1    VALID
LOG_ARCHIVE_DEST_2    VALID

SQL> select database_role,protection_level,protection_mode from v$database;

DATABASE_ROLE  PROTECTION_LEVEL   PROTECTION_MODE
---------------- -------------------- --------------------
PHYSICAL STANDBY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

SQL> archive log list
Database log mode       Archive Mode
Automatic archival       Enabled
Archive destination      /home/oracle/arch_orcl
Oldest online log sequence   0
Next log sequence to archive  0
Current log sequence      38

192.168.1.183

SQL> select dest_name,status from v$archive_dest_status;

DEST_NAME STATUS


LOG_ARCHIVE_DEST_1 VALID
LOG_ARCHIVE_DEST_2 VALID

SQL> select database_role,protection_level,protection_mode from v$database;
DATABASE_ROLE PROTECTION_LEVEL PROTECTION_MODE


PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/arch_db01
Oldest online log sequence 36
Next log sequence to archive 38
Current log sequence 38

SQL> alter system switch logfile;

192.168.1.181

SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/arch_orcl
Oldest online log sequence 37
Next log sequence to archive 0
Current log sequence 39

192.168.1.181 备库--->主库

192.168.1.183 主库--->备库

192.168.1.183
SQL> alter database commit to switchover to physical standby with session shutdown;

192.168.1.181
SQL> alter database commit to switchover to primary;

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

192.168.1.181
SQL> alter database open;

测试

192.168.1.181

SQL> select instance_name,status from v$instance;

INSTANCE_NAME STATUS


orcl OPEN

SQL> select database_role,protection_level,protection_mode from v$database;
DATABASE_ROLE PROTECTION_LEVEL PROTECTION_MODE


PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/arch_orcl
Oldest online log sequence 42
Next log sequence to archive 44
Current log sequence 44

192.168.1.183

SQL> select instance_name,status from v$instance;

INSTANCE_NAME STATUS


db01 MOUNTED

SQL> select database_role,protection_level,protection_mode from v$database;
DATABASE_ROLE PROTECTION_LEVEL PROTECTION_MODE


PHYSICAL STANDBY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE

SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/arch_db01
Oldest online log sequence 0
Next log sequence to archive 0
Current log sequence 44

192.168.1.181
SQL> alter system switch logfile;

192.168.1.183
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/arch_db01
Oldest online log sequence 43
Next log sequence to archive 0
Current log sequence 45

转载自chenoracle

最后修改:2022 年 03 月 01 日
如果觉得我的文章对你有用,请随意赞赏