Data Guard物理備庫read/write後,切換回備庫狀態

atlantisholic發表於2012-06-12

從Oracle10g開始,physical standby也可以臨時的置於read/write狀態,以便用於開發,測試以及做報表等,然後再通過flashback到先前的時間點,繼續應用主庫的歸檔。


下面通過一個實驗演示整個過程:

1.設定閃回恢復區
SQL> alter system set db_recovery_file_dest_size=2G;

系統已更改。

SQL> alter system set db_recovery_file_dest='e:/oracle/back';

系統已更改。

2.取消備庫的自動恢復狀態
SQL> alter database recover managed standby database cancel;

資料庫已更改。

3.建立一個還原點
SQL> create restore point restore_point_test guarantee flashback database;

還原點已建立。

4.在主庫歸檔當前日誌,確保前一步建立還原點的scn的歸檔日誌已經傳到備庫
SQL> alter system archive log current;

系統已更改。

5.將主庫到備庫的歸檔目的地的狀態設定為defer
SQL> alter system set log_archive_dest_state_2=defer;

系統已更改。

6.啟用備庫到read/write狀態
SQL> alter database activate standby database;

資料庫已更改。

SQL> alter database open;

資料庫已更改。

7.此時可以在備庫執行需要的讀寫操作
SQL> create table t1 as select * from all_objects where rownum<101;

表已建立。

SQL> drop table t1;

表已刪除。

8.將資料庫flashback回原來儲存的還原點
SQL> startup mount force;
ORACLE 例程已經啟動。

Total System Global Area 142606336 bytes
Fixed Size 1247732 bytes
Variable Size 83887628 bytes
Database Buffers 50331648 bytes
Redo Buffers 7139328 bytes
資料庫裝載完畢。

SQL> flashback database to restore point restore_point_test;

閃回完成。

9.轉換成備庫
SQL> alter database convert to physical standby;

資料庫已更改。

10.將備庫至於自動恢復狀態
SQL> startup mount force;
ORACLE 例程已經啟動。

Total System Global Area 142606336 bytes
Fixed Size 1247732 bytes
Variable Size 83887628 bytes
Database Buffers 50331648 bytes
Redo Buffers 7139328 bytes
資料庫裝載完畢。


SQL> alter database recover managed standby database disconnect from session;

資料庫已更改。

11.將主庫到備庫的歸檔目的地的狀態設定為enable
SQL> alter system set log_archive_dest_state_2=enable;

系統已更改。

12.檢查主備庫,狀態正常

主庫檢查歸檔目的狀態
SQL> select dest_name,status from v$archive_dest;

DEST_NAME STATUS
------------------------------ ------------------
LOG_ARCHIVE_DEST_1 VALID
LOG_ARCHIVE_DEST_2 VALID
LOG_ARCHIVE_DEST_3 INACTIVE
LOG_ARCHIVE_DEST_4 INACTIVE
LOG_ARCHIVE_DEST_5 INACTIVE
LOG_ARCHIVE_DEST_6 INACTIVE
LOG_ARCHIVE_DEST_7 INACTIVE
LOG_ARCHIVE_DEST_8 INACTIVE
LOG_ARCHIVE_DEST_9 INACTIVE
LOG_ARCHIVE_DEST_10 INACTIVE

已選擇10行。

備庫檢查相關程式
SQL> select process,status from v$managed_standby;

PROCESS STATUS
------------------ ------------------------
ARCH CONNECTED
ARCH CONNECTED
MRP0 WAIT_FOR_LOG
RFS IDLE

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23071790/viewspace-732529/,如需轉載,請註明出處,否則將追究法律責任。

相關文章