据Oracle声称,通过9i中新的Data Guard Broker可以简单地配置Data Guard环境以及对整个环境进行监控和错误排查。
?
于是按照文档测试了一下,整体感觉还不错。只是文档中有些说是自动进行的动作,比如修改了Data Guard环境的数据保护模式,Broker将自动修改数据库的数据保护模式并重新启动数据库,但是实际上并没有这样,仍需要手动修改数据库。
?
基本配置步骤如下:
在所有站点上将BROKER启动。
SQL> ALTER SYSTEM SET DG_BROKER_START=TRUE SCOPE=BOTH;
SQL> SHOW PARAMETER DG_BROKER_START
------------------------------------?
dg_broker_start??? boolean?? TRUE
连接Data Guard Manager,必须使用具有sysdba权限的用户连接
>dgmgrl
DGMGRL> connect sys/dba
?
创建配置方案
DGMGRL> CREATE CONFIGURATION 'Sales' AS
> PRIMARY SITE IS ' Boston '
> RESOURCE IS 'Sales_db'
> HOSTNAME IS 'rac1prv'
> INSTANCE NAME IS 'orcl'
> SERVICE NAME IS 'orcl.primary'
> SITE IS MAINTAINED AS LOGICAL;
?
创建备用站点方案
DGMGRL> CREATE SITE ' Beijing '
> RESOURCE IS 'report_db'
> HOSTNAME IS 'rac2prv'
> INSTANCE NAME IS 'orcl'
> SERVICE NAME IS 'orcl.standby'
> SITE IS MAINTAINED AS LOGICAL;
?
激活配置方案
DGMGRL> ENABLE CONFIGURATION;
?
激活资源
DGMGRL> ENABLE RESOURCE 'Sales_db';
?
资源的日志传送模式必须和Primary库的数据保护模式相匹配,比如数据保护模式是maximize availability,那么需要配置资源的LogXptMode属性为SYNC方式。
DGMGRL>ALTER RESOURCE 'Sales_db' ON SITE ' Boston ' SET PROPERTY LogXptMode=SYNC;
?
DGMGRL>ALTER RESOURCE 'report_db' ON SITE ' Beijing ' SET PROPERTY LogXptMode=SYNC;
?
DGMGRL> ALTER CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;
?
查看资源情况
DGMGRL> show resource verbose 'Sales_db';
?
查看某个节点上资源中的某一属性
DGMGRL> show resource verbose 'Sales_db' 'LogXptMode' on site ' Boston ';
?
DGMGRL> SHOW RESOURCE 'Sales_db' LogXptStatus;
?
查看Broker的日志
DGMGRL> show log latest on site ' Boston ';
?
查看数据库告警日志
DGMGRL> show log alert latest on site ' Boston ';
?
查看资源的各种属性
DGMGRL> SHOW RESOURCE 'Sales_db' SendQEntries;
?
DGMGRL> SHOW RESOURCE 'report_db' SbyLogQueue;
?
DGMGRL> show resource verbose 'Sales_db' InconsistentLogXptProps;
?
停止Data Guard环境中的某个节点
DGMGRL> ALTER RESOURCE 'report_db' ON SITE ' Beijing ' SET STATE ='offline';
启动Data Guard环境中的某个节点
DGMGRL> ALTER RESOURCE 'report_db' ON SITE ' Beijing ' SET STATE ='LOGICAL-APPLY-ON';
?