在线QQ呼叫: 1922638
专业的SQL Server、MySQL数据库同步软件
Unsplash
一个。 前言
此问题是上一篇文章“Oracle一次同步整个数据库中指定的表中的数据”中所述问题的进一步扩展,考虑到对数据实时性的要求比较高,设定为定时同步有点不合适,也就是说,实际上
严格地说,以下描述的方法不能实现实时同步。 从Oracle数据库创建同义词DBlink以建立远程映射。 查看数据时,直接查询源数据库中的表。
而且,我关注数据的同步方法,但我不认为可以建立映射。 此外,还必须说明,如果不执行添加、删除或修改操作,则仅在查询操作时同步目标数据库中的表也是解决使用同义词问题的关键。
该解决方案的出现是因为网民在CSDN问答过程中热情地回答。 以下是问题的详细说明。
两个。 问题的说明
有两个位于不同服务器上的Oracle数据库,系统为Windows2003。
目前称为主数据库和从数据库:
(1)主数据库:oracle_A;
)2)从数据库中提取:oracle_B;
oracle_A中的表table_A和oracle_B中的表_B的结构相同。
我是oracle_B,将oracle_A数据库分配给有权访问只具有查询权限的oracle_A表table_A的用户。
另外,oracle_B只需要查询table_B表,不需要添加、删除或修改。
场景结束。 我的问题是如何在oracle_A的table_A更改时将实时更新同步到oracle_B的table_B?
我原来的处理方法:
可以通过建立到DBLink JOB计划任务存储过程的远程连接来更新计划同步,但不能实时同步。
三。 要使用同义词DB_Link方法的结果
也可以使用同义词来解决这个问题的原因。 主要理由是问题的说明中记载的这一点。 也就是说,只需对同步表执行查询。 这是使用同义词的重要因素。
以下是整个实验测试过程的详细模拟:
(1)首先,创建仅在Oracle_A侧的table_A上具有查询功能的用户
)2)验证用户是否成功登录并可以访问认证表
注意:查询表时,请务必带上用户名,并指出该表下有哪些用户。
(3)创建远程连接DB_Link
)4)在Oracle_B端创建同义词
注意:
如果BLOB字段包含在远程查询数据库中,则会报告以下错误:
**从** ORA-22992:远程表中选择的LOB定位器不可用**
之所以发生此错误,是因为数据库间连接查询的表中有BLOB类型字段。 请注意,所有表都有BLOB类型字段。
无法连接的桌子
中选择*
Blob类型的字段不能显示在脚本中。
如果需要导入这些blob类型字段,可以首先创建临时表,然后插入本地表,如下所示: 在pl/sql中运行
第一步是创建临时表
创建全局临时表foo(xblob )
提交时删除行;
步骤2插入本地表
插入foo,从remoteTable @ dl_remote到blobcolumn;
四。 学习经验
)1)提问时,必须具备以下三个要点:
a .简洁b .全面c .系统
这三点实际上是离线共享活动的一部分,该活动今晚加入了告别小组,分手人进行了分解和共享。 马上学习马上销售,直接拿来说明我的问题。
其实,对于早上的这样的问题,我是用两种方法来求助的。 一种是微信语音方法,另一种是发布方法。 在语言问题上,他严重违反了上述三项,在投稿问题上注意到了这三项。 这也提醒我,将来应该更加注意语言的表达。
)2)提问时,请务必击中关键点,对准靶心
说明问题时,请务必说明要点。 例如,对于上述问题,一开始我什么都不在乎自己。 只需查询table_B表即可。 网友在向我确认详细信息的过程中提到了这个问题。 是解决问题的关键。