您好,登錄后才能下訂單哦!
SQL> SELECT PROCESS FROM V$MANAGED_STANDBY WHERE PROCESS LIKE 'MRP%';
SQL> SELECT RECOVERY_MODE FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID=2;
RECOVERY_MODE
-----------------------
MANAGED REAL TIME APPLY
如果備庫沒有處于實時應用狀態,就需要重啟實時應用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
對于臨時文件,確保主庫存在的臨時文件備庫也應存在。在初始備庫創建后,主庫新創建的臨時文件不會傳到備庫。主備庫執行以下SQL :
SQL> SELECT TMP.NAME FILENAME, BYTES, TS.NAME TABLESPACE
FROM V$TEMPFILE TMP, V$TABLESPACE TS WHERE TMP.TS#=TS.TS#;
如果查詢不匹配,需要立即修正不匹配內容。
SQL> SELECT NAME FROM V$DATAFILE WHERE STATUS='OFFLINE';
如果有數據文件處于offline 狀態,在 switchover 之前需要將數據文件 offline 。
備庫執行
SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
1 8 0 82
如果沒有返回結果,則說明不存在GAP (斷檔);如果存在結果,則說明存在 GAP 。上述結果說明, GAP 內容包含歸檔日志 sequence80,81,82 。需要主庫復制上述歸檔日志,傳輸到備庫,并且注冊在備庫,如下
SQl> ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';
step1: 清理參數和 jobs
step2: 確保主庫切換狀態正常
step3: 主庫執行 switchover
step4: 檢查備庫切換狀態正常
step5: 備庫執行 switchover
step6: 打開新主庫和備庫
step7: 新備庫實時應用日志
step8: 檢查主備庫狀態
1) 查看當前執行的JOBS
SQL> SELECT * FROM DBA_JOBS_RUNNING;
SQL> SELECT OWNER, JOB_NAME, START_DATE, END_DATE, ENABLED FROM DBA_SCHEDULER_JOBS WHERE ENABLED='TRUE' AND OWNER <> 'SYS' ;
如果有正在運行的job, 如果有必要就終止這些 job 。
2) 終止當前的job
SQL> EXECUTE DBMS_SCHEDULER.DISABLE(job_name);
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE
注:主庫的狀態應為to primary 或 session active 。如果主庫狀態為 session active ,那么在切換時需要追加 with session shutdown 選項。如果主庫是 RAC ,那么在切換前停止第二個節點。
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY WITH SESSION SHUTDOWN;
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
to primary
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;
此時,新主庫處于Mount 狀態,新備庫處于 shutdown 狀態
SQL> alter database open;
SQL> startup;
此時新備庫模式為read only ;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
SQL> select db_unique_name,open_mode,database_role,switchover_status from v$database;
---- end ----
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。