ITPub博客

首页 > 数据库 > Oracle > 由于域名解析引起的dataguard传输日志故障

由于域名解析引起的dataguard传输日志故障

原创 Oracle 作者:SnowDBA 时间:2015-09-25 15:00:04 0 删除 编辑
环境描述:
主库2节点RAC,备库也是2节点RAC。数据库版本为Oracle10.2.0.4.8。保护模式为最大性能。

现象:
主库切换归档日志后备库接收不稳定,有时候能立刻收到有时候需要好久。在备库的v$archived_log视图中applied列看到很多NO,也就是还没有应用的日志。

问题原因:
在本次案例中问题出在了域名解析上。如果备库只启动一个节点到mount状态并执行应用日志是没有问题的,当另一个节点也启动到mount状态时就出现日志接收问题了。仔细观察备库tnsnames文件发现每个节点相对应的LISTENER_BDBSTn中在HOST部分都使用了域名。这些域名并没有出现在/etc/hosts中,显然也没有出现在DNS解析中。 DBA没有root权限,不能在/etc/hosts中添加域名也不能在DNS中注册,当务之急能做的就是把域名换成IP。然后在local_listener中显示声明。

分别在每个节点的在tnsnames.ora添加
LISTENER_BDBST1 = (ADDRESS = (PROTOCOL = TCP)(HOST=10.5.210.11)(PORT=1522))
LISTENER_BDBST2 = (ADDRESS = (PROTOCOL = TCP)(HOST=10.5.210.13)(PORT=1522))

在sqlplus中为每个节点显示声明,该操作在一个实例上操作就可以,注意指明sid
SQL> alter system set local_listener='LISTENER_BDBST1' sid='BDBST1';
SQL> alter system set local_listener='LISTENER_BDBST2' sid='BDBST2';
SQL> alter system register;

show parameter local
local_listener     string     LISTENER_BDBST1

show parameter local
local_listener     string     LISTENER_BDBST2

经过上述调整,故障排除。主库日志切换后可以顺利的传送到备库。

另外防止主库在备份时候使用delete all input删除还没有传递到备库的归档日志,可以在RMAN中添加一个策略。
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY to shipped to all standby;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29047826/viewspace-1809184/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-06-21

  • 博文量
    223
  • 访问量
    1633584