据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 '
> RESOURCE IS 'Sales_db'
> HOSTNAME IS 'rac1prv'
> INSTANCE NAME IS 'orcl'
> SERVICE NAME IS 'orcl.primary'
> SITE IS MAINTAINED AS LOGICAL;
创建备用站点方案
DGMGRL> CREATE SITE '
> 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 '
DGMGRL>ALTER RESOURCE 'report_db' ON SITE '
DGMGRL> ALTER CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;
查看资源情况
DGMGRL> show resource verbose 'Sales_db';
查看某个节点上资源中的某一属性
DGMGRL> show resource verbose 'Sales_db' 'LogXptMode' on site '
DGMGRL> SHOW RESOURCE 'Sales_db' LogXptStatus;
查看Broker的日志
DGMGRL> show log latest on site '
查看数据库告警日志
DGMGRL> show log alert latest on site '
查看资源的各种属性
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 '
启动Data Guard环境中的某个节点
DGMGRL> ALTER RESOURCE 'report_db' ON SITE '