DG中主庫與備庫角色的交換
在實際的生成當中,當主庫需要對主庫進行一些修正,或者主庫遇到故障時候,主要呼叫備庫頂替主庫運用到生成當中,
因為一般情況下只能對主庫進行更改等操作(讀寫狀態),備庫是隻讀狀態。所以要運用備庫作為讀寫庫時,需要用
switchover或者failover切換主庫與備庫的狀態。failover切換一般是在主庫故障的時候,使用它把備庫切換成為主庫使用。
--主庫切換成備庫:
--檢視主庫的切換狀態:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO STANDBY
--做切換動作:
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;
Database altered.
--報錯:
SQL> select status from v$instance;
select status from v$instance
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 4673
Session ID: 1 Serial number: 5
是因為關閉了資料庫。
--用SQL> SHUTDOWN ABORT強行關庫在啟動到mount狀態:
SQL> shutdown abort;
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 679480400 bytes
Database Buffers 150994944 bytes
Redo Buffers 2371584 bytes
Database mounted.
SQL>
--檢視原主庫PROD目前的狀態:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
RECOVERY NEEDED
--檢視備庫ENMO現在的切換狀態:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
則將要切換到主庫角色。
--在原來備庫ENMO做切換到主庫的動作:
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;
Database altered.
已經切換成功。
--開啟切換後新的主庫:
SQL> ALTER DATABASE OPEN;
Database altered.
新的主庫已經開啟。
--檢視新主庫的切換狀態:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO STANDBY
--在新的備庫開啟使用用日誌功能:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
Database altered.
--在備庫檢視歸檔日誌使用情況:
SQL> select SEQUENCE#,APPLIED from v$archived_log;
SEQUENCE# APPLIED
---------- ---------
67 YES
68 YES
69 YES
70 YES
71 YES
72 YES
73 YES
74 YES
75 YES
76 YES
77 YES
--檢視新的備庫的切換狀態:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
NOT ALLOWED
--看看新備庫的資料庫狀態:
SQL> select status from v$instance;
STATUS
------------
MOUNTED
--開啟備庫:
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-10456: cannot open standby database; media recovery session may be in
progress
備庫在開啟使用歸檔日誌程式。
--在備庫操作關閉使用日誌程式:
SQL> alter database recover managed standby database cancel;
Database altered.
--再次嘗試開啟備庫:
SQL> alter database open;
Database altered.
備庫已經開啟。
備庫可以在開啟資料數之後,再開啟使用日誌功能,也可以在mount下啟用。
一般情況下是在mount狀態下啟用,在open狀態下啟用日誌,是oracle 11G的個性,生成當中oracle公司是需要收費的。
因為一般情況下只能對主庫進行更改等操作(讀寫狀態),備庫是隻讀狀態。所以要運用備庫作為讀寫庫時,需要用
switchover或者failover切換主庫與備庫的狀態。failover切換一般是在主庫故障的時候,使用它把備庫切換成為主庫使用。
--主庫切換成備庫:
--檢視主庫的切換狀態:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO STANDBY
--做切換動作:
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;
Database altered.
--報錯:
SQL> select status from v$instance;
select status from v$instance
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 4673
Session ID: 1 Serial number: 5
是因為關閉了資料庫。
--用SQL> SHUTDOWN ABORT強行關庫在啟動到mount狀態:
SQL> shutdown abort;
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 679480400 bytes
Database Buffers 150994944 bytes
Redo Buffers 2371584 bytes
Database mounted.
SQL>
--檢視原主庫PROD目前的狀態:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
RECOVERY NEEDED
--檢視備庫ENMO現在的切換狀態:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
則將要切換到主庫角色。
--在原來備庫ENMO做切換到主庫的動作:
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;
Database altered.
已經切換成功。
--開啟切換後新的主庫:
SQL> ALTER DATABASE OPEN;
Database altered.
新的主庫已經開啟。
--檢視新主庫的切換狀態:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
TO STANDBY
--在新的備庫開啟使用用日誌功能:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
Database altered.
--在備庫檢視歸檔日誌使用情況:
SQL> select SEQUENCE#,APPLIED from v$archived_log;
SEQUENCE# APPLIED
---------- ---------
67 YES
68 YES
69 YES
70 YES
71 YES
72 YES
73 YES
74 YES
75 YES
76 YES
77 YES
--檢視新的備庫的切換狀態:
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS
--------------------
NOT ALLOWED
--看看新備庫的資料庫狀態:
SQL> select status from v$instance;
STATUS
------------
MOUNTED
--開啟備庫:
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-10456: cannot open standby database; media recovery session may be in
progress
備庫在開啟使用歸檔日誌程式。
--在備庫操作關閉使用日誌程式:
SQL> alter database recover managed standby database cancel;
Database altered.
--再次嘗試開啟備庫:
SQL> alter database open;
Database altered.
備庫已經開啟。
備庫可以在開啟資料數之後,再開啟使用日誌功能,也可以在mount下啟用。
一般情況下是在mount狀態下啟用,在open狀態下啟用日誌,是oracle 11G的個性,生成當中oracle公司是需要收費的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2126842/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE DG之備庫角色Oracle
- Oracle Data Guard主庫備庫角色切換(Switchovers)Oracle
- 【DG】Data Guard主備庫Switchover切換
- 邏輯DG主備庫轉換的failoverAI
- dg主庫建立檔案備庫未同步解決方法
- 【DG】Data Guard主備庫Failove切換AI
- DG中備庫為SWITCHOVER PENDING時是否能進行主備切換
- 主庫不停做物理dg
- ora11_node_dg(4)主庫當機後,從庫升為主庫,重新搭建DG
- DG-在主庫/備庫刪除已經應用過的日誌.txt
- 備庫的切換狀態為SWITCHOVER PENDING時進行dataguard主備庫角色切換
- dg中備庫歸檔目錄滿了,導致不能接收主庫歸檔檔案
- 挽救DG中主庫的nologging操作的塊
- oracle dg 延遲120分鐘主庫同步資料到備份庫Oracle
- DG 主庫丟失歸檔
- Oracle-DG最大保護模式下,dg備庫出現問題對主庫有什麼影響?Oracle模式
- 【DG】備庫斷檔問題
- 案例:DG主庫未設定force logging導致備庫壞塊
- 主備角色switch
- snapshot standby快照備庫角色
- DG主庫發生表誤刪除後利用備庫進行恢復的方法實踐
- 【DATAGUARD】DG系列之RACtoONE物理備庫的搭建
- 主庫resetlogs對備庫的影響
- NoSQL 資料庫的主主備份SQL資料庫
- DG中模擬備庫斷檔並恢復過程
- 【DG】怎麼使用Data Pump備份物理備庫
- 【DG】備庫RMAN還原方式搭建DG(不使用duplicate命令)
- ORACLE DG從庫 Rman備份恢復Oracle
- 在DG備庫備份資料庫並恢復到一個主機上,報錯RMAN-06820資料庫
- 【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫 (四)--新增一個物理dg節點
- dg 主庫丟失歸檔 解決方案
- 10G DG最大可用模式下備庫發生故障時主庫保護級別的變化模式
- MySQL 5.7 主庫崩潰切備庫MySql
- 從大資料量主庫建立備庫大資料
- 【DG】DG備庫報ORA-28000: the account is locked的解決辦法
- Oracle10G Dataguard 多個備庫 - 主庫和物理備庫的切換Oracle
- 10g Data Guard physical standby的主備庫角色轉換測試(switchover & failover)AI
- 一個備份集同時恢出dataguard的主庫&備庫