前言
Dgmgrl表示Data Guard Manager Command Line Interface,用来管理维护Dataguard,而且该命令系统自带不需要额外安装,命令简单易上手,容易学习,比sqlplus用来更加简单一些.
本文参考了如下几篇文档:
https://community.oracle.com/docs/DOC-1007327
配置
注:本文的配置是基于我的另一篇文章Oracle11g-dataguard配置搭建出来的dg环境进行的配置
配置监听
主备库都需要配置监听,需添加如下监听内容
主库(srmcloud):
|
|
其中
|
|
为新添加的代码,GLOBAL_DBNAME一定要以dgmgrl
结尾,备库一样,修改为如下内容
备库(srmclouddg):
|
|
注:添加完成后,重启主备库的监听
配置DG Broker multiplexed configuration files
如下操作在主备库都需要执行
|
|
start the Broker
如下操作在主备库都需要执行
|
|
这时可以查看后台启动了一个dmon进程
|
|
配置Broker Configuration
|
|
注:
- 其中identifier后面的内容是tns中配置的tnsname
- 有文章说在oracle12c中,由于配置了LOG_ARCHIVE_DEST_n的参数,导致报如下错误,Error: ORA-16698: LOG_ARCHIVE_DEST_n parameter set for object to be added,这种问题在11g中不会出现,至于12c是否真的会出现,可自行测试,解决办法就是将LOG_ARCHIVE_DEST_n参数置为空,等配置好之后再改回去。
Add the standby to the configuration
|
|
Enable that Configuration.
|
|
验证
验证切换
|
|
验证手动关闭,并启动备机,自动启用日志应用
之前需要手动启动日志应用才可以。
这里使用的是上一步切换过的主备库,主库为srmclouddg,备库为srmcloud
备库:
|
|
主库:
|
|
备库:
|
|
主库:
|
|
可以看出,自动启用了日志应用,不需要在sqlplus中输入alter database recover managed standby database …类似的语句,并且备库自动启动为PHYSICAL STANDBY
的角色,不需要手动指定,OPEN_MODE自动为READ ONLY WITH APPLY
模式,也不需要手动指定