要实现用dgmgrl管理dataguard,须应定义db_unique_name参数,因而主备数据库从db_unique_name角度来说是不一致的。在主备数据库之间进行了switchover或failover后,如何做到不修改客户端的tns配置就能使客户机正常访问数据库,而无论当前应用的是主数据库还是备数据库。经测试,单纯添加IPADDRESS选项不能解决问题,估计是大多数情况下,执行切换后,主备数据库的lsnrctl服务都是完好的,而且数据库至少都处于mount状态的原因。试验了几种方式均未成功。后来发现DESCRIPTION配置可以写多项,一试,果然成功!以下是一个客户瑞tns的配置:[@more@]DFDZ_TEST=
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.108.44)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID=orcl)
(SERVICE_NAME =stadb)
)
)
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.108.12)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID=orcl)
(SERVICE_NAME =pridb)
)
)
)
其中主数据库为192.168.108.12,db_unique_name为pridb,备用数据库为192.168.108.44,db_unique_name为stadb。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/786540/viewspace-1003480/
,如需转载,请注明出处,否则将追究法律责任。