Oracle database DataGuard 平常維護(二)主備切換


開啓備庫恢復:數據庫

數據庫啓動時,先啓動備庫,在啓動主庫
數據庫關閉時,先關閉主庫,在關閉備庫
SYS@ prodstd>recover managed standbydatabase disconnect from session; --只要啓動備庫就使能recover功能
SYS@ prod>select max(sequence#) from v$archived_log;複製代碼

服務器、數據庫環境:bash

主庫服務器hostname:prod1        備庫服務器hostname:prod2
主庫數據庫SID:prod              備庫數據庫SID:prodstd複製代碼

切換備庫前準備,查看主庫備庫狀態:服務器

SYS@ prod>select tablespace_name,file_name from dba_data_files;
SYS@ prod>select max(sequence#) from v$archived_log; --對比主備庫日誌,同步才能作下一步
SYS@ prod>select username,sid from v$session where username is not null;  --切換時要停庫,最好沒有其餘session連接
SYS@ prod>select name,open_mode,database_role,protection_mode,switchover_status from v$database;
NAME     OPEN_MODE      DATABASE_ROLE    PROTECTION_MODE        SWITCHOVER_STATUS
--------- -------------------- ------------------------------------ --------------------
PROD      READ WRITE     PRIMARY            MAXIMUM PERFORMANCE  TO STANDBY
SYS@ prodstd>select name,database_role,protection_mode,switchover_status from v$database;
NAME      DATABASE_ROLE      PROTECTION_MODE          SWITCHOVER_STATUS
--------- ---------------- ----------------------------------------
PROD      PHYSICAL STANDBY    MAXIMUM PERFORMANCE   NOT ALLOWED複製代碼

主備切換步驟:session

主庫操做:
SYS@ prod>alter database commit to switchover to standby;   沒有其餘用戶登陸
或
SYS@ prod>alter database commit to switchover to standby with session shutdown;   有用戶登陸,強制切換

SYS@ prod>shutdown --完全關閉數據庫SYS@ prod>startup mount --先啓動到mount下
SYS@ prod>select name,open_mode,database_role,protection_mode,switchover_status from v$database;
NAME      OPEN_MODE            DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS
--------- -------------------- ------------------------------------ --------------------
PROD      MOUNTED              PHYSICAL STANDBY MAXIMUM PERFORMANCE  TO PRIMARY
備庫操做:SYS@ prodstd>select name,open_mode,database_role,protection_mode,switchover_status from v$database;
NAME      OPEN_MODE            DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS
--------- -------------------- ---------------- -------------------- --------------------
PROD      READ ONLY            PHYSICAL STANDBY MAXIMUM PERFORMANCE  TO PRIMARY
SYS@ prodstd>alter database commit to switchover to primary; --備庫爲主庫
SYS@ prodstd>select name,open_mode,database_role,protection_mode,switchover_status from v$database;
NAME      OPEN_MODE            DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS
--------- -------------------- ---------------- -------------------- --------------------
PROD      MOUNTED              PRIMARY          MAXIMUM PERFORMANCE  NOT ALLOWED
SYS@ prodstd>alter database open;  --開啓備庫,此時備庫已經成爲主庫複製代碼

主庫操做:
SYS@ prod>alter database open;SYS@ prod>select name,database_role,protection_mode,switchover_status from v$database;
NAME      DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS
--------- ---------------- -------------------- --------------------
PROD      PHYSICAL STANDBY MAXIMUM PERFORMANCE  RECOVERY NEEDED
SYS@ prod>recover managed standby database disconnect from session;  --原主庫(當前備庫)開啓恢復。
SYS@ prod>select name,database_role,protection_mode,switchover_status from v$database;
NAME      DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS
--------- ---------------- -------------------- --------------------
PROD      PHYSICAL STANDBY MAXIMUM PERFORMANCE  NOT ALLOWED複製代碼

主備切換成功ui

相關文章
相關標籤/搜索