平时见ORACLE 19c rac + single dg的部署很多了,ORACLE em 13c 的安装也很多了,但如何把手工部署的oracle 19c rac +dg 添加到em 13c 中去,让EM13C 来实现对RAC+DG的监控,主要是DG的EM13C的监控,还没有看到,大部分都是直接由EM13C来创建的DG,当然监控没有问题,但已经创建好的DG,如何添加到EM13C中去,搜了一下,没有看到这种案例,可能正是这个原因,有人愿意有偿求实现方法,既然如此,本作开源的精神,我把步骤写下来,希望这能帮到大家:
1.环境
主库:10.16.104.1 hisDB1
10.16.104.2 hisDB2
10.16.104.3 hisDB1-VIP
10.16.104.4 hisDB2-VIP
10.16.104.5 SCANIP
db_unique_name=HISDB
DG:
10.16.104.6 DG
db_unique_name=hisdbdg
数据库版本:19.3
2.主备库增加dgmgrl 静态监听
2.1 主库需要到GRID用户下去增加监听
一号机:
[root@lisdb1~]# su - grid
[grid@lisdb1:/home/grid]$cd$ORACLE_HOME/network/admin
[grid@lisdb1:/u01/app/19.0.0/grid/network/admin]$catlistener.ora
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=HISDB_DGMGRL)
(ORACLE_HOME=/u01/app/oracle/product/19.0.0/db_1)
(SID_NAME=HISDB1)
)
。。。
)
二号机:
[root@lisdb2 ~]# su - grid
[grid@lisdb2:/home/grid]$cd $ORACLE_HOME/network/admin
[grid@lisdb2:/u01/app/19.0.0/grid/network/admin]$cat listener.ora
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=HISDB_DGMGRL)
(ORACLE_HOME=/u01/app/oracle/product/19.0.0/db_1)
(SID_NAME=HISDB2)
)
。。。
)
2.2 备库是ORACLE用户
2.3 重启监听生效
Lsnrctl stop
Lsnrctl start
3.设置 DGBROKER 参数
主备库都需要设置
主库是RAC,参数需要放在公共存储,比如ASM
默认为本地,需要在ASM存储上创建一个公共位置:
3.1 参数位置
主库修改到公共位置:
备库不修改:
3.2 启用参数
检查ASM磁盘组上,已经有新的文件
检查备库,已经有新的文件:
4. 配置BROKER
4.1 登录主库
4.2 新增BROKER配置
4.3 添加备库
报错,主要原因是19C,不能事先配置LOG_ARCHIVE_DEST_2,去掉主库的配置即可成功
4.4 启用配置
检查主库配置,默认已经增加LOG_ARCHIVE_DEST_2的配置
4.5 检查配置状态
发现报错ORA-16664 错误
检查备库报警日志
发现到HISDB1-VIP 拒绝,正常应该是到HISDB SCANIP 才对
检查备库的HISDB连接串,确实写错了
调整备库的HISDB的网络服务别名:
调整后,问题解决:
到此,问题解决。
5.验证EM13C上监控
菜单--> 可用性-->管理DATAGUARD ,即可看到被管理的DG 如下: