1. 程式人生 > >Snapshot Standby

Snapshot Standby

hba fail 異常 數據庫 工程 str data sql read

INTRODUCTION

Snapshot standby database是ORACLE 11g的新特性。允許Physical standby短時間的使用read write模式。

Snapshot standby是由Physical standby 全新轉換而來,可以獨立於primary 處理事務,同時能夠不斷地從primary接受redo data,歸檔redo data以備後用維護保護。

Snapshot Standby Database的特性:

(1) Snapshot standby接收並歸檔redo data,但不應用redo data。

(2) Snapshot standby轉換回physical standby後,開始應用之前接收並歸檔的redo data.

(3) 主庫傳輸過來的redo data一直被歸檔存放起來。

(4) 轉換回physical standby後,所有的本地更新操作將會被丟棄。

(5) 如果primary移動到新的DB分支(如flashback database,open resetlogs),snapshot standby database會從新的DB分支繼續接受redo data.

(6) Snapshot standby不能作為switchover或者failover的目標庫。Snapshot standby必須轉換回Physical standby才能執行角色轉換。

(7) DG配置中的一個Standby發生switchover或者failover角色轉換為primary後,Snapshot standby可以接受角色轉換後的新的primary database 的redo data.

(8) Snapshot standby不能為最大保護模式的DG配置中唯一的standby.

註意:一旦snapshot standby被激活的時間超出了primary 的最大負載時間,再次的本地更新操作將會產生額外的異常。

轉換物理備庫為快照備庫

1.打開physical standby閃回區

SQL> alter system set db_recovery_file_dest_size=1G;

SQL> alter system set db_recovery_file_dest=‘/oradata/snapshot‘;

2.停止活動狀態的日誌應用

SQL> recover managed standby database cancel;

3.啟動數據庫到mount節點

SQL> shutdown immediate;

SQL> startup mount;

4.裝換physical standby為snapshot standby

SQL> alter database convert to snapshot standby;

5.打開數據庫

如果在轉換的工程中,物理備庫被dismount,則重啟物理備庫。

SQL> alter database open;

SQL> select open_mode,database_role from v$database;

OPEN_MODE DATABASE_ROLE

-------------------- ----------------

READ WRITE SNAPSHOT STANDBY

轉換快照備庫為物理備庫

1.打開數據庫至mount狀態

SQL> shutdown immediate

SQL> startup mount;

2.轉換snapshot standby為physical standby

SQL> alter database convert to physical standby;

3.restart數據庫,開啟日誌應用

SQL> shutdown immediate

SQL> startup mount;

SQL> alter database open read only;

SQL> select open_mode,database_role from v$database;

OPEN_MODE DATABASE_ROLE

-------------------- ----------------

READ ONLY PHYSICAL STANDBY

4.開啟日誌應用

SQL> recover managed standby database using current logfile disconnect;

Snapshot Standby