Oracle 数据跨厂(200公里)需要交互使用,建议使用什么方式?dblink有哪些风险?

请教下,跨厂(200公里)Oracle 数据需要交互使用,建议使用什么方式?dblink有哪些风险,谢谢。

2回答

匿名用户匿名用户
挚爱咖啡bigpan赞同了此回答
过度使用DBLINK做系统集成会带来很多问题,问题主要由以下几点: 大量消耗数据库资源; 本地系统每通过DBLINK链接远端系统一次,都会生成一个本地session,如本地session不退出或者手动释放,只有通过session超时才能自动释放,会浪费大量的系统资源 容易出现数据库BUG; 大量使用DB...显示全部

过度使用DBLINK做系统集成会带来很多问题,问题主要由以下几点:

  1. 大量消耗数据库资源;

本地系统每通过DBLINK链接远端系统一次,都会生成一个本地session,如本地session不退出或者手动释放,只有通过session超时才能自动释放,会浪费大量的系统资源

  1. 容易出现数据库BUG;

大量使用DBLINK,本地系统极易出现ORA-02068、ORA-03113、ORA-02080、ORA-02054、ORA-02050等Oracle错误,这种错误大部分会影响当前session正在处理的业务

  1. 性能较差;

由于使用DBLINK,本地系统在获取数据时,每次链接都会对远端数据库进行一次全表扫描,且所有数据都会传输回本地数据库内,导致性能降低并且严重浪费当前系统资源。尤其出现一条sql语句从两个DBLINK中取数,更被称之为“性能杀手”,尤其是OLTP型数据库

  1. 数据传输不稳定,占用带宽严重,容易产生丢包风险;

DBLINK本身没有数据存储、监控等功能,是通过网络中的数据库进行传输时,如果在传输过程中出现数据丢包现象,DBLINK本身不会发现,只用当业务进行完毕才能发现丢包现象,这样会影响当前正在处理的业务;另外,通过DBLINK查询的数据会像数据全部传至本地数据库进行操作,数据传输量很大,占用带宽严重,可能会导致网络堵塞

  1. Oracle数据功能受限

DBLINK本身不支持对oracle LOB大对象的操作,在使用PROCDURE时,使用COMMIT等操作时可能会出现错误;

  1. 可扩展性较差

如果多系统之间 使用DBLINK进行传输,每增加一个系统,都会增加一个或多个DBLINK链接或者修改对应的接口程序,如果修改其中一个接口,需要修改所有关联系统内的接口程序;

  1. 维护性差、安全性较低

通过DBLINK进行链接需要将远端数据库用户名、密码、IP地址存在本地数据库,如远端进行密码修改、IP地址变更,本地数据库也需要修改,如果系统较多,每个系统都需要同时修改。切本地数据库管理员能够看到远端数据的密码、IP地址,对系统安全产生影响。

收起
 2019-06-06
浏览147
he7yonghe7yong  研发工程师 , Canway
bigpan赞同了此回答
建议用自带的GoldenGate,不建议应用交叉访问数据。显示全部

建议用自带的GoldenGate,不建议应用交叉访问数据。

收起
 2019-06-12
浏览77
aixchina 邀答

提问者

bigpan系统运维工程师, 半导体公司

问题状态

  • 发布时间:2019-06-05
  • 关注会员:3 人
  • 问题浏览:2064
  • 最近回答:2019-06-12
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30