【DataGuard】11g 新特性:Active Data Guard

楊奇龍發表於2012-06-24
    在Oracle 11g之前,物理備庫(physical Standby)在應用redo的時候,是不可以開啟的,只可以mount。從11g開始,在應用redo的時候,物理備庫可以處於read-only模式,這就稱為Active Data Guard 。透過Active Data Guard,可以在物理備庫進行查詢或者匯出資料,從而減少對主庫的訪問和壓力。
Active Data Guard適用於一些只讀性的應用,比如,有的應用程式只是查詢資料,進行一些報表業務,不會產生redo資料,這些應用可以轉移到備庫上,避免對主庫資源的爭用。
Oracle Active Data Guard 是Oracle Database Enterprise Edition的一個功能,需要額外付費來使用這個功能。
如需啟用Active Data Guard, 只需要將備庫以 read-only 模式開啟,而且執行 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE語句就可以。需要注意的是:主庫和備庫的COMPATIBLE 引數至少要設定為11.0.0。
如果已經啟用了Active Data Guard,備庫的V$DATABASE會顯示為"READ ONLY WITH APPLY':
SQL> SELECT open_mode FROM V$DATABASE;
OPEN_MODE
--------------------
READ ONLY WITH APPLY
注意:使用Active
Data Guard要求主庫和備庫的COMPATIBLE 引數至少設定為11.0.0。
為了保證備庫資料的實時性,需要在備庫啟動real-time apply:
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;
下面的功能是允許在read-only的資料庫上執行的:
 Issue SELECT statements, including queries that require multiple sorts that leverage TEMP segments
 Use ALTER SESSION and ALTER SYSTEM statements
 Use SET ROLE
 Call stored procedures
 Use database links (dblinks) to write to remote databases
 Use stored procedures to call remote procedures via dblinks
 Use SET TRANSACTION READ ONLY for transaction level read consistency
 Issue complex queries (such as grouping SET queries and WITH CLAUSE queries)

下面的功能是不允許在read-only的資料庫上執行的:
 Any DMLs (excluding simple SELECT statements) or DDLs
 Query accessing local sequences
 DMLs to local temporary tables

比較典型的Active Data Guard 分為:
 單例項的物理主庫和單例項的物理備庫
 主庫為Oracle Real Application Clusters (Oracle RAC) ,備庫為單例項
 RAC主庫和RAC備庫

Oracle Data Guard 的配置方法,,請參考下面的文件:
單例項的物理主庫和單例項的物理備庫:
主庫為Oracle Real Application Clusters (Oracle RAC) ,備庫為單例項:
RAC 主庫和RAC 備庫:
關於Active Data Guard的最佳實踐經驗,請參考文件:
關於Oracle Maximum Availability Architecture Best Practices的更多文件,請參考:

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

相關文章