1:网络环境如果是在两个WAN网,又在各自的防火墙里面,在用ping -t的测试的时候要不能经常丢包
2:查服务是否正常dba_capture,dba_propagation,dba_apply
3:检查正在进行的同步的数据
在源数据库这边:查正在处理的流的事务:v$streams_transaction ,如果这个表没有记录那说没有正在进行的事务,如果有记录,那么字段CUMULATIVE_MESSAGE_COUNT ,FIRST_MESSAGE_TIME 的值都会变化
在目标数据库这边:查正在处理的流的事务:
视图v$streams_apply_reader 的字段DEQUEUED_MESSAGE_CREATE_TIME会慢慢增加, 视图v$streams_apply_server中的字段APPLIED_MESSAGE_CREATE_TIME也会增加
4:stream服务对于网络状况并不敏感,如两个数据库不同的网络之间如果经常丢包,如每发20个包丢失一个包的情况下,实际的数据同步是不成功的,可是caputre,propagation还是处在正常的状态,这样查问题非常不好查。因此如果网络有不可确定性的因素的话,在没有修改任何配置的前提下,如果同步出现了问题,优先做的就是网络的测试。当两边的网络连接不上的时候,在capture那边会显示类同于connecting apply server这样的信息
5:一但出现长时间的网络连接不上,不懂用什么方法才能让stream恢复正常,我试着重启过apply,capture,propagation,可是一直没有正常恢复。只好重启了源数据库才能正常,如果只重启目标数据库,这个streams服务的数据同步的恢复工作也是不成功的。
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/67798/viewspace-1019368/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/67798/viewspace-1019368/