天天看點

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

  在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 的配置方法,,請參考下面的文檔:

單執行個體的實體主庫和單執行個體的實體備庫:

http://docs.oracle.com/cd/B28359_01/server.111/b28294/create_ps.htm

主庫為Oracle Real Application Clusters (Oracle RAC) ,備庫為單執行個體:

http://www.oracle.com/technetwork/database/features/availability/maa-wp-10g-racprimarysingleinstance-131970.pdf

RAC 主庫和RAC 備庫:

http://www.oracle.com/technetwork/database/features/availability/maa-wp-10g-racprimaryracphysicalsta-131940.pdf

關于Active Data Guard的最佳實踐經驗,請參考文檔:

http://www.oracle.com/technetwork/database/features/availability/maa-wp-11gr1-activedataguard-1-128199.pdf

關于Oracle Maximum Availability Architecture Best Practices的更多文檔,請參考:

http://www.oracle.com/goto/maa