1.檢查主備的環(huán)境
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的定襄網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
dg1節(jié)點(diǎn):
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/oradata/tong/archive
Oldest online log sequence 59
Next log sequence to archive 61
Current log sequence 61
SQL>
dg2節(jié)點(diǎn):
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/oradata/tong/archive
Oldest online log sequence 60
Next log sequence to archive 0
Current log sequence 61
SQL>
2.查看主備的角色
dg1節(jié)點(diǎn)(primary角色):
SQL> select switchover_status,database_role from v$database;
SWITCHOVER_STATUS DATABASE_ROLE
-------------------- ----------------
TO STANDBY PRIMARY
SQL>
dg2節(jié)點(diǎn)(standby角色):
SQL> select switchover_status,database_role from v$database;
SWITCHOVER_STATUS DATABASE_ROLE
-------------------- ----------------
NOT ALLOWED PHYSICAL STANDBY
SQL>
3.在主庫上執(zhí)行切換命令(primary節(jié)點(diǎn))
SQL> alter database commit to switchover to physical standby; --將primary角色轉(zhuǎn)換為standby角色
Database altered.
SQL> shutdown immediate --關(guān)閉數(shù)據(jù)庫,啟動(dòng)到mount狀態(tài)
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup mount
Total System Global Area 830930944 bytes
Fixed Size 2217912 bytes
Variable Size 545261640 bytes
Database Buffers 281018368 bytes
Redo Buffers 2433024 bytes
Database mounted.
SQL> select switchover_status,database_role from v$database; --查看目前primary角色的狀態(tài)
SWITCHOVER_STATUS DATABASE_ROLE
-------------------- ----------------
TO PRIMARY PHYSICAL STANDBY
SQL>
4.在備庫上執(zhí)行(standby節(jié)點(diǎn))
SQL> select switchover_status,database_role from v$database; --查看standby備庫角色的狀態(tài)
SWITCHOVER_STATUS DATABASE_ROLE
-------------------- ----------------
TO PRIMARY PHYSICAL STANDBY
SQL> alter database commit to switchover to primary; --將備庫的角色修改為primary
Database altered.
SQL> select switchover_status,database_role from v$database;
SWITCHOVER_STATUS DATABASE_ROLE
-------------------- ----------------
NOT ALLOWED PRIMARY
SQL> alter database open; --打開數(shù)據(jù)庫
Database altered.
SQL>
5.在備庫上執(zhí)行(standby節(jié)點(diǎn))
SQL> select switchover_status,database_role from v$database;
SWITCHOVER_STATUS DATABASE_ROLE
-------------------- ----------------
RECOVERY NEEDED PHYSICAL STANDBY
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; --修改以前主庫為日志應(yīng)用
Database altered.
SQL>
6.測試主備節(jié)點(diǎn)是否切換成功
dg2節(jié)點(diǎn)(primary角色):
SQL> select * from tt;
A
----------
1
3
4
5
6
7
6 rows selected.
SQL> insert into tt values(8);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from tt where a=8;
A
----------
8
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/oradata/tong/archive
Oldest online log sequence 78
Next log sequence to archive 80
Current log sequence 80
SQL>
dg1節(jié)點(diǎn)(standby角色):
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/oradata/tong/archive
Oldest online log sequence 79
Next log sequence to archive 0
Current log sequence 80
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> alter database open read only;
Database altered.
SQL> select * from tt;
A
----------
1
3
4
5
6
7
8
7 rows selected.
SQL>