oracle10g :物理備庫也可以read/write
2024-08-29 13:34:21
供稿:網(wǎng)友
 
                 從Oracle10g開始,physical standby也可以臨時的置于read/write狀態(tài),以便用于開發(fā),測試以及做報表等,然后再通過Flashback到先前的時間點,繼續(xù)應用主庫的歸檔。
下面通過一個實驗演示整個過程:
1.設置閃回恢復區(qū)
                                                                                            SQL> alter system set db_recovery_file_dest_size=2G;
系統(tǒng)已更改。
SQL> alter system set db_recovery_file_dest='e:/oracle/back';
系統(tǒng)已更改。
2.取消備庫的自動恢復狀態(tài)
SQL> alter database recover managed standby database cancel;
數(shù)據(jù)庫已更改。
3.創(chuàng)建一個還原點
SQL> create restore point restore_point_test guarantee flashback database;
還原點已創(chuàng)建。
4.在主庫歸檔當前日志,確保前一步創(chuàng)建還原點的scn的歸檔日志已經(jīng)傳到備庫
SQL> alter system archive log current;
系統(tǒng)已更改。
5.將主庫到備庫的歸檔目的地的狀態(tài)設置為defer
SQL> alter system set log_archive_dest_state_2=defer;
系統(tǒng)已更改。
6.激活備庫到read/write狀態(tài)
SQL> alter database activate standby database;
數(shù)據(jù)庫已更改。
SQL> alter database open;
數(shù)據(jù)庫已更改。
7.此時可以在備庫執(zhí)行需要的讀寫操作
SQL> create table t1 as select * from all_objects where rownum<101;
表已創(chuàng)建。
SQL> drop table t1;
表已刪除。
8.將數(shù)據(jù)庫flashback回原來保存的還原點
SQL> startup mount force;
ORACLE 例程已經(jīng)啟動。
Total System Global Area 142606336 bytes
Fixed Size 1247732 bytes
Variable Size 83887628 bytes
Database Buffers 50331648 bytes
Redo Buffers 7139328 bytes
數(shù)據(jù)庫裝載完畢。
SQL> flashback database to restore point restore_point_test;
閃回完成。
9.轉(zhuǎn)換成備庫
SQL> alter database convert to physical standby;
數(shù)據(jù)庫已更改。
10.將備庫至于自動恢復狀態(tài)
SQL> startup mount force;
ORACLE 例程已經(jīng)啟動。
Total System Global Area 142606336 bytes
Fixed Size 1247732 bytes
Variable Size 83887628 bytes
Database Buffers 50331648 bytes
Redo Buffers 7139328 bytes
數(shù)據(jù)庫裝載完畢。
SQL> alter database recover managed standby database disconnect from session;
數(shù)據(jù)庫已更改。
11.將主庫到備庫的歸檔目的地的狀態(tài)設置為enable
SQL> alter system set log_archive_dest_state_2=enable;
系統(tǒng)已更改。
12.檢查主備庫,狀態(tài)正常
主庫檢查歸檔目的狀態(tài)
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行。
備庫檢查相關(guān)進程
SQL> select PRocess,status from v$managed_standby;
PROCESS STATUS
------------------ ------------------------
ARCH CONNECTED
ARCH CONNECTED
MRP0 WAIT_FOR_LOG
RFS IDLE                          right">(出處:清風軟件下載學院)