[Oracle][Data Guard]Oracle11g Active Data Guard#4 Snapshot standby

[Oracle][Data Guard]Oracle11g Active Data Guard#4 Snapshot standby

oracle 11g Shapshot standby可以用來測試procedure(PL/SQL)或SQL所造成的影響,這算是它存在的最大價值。

其實早在10g r2(10.2.0.4)的版本,physics standby也有相同的功能,不過操作過程很繁瑣,但來到11g後我越來越愛oracle開發團隊,

將繁瑣的轉換過程變更為一句SQL(是的!你沒看錯),也因為這樣終於讓我有花得很值得的感覺(每年繳給Oracle保護費終於有回饋了),說到這裡小弟就馬上來演練整個操作過程。

 

文章均為自己見解,如有錯誤還請指教。

請確定flashback是否開啟。

1.開啟redo apply process(等到apply完畢)

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

2.關閉redo apply process

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

3.physics standby db轉換snapshot standby db

DB需mount才能轉換

alter database convert to snapshot standby;(很簡單的一句SQL就搞定了~Cool)

轉換後DB狀態變更為nomount

image

4.shutdown immediate/startup

image

成功轉換為shapshot standby後,刪除Table資料

上為primary原有資料筆數,下為snapshot standby刪除後資料筆數

image

接下來準備將shapshot standby還原physics standb,看筆數是否會恢復為65525

轉換physics standby

alter database convert to physical standby;

Shutdown immediate/startup mount;

image

Open redo apply

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

image

確認資料是否恢復

image

資料果然恢復(一筆都沒少)。有了這功能後我想以後要模擬生產資料庫資料,用來測試SQL或procedure就不用再浪費時間在資料匯入上摟。

 

下篇小弟將演練physics standby converted to temporarily logical standby