您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何分析Oracle 10g DataGuard物理主備切換switchover與failover,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
Oracle 10g物理主庫與備庫:
switchover 切換:主庫與備庫數據同步正常情況下的切換,主要用于主備維護、切換演練等;
failover 切換:主庫與備庫在數據未同步情況下的強制切換,主要用于主庫宕機、故障情況下切換;
一、switchover 切換
主庫與備庫數據同步,且正常運行,將主庫與備庫的角色互換;
切換前,務必檢查當前主庫與備庫的歸檔是否是同步的,確認同步后再執行切換
switchover 切換主庫操作
第1步、主庫停止監聽
lsnrctl stop
(理論上是不需要停止主庫監聽的,但是實際上如果切換時數據庫繁忙,還有大量會話連接操作數據庫,在執行切換操作的時候需要等待oracle執行session shutdown,有時會很慢,這里建議直接停止監聽,停止后,還可以通過查 ps -ef | grep "LOCAL=NO",查看進行, LOCAL=NO是客戶端連接進程,并kill -9 殺掉這些沒有釋放的連接,再執行下面的切換)
第2步、主庫執行切換
主庫狀態角色確認
select switchover_status from v$database;
查詢結果分兩種情況:
第一種情況
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE
如果查詢結果是SESSIONS ACTIVE: 執行下面的:
SQL> alter database commit to switchover to physical standby with session shutdown;
第二種情況
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO STANDBY
如果查詢結果是:TO STANDBY 執行下面的:
SQL> alter database commit to switchover to physical standby;
第3步、關閉主庫
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
第4步、主庫啟動到mount狀態
SQL> startup mount
ORACLE instance started.
Total System Global Area 9646899200 bytes
Fixed Size 2087000 bytes
Variable Size 822085544 bytes
Database Buffers 8808038400 bytes
Redo Buffers 14688256 bytes
Database mounted.
第5步、 主庫確定切換后的狀態
SQL> select open_mode,database_role,switchover_status from v$database;
OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
---------- ---------------- -------------------- ------------------------------------
MOUNTED PHYSICAL STANDBY SESSIONS ACTIVE
數據庫角色變成了PHYSICAL STANDBY(物理備庫)
完成了主庫的角色轉換;
第6步、 主庫啟動監聽
lsnrctl start
switchover 切換備庫操作
備庫執行切換為主庫模式
第1步、備庫狀態角色確認
SQL> select switchover_status from v$database;
第一種情況
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
如果狀態為TO PRIMARY 則執行下面的語句:
SQL> alter database commit to switchover to primary;
第二種情況
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
---------------------------------
SESSIONS ACTIVE
如果狀態是 SESSIONS ACTIVE 則 執行下面的語句:
alter database commit to switchover to primary with session shutdown;
第2步、備庫打開
alter database open;
第3步、備庫狀態角色確認
SQL> select open_mode,database_role,switchover_status from v$database;
OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
---------- ---------------- -------------------- --------------------------------------
READ WRITE PRIMARY SESSIONS ACTIVE
第4步、原主庫啟動同步
在原主庫上執行:
alter database recover managed standby database using current logfile disconnect from session;
switchover 切換完成;
看完上述內容,你們對如何分析Oracle 10g DataGuard物理主備切換switchover與failover有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。