Oracle 数据库A中表a的数据如何“实时”更新到数据库B中表b中??
Oracle数据库A中表a的数据会不定时改变数据库B中表b的数据又是从表a中获取的表a数据改变表b数据就要跟着实时更新用什么方法??...
Oracle 数据库A中表a的数据会不定时改变 数据库B中表b的数据又是从表a中获取的 表a数据改变表b数据就要跟着实时更新 用什么方法??
展开
1个回答
展开全部
这个其实最好是做stream,这样可以保证同步更新。但是如果为了一张表做stream看起来又有些不那么值当。
dblink无法远程提交,我只能勉强提出一个方案供参考。
首先数据库AB间互相建立dblink;也就是两个dblink(A到B,B到A)
另外A数据库连接B数据库,所用的B数据库的用户是一个特殊的用户,除了这个dblink以外,其他的地方根本用不到的。
B到A的触发器则只需要读取权限就可以了。
在数据库A上建立触发器,after insert后触发,触发的内容是利用dblink登陆B数据库,登陆后随便查询个什么,都可以然后退出登陆。(直接退出也可以,主要是怕数据库记录不到登陆,登陆触发器有时似乎不那么好用,如果实在不好用可以在这个特殊用户 建立一张表,然后每次登陆都drop这张表,用drop触发器,这个没问题)
B数据库建立一个登陆触发器(或drop触发器),只要那个特殊用户登陆,那么就启动,就是查询A数据库的表a,然后更新表b,然后提交。如果是drop或create触发器,别忘了再重新create和drop,不然表会越来越多或者无表drop。
dblink无法远程提交,我只能勉强提出一个方案供参考。
首先数据库AB间互相建立dblink;也就是两个dblink(A到B,B到A)
另外A数据库连接B数据库,所用的B数据库的用户是一个特殊的用户,除了这个dblink以外,其他的地方根本用不到的。
B到A的触发器则只需要读取权限就可以了。
在数据库A上建立触发器,after insert后触发,触发的内容是利用dblink登陆B数据库,登陆后随便查询个什么,都可以然后退出登陆。(直接退出也可以,主要是怕数据库记录不到登陆,登陆触发器有时似乎不那么好用,如果实在不好用可以在这个特殊用户 建立一张表,然后每次登陆都drop这张表,用drop触发器,这个没问题)
B数据库建立一个登陆触发器(或drop触发器),只要那个特殊用户登陆,那么就启动,就是查询A数据库的表a,然后更新表b,然后提交。如果是drop或create触发器,别忘了再重新create和drop,不然表会越来越多或者无表drop。
今至电子科技有限公司
2024-08-23 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询