开工大吉|策马扬鞭,跃启新程!
2026-02-25
浙江省委宣传部副部长、省委网信办主任赵磊:守正创新 辩证施策 全力推动网络生态治理工作迈上新台阶
2026-02-10
美创产品全面入围中直机关2025年网络设备框架协议采购项目
2026-02-04
连续5年!美创再获中国网络安全产业联盟“先进会员单位”表彰
2026-01-21
每周安全速递³⁷¹ | 勒索软件攻击导致心理健康机构超11万人数据泄露
2026-01-06
存储域
数据库加密 诺亚防勒索访问域
数据库防水坝 数据库防火墙 数据库安全审计 动态脱敏流动域
静态脱敏 数据水印 API审计 API防控 医疗防统方运维服务
数据库运维服务 中间件运维服务 国产信创改造服务 驻场运维服务 供数服务安全咨询服务
数据出境安全治理服务 数据安全能力评估认证服务 数据安全风险评估服务 数据安全治理咨询服务 数据分类分级咨询服务 个人信息风险评估服务 数据安全检查服务前言
对于dblink,相信大家都不陌生。当用户需要跨本地数据库访问另外一个数据库的数据时,可以在本地数据库中创建远程数据库的dblink,通过dblink可以像访问本地数据库一样访问远程数据库中的数据。
dblink为跨数据库的访问带来了很多便利,但是也存在部分缺陷。比如大量使用dblink查询,造成web项目的连接数不够,导致系统无法正常运行;比如今年6月份scn兼容性级别变化造成的大量dblink业务不可用等。
今天小编就要和大家聊一聊dblink在ogg中的表现。
OGG中的dblink并不能被自动同步,目标端若要使用dblink,需要手工添加。
对于Public dblink,只要在目标库上建好,则不影响ogg的同步。但是,对于Private dblink,即使在目标库上创建了,还是会出现如下类似报错:
报错提示ogg在执行以下的语句时,SQL
报错<ORA-02019: connection description for remote database not found>
小编在目标数据库上检查dblink test_pri,确认该dblink信息和源库一致,且通过该dblink可以正常查询源库数据库的数据。
既然手工测试dblink是没有问题的,那为什么ogg不能执行该语句呢?
根据上面的信息,我们发现dblink TEST_PRI的所属用户是zmy,这是一个Private dblink
小知识●dblink
了解了私有dblink后,我们就不难发现为什么会报这个错了。OGG在同步的时候是通过管理用户来执行这些语句的,而对于私有dblink,其他用户没有权限使用,从而出现了这个报错。
那就跟着小编来进一步验证吧。
我们在目标数据库上创建一个同名的public dblink TEST_PRI
确认dblink已经创建后,再次启动复制进程,问题解决,可以正常同步。
限于篇幅,我们不再对dblink详细展开,最后小结一下:
小结
1、OGG中的dblink并不能被自动同步,目标端同步用户所私有的dblink并不能够被管理用户所管理,必须将私有的dblink改为公有的OGG才能正常运行。
2、每次使用 dblink查询的时候,均会与远程数据库创建一个连接,dblink不会自动释放这个连接,如果是大量使用dblink查询,会造成连接数不够,导致系统无法正常运行。使用dnlink时要注意关闭连接。
参考文献
Oracle® Database Administrator's Guide 11g Release 2 (11.2)
How to Close a Database Link (DBLINK) Connection (文档 ID 473635.1)