Oracle11g ActiveDataGuard


 在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。  


 如下:在备库执行:  
  SQL>startup mount;
  SQL>alter database open read only;
  SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
 如果已经启用了Active Data Guard,备库的V$DATABASE会显示为"READ ONLY WITH APPLY':
     SQL> SELECT open_mode FROM V$DATABASE;
     OPEN_MODE
     --------------------
     READ ONLY WITH APPLY
 注意:使用ActiveData 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备库
新特性官方链接:http://www.oracle.com/technetwork/cn/database/twp-dataguard-11gr1-1-129524-zhs.pdf

你可能感兴趣的:(Active)