標籤:style blog http io color ar 使用 sp for
DG之主庫、備庫切換
一.開庫與關庫順序
|
開庫順序 |
先啟備庫,再啟主庫(啟動監聽、開啟警示日誌) |
|
關庫順序 |
先關主庫,再關備庫 |
二.主備庫切換1、操作過程一覽步驟1:啟動備庫、監聽、警示;步驟2:啟動主庫、監聽、警示;步驟3:主庫(bj)查詢資訊
SQL>selectname,dbid,database_role,protection_mode from v$database;
步驟4:備庫(sh)上做recover
SQL>recovermanaged standby database disconnect from session;
步驟5:備庫上插入資料
SQL>insert into scott.emp1 select * from scott.emp;
報錯
儘管備庫處於open狀態,但它是一個read-only狀態。
步驟6:查看主庫(bj)、備庫(sh)日誌是否一致
SQL>selectmax(sequence#) from v$archived_log where name is not null;
或SQL>selectmax(sequence#) from v$archived_log;
舉例:
主庫:
備庫:
表明已經歸檔的最大序號均為34,說明日誌是同步的,能夠進行主備庫切換。
步驟7:主庫(bj)下檢查能否夠切換
SQL>selectname,database_role,protection_mode,switchover_status from v$database;
switchover_status顯示“TO STANDBY”表示同意做切換。
步驟8:備庫(sh)下檢查能否夠切換
SQL>selectname,database_role,protection_mode,switchover_status from v$database;
說明:備庫是不同意主動去切成主庫的,NOT ALLOWED狀態說明正常。
步驟9:檢查主庫(bj)上的會話
SQL>select username,sid from v$session where username is notnull;
查看是否仍實使用者使用資料庫,若仍有人使用,是不同意切換的,切換前要通知確保無使用者使用。
步驟10:主庫(bj)變為物理備庫(sh)
若沒有會話,將主庫(bj)變為物理備庫(sh)
SQL> ALTER DATABASECOMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
若有會話的話,關閉會話,將主庫(bj)變為物理備庫(sh)
SQL> alter database commit to switchover to physical standby withsession shutdown;
步驟11:關閉、重新啟動之前的主庫(bj)到mount狀態
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> selectswitchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
註:在這個時候,兩個資料庫都應該處於備庫狀態。
步驟12:查證備庫的轉換狀態
SQL> SELECTSWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
-----------------
TO_PRIMARY ——能夠轉換為主庫,說明是備庫狀態
步驟13:將目標物理備庫(sh)轉換為主庫
SQL> ALTER DATABASECOMMIT TO SWITCHOVER TO PRIMARY(WITHSESSION SHUTDOWN);
步驟14:完畢備庫(sh)到主庫轉換,物理備庫啟動到open
若物理備庫(bj)在近期一次啟動時不是處於僅僅讀模式 opened in read-only mode,直接將資料庫開啟,然後下一步。
SQL> select status fromv$instance;
STATUS
------------
MOUNTED
SQL> ALTER DATABASE OPEN;
SQL> select switchover_statusfrom v$database;
SWITCHOVER_STATUS
--------------------
TO STANDBY
若物理備庫(bj)在近期一次啟動時是僅僅讀模式,則先將資料庫正常關閉再起庫。
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;
步驟15:在新備庫(bj)上又一次開啟日誌應用
SQL> ALTER DATABASERECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
步驟16:在新的主庫(sh)上切換日誌,開始資料轉送給備庫
SQL> ALTER SYSTEM SWITCHLOGFILE;
SQL> /
SQL> select max(sequence#)from v$archived_log;
MAX(SEQUENCE#)
--------------
56
SQL> col name for a50;
SQL> select NAME ,SEQUENCE# from v$archived_log; 查看歸檔日誌
步驟17:在備庫(bj)上查看歸檔,兩值相等說明備庫能收到日誌
SQL> select max(sequence#)from v$archived_log;
MAX(SEQUENCE#)
--------------
56
SQL> col name for a50;
SQL> select NAME ,SEQUENCE# from v$archived_log; 查看歸檔日誌
2、總結主備庫切換重點
|
時
間
軸
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
↓
|
主庫 |
備庫 |
|
查詢是否能切換(應該顯示同意) |
|
|
|
備庫查詢是否能切換(應該顯示不同意) |
|
切換為物理備庫 |
|
|
切換到mount狀態 |
|
|
|
查看備庫轉換狀態 |
|
|
轉換為主庫 |
|
|
切換到mount狀態 |
|
啟動到open |
|
|
|
|
|
|
啟動到open狀態 |
|
開啟日誌應用 |
|
|
|
切換日誌 |
|
|
查看歸檔序號 |
|
查看歸檔序號 |
|
|
查詢狀態:備庫 |
查詢狀態:主庫 |
***********************************************聲明************************************************
原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明出處(http://blog.csdn.net/huangyanlong)。
表述有錯誤之處,請您留言,不勝感激。
提醒:點擊檔案夾,更有助於您的查看。
*****************************************************************************************************
DG之主庫、備庫切換(物理備庫)