日期:2014-05-17  浏览次数:20901 次

oracle数据库通过dblink同步数据问题
背景:
有两个数据库A和B需要交换数据,在数据库A中建立dblink到数据库B,并在数据库A中建立数个procedure(用于同步数据),在unix下使用shell脚步定时调用procedure。
网络环境:数据库B是外单位的,与数据库A所在的网络使用专线连接

问题:
因为数据库B是外单位的,如对方停机维护或者是数据库发生宕机,是否会导致数据库A出现不可预知的问题,如死锁、进程halt住?


------解决方案--------------------
分布式事务,对于事务失败,你不用操太多心,ORACLE会维护。


不过A库的存储过程也不能完全不作为,在过程里添加异常处理,一旦遇到异常,马上rollback,结束运行。
------解决方案--------------------
详细的关于分布式事务的说明