1 |
DATA GUARD環(huán)境是否正常 |
172.16.31.246/172.16.31.231 |
oracle |
1. 在執(zhí)行SWITCHOVER操作前闯狱,首先確認DATA GUARD環(huán)境工作是否正常煞赢。1.1 常規(guī)檢查包括:a) 檢查主庫上V¥ARCHIVE_DEST視圖:SELECT * FROM V¥ARCHIVE_DEST;b) 檢查備庫上V¥MANAGED_STANDBY視圖:SELECT * FROM V¥MANAGED_STANDBY;c) 檢查主庫和備庫上的V¥ARCHIVED_LOG視圖:SELECT * FROM V¥ARCHIVED_LOG;d) 檢查主庫和備庫對應(yīng)的alert告警日志中是否存在錯誤。2. 如果DATA GUARD環(huán)境正常哄孤,就需要進行SWITCHOVER切換前的常規(guī)檢查:2.1確認主庫和備庫間網(wǎng)絡(luò)連接通暢照筑;(可以通過ping、ftp等系統(tǒng)工具檢查)2.2確認沒有活動的會話連接在數(shù)據(jù)庫中瘦陈;(登錄數(shù)據(jù)庫查詢V¥SESSION視圖凝危,檢查是否存在USERNAME IS NULL的會話):SELECT COUNT(*) FROM V¥SESSION WHERE USERNAME IS NOT NULL;3. PRIMARY數(shù)據(jù)庫處于打開的狀態(tài),STANDBY數(shù)據(jù)庫處于MOUNT狀態(tài)晨逝;(檢查V¥DATABASE視圖的OPEN_MODE):SELECT SWITCHOVER_STATUS FROM V¥DATABASE;4. 確保STANDBY數(shù)據(jù)庫處于ARCHIVELOG模式蛾默;(檢查V¥DATABASE視圖的LOG_MODE):SELECT LOG_MODE FROM V¥DATABASE; |
2 |
登Primary數(shù)據(jù)庫節(jié)點1切換預(yù)備操作 |
172.16.31.231 |
oracle |
查詢會話切換狀態(tài):SQL> select count(*) from v¥session;SQL> select username, program from v¥session where username is not null;SQL> select switchover_status from v¥database;SWITCHOVER_STATUS------------------TO STANDBY |
3 |
登Primary數(shù)據(jù)庫節(jié)點1 |
172.16.31.231 |
oracle |
執(zhí)行主庫的SWITCHOVER切換操作,然后關(guān)閉數(shù)據(jù)庫咏花,啟動到NOMOUNT狀態(tài)趴生。SQL> alter database commit to switchover to physical standby with session shutdown;SQL> shutdown immediateSQL> startup nomount |
3 |
|
|
oracle |
SQL> alter database mount;SQL> select switchover_status from v¥database;SWITCHOVER_STATUS------------------TO PRIMARY |
4 |
登錄STANDBY數(shù)據(jù)庫 |
172.16.31.246 |
oracle |
SQL> select open_mode, database_role, switchover_status from v¥database;OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS---------- ---------------- ----------------MOUNTED PHYSICAL STANDBY TO PRIMARY |
4 |
|
|
oracle |
SQL> alter database commit to switchover to primary;Database altered. |
4 |
|
|
oracle |
SQL> shutdown immediate |
4 |
|
|
oracle |
SQL> startup.SQL> select open_mode, database_role, switchover_status from v¥database;OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS---------- ---------------- ----------------READ WRITE PRIMARY TO STANDBY |
5 |
登陸原Primary數(shù)據(jù)庫節(jié)點1 |
172.16.31.231 |
oracle |
SQL> alter database recover managed standby database disconnect from session; |