在Oracle 19C CBD Active DataGuard搭建时基本上和11G 的ADG 搭建一样,该文章不做详细说明,我主要说一下我们19C 的passwd file 文件的引起ADG 无法搭建的情况。
Oracle 密码文件我们在以前的版本中一直记的是在 $OACLE_HOME/dbs 下,但19C 我们发现 数据库的密码文件默认存放在ASM中,这样我们就需要了解数据库密码文件的管理了,例如查询当前密码文件位置,怎么创建修改,怎么设置路径等等。
在Oracle 11G 的时候,Oracle RAC的密码文件时分别保存在每个节点的本地,但在19C 中有变化,19C RAC 密码文件是存放在ASM中去管理,这样我们在搭建19C 就回发生在主库通过rman 登陆备库进行duplicate 时会报错用户名或者密码不对,这个报错实际是由于在备库的数据库找到的passwd 不是我们从主库copy来的,即将方法如下:
1)在主库上确认Oracle 使用的密码文件
select * from v$passwordfile_info;
srvctl config database -d 主库
2) 确认位置后从asm 把密码文件copy 到本地,并且scp 到备库的节点
ASMCMD> pwcopy pwd主库.256.998919277 /tmp/orapw备库
ASMCMD> exit
scp /tmp/orapw备库 备库
3)在备库把密码文件copy 到ASM 指定的文件
scp /tmp/orapw备库 备库
ASMCMD> pwcopy /tmp/orapw备库 ./
ASMCMD> exit
4)在备库的集群资源中添加数据库
srvctl modify database -d 备库 -p +DATADG/备库/PARAMETERFILE/spfile.297.985617259 ......其他参数