过度使用DBLINK做系统集成会带来的问题
过度使用DBLINK做系统集成会带来很多问题,问题主要由以下几点:
1. 大量消耗数据库资源;
本地系统每通过DBLINK链接远端系统一次,都会生成一个本地session,如本地session不退出或者手动释放,只有通过session超时才能自动释放,会浪费大量的系统资源
2. 容易出现数据库BUG;
大量使用DBLINK,本地系统极易出现ORA-02068、ORA-03113、ORA-02080、ORA-02054、ORA-02050等Oracle错误,这种错误大部分会影响当前session正在处理的业务
3. 性能较差;
由于使用DBLINK,本地系统在获取数据时,每次链接都会对远端数据库进行一次全表扫描,且所有数据都会传输回本地数据库内,导致性能降低并且严重浪费当前系统资源。尤其出现一条sql语句从两个DBLINK中取数,更被称之为“性能杀手”,尤其是OLTP型数据库
4. 数据传输不稳定,占用带宽严重,容易产生丢包风险;
DBLINK本身没有数据存储、监控等功能,是通过网络中的数据库进行传输时,如果在传输过程中出现数据丢包现象,DBLINK本身不会发现,只用当业务进行完毕才能发现丢包现象,这样会影响当前正在处理的业务;另外,通过DBLINK查询的数据会像数据全部传至本地数据库进行操作,数据传输量很大,占用带宽严重,可能会导致网络堵塞
5. Oracle数据功能受限
DBLINK本身不支持对oracle LOB大对象的操作,在使用PROCDURE时,使用COMMIT等操作时可能会出现错误;
6. 可扩展性较差
如果多系统之间 使用DBLINK进行传输,每增加一个系统,都会增加一个或多个DBLINK链接或者修改对应的接口程序,如果修改其中一个接口,需要修改所有关联系统内的接口程序;
7. 维护性差、安全性较低
通过DBLINK进行链接需要将远端数据库用户名、密码、IP地址存在本地数据库,如远端进行密码修改、IP地址变更,本地数据库也需要修改,如果系统较多,每个系统都需要同时修改。切本地数据库管理员能够看到远端数据的密码、IP地址,对系统安全产生影响。
过度使用DBLINK做系统集成会带来的问题的更多相关文章
- DBLINK做系统集
过度使用DBLINK做系统集成会带来的问题 过度使用DBLINK做系统集成会带来很多问题,问题主要由以下几点: 1. 大量消耗数据库资源: 本地系统每通过DBLINK链接远端系统一次,都会生成一个本地 ...
- 使用nginx和iptables做访问权限控制(IP和MAC)
之前配置的服务器,相当于对整个内网都是公开的 而且,除了可以通过80端口的nginx来间接访问各项服务,也可以绕过nginx,直接ip地址加端口访问对应服务 这是不对的啊,所以我们要做一些限制 因为只 ...
- 《100种过度医疗大公开》:转译自日文版,日文版依据的是美国的“Choosing Wisely”项目。三星推荐
本书转译自日文,日文版则是在美国的“Choosing Wisely”项目中选择了100个相对常见的过度医疗项目做解说.Choosing Wisely项目,是由美国多个专业医学组织发起的列出过度医疗项目 ...
- Web Components初探
本文来自 mweb.baidu.com 做最好的无线WEB研发团队 是随着 Web 应用不断丰富,过度分离的设计也会带来可重用性上的问题.于是各家显神通,各种 UI 组件工具库层出不穷,煞有八仙过海之 ...
- More Effective C++ (1)
简单分析总结了more effective c++ 的前十个条款: 剩下的条款to be continue~ 1.仔细区分指针和引用引用必须不能指向空,指针可以指向空,指针初始化是记得赋空值,重载某些 ...
- C#性能优化实践
性能主要指两个方面:内存消耗和执行速度.性能优化简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短. 本文以.NET平台下的控件产品MultiRow为例,描述C# ...
- C#性能优化实践【转】
性能主要指两个方面:内存消耗和执行速度.性能优化简而言之,就是在不影响系统运行正确性的前提下,使之运行地更快,完成特定功能所需的时间更短. 本文以.NET平台下的控件产品MultiRow为例,描述C# ...
- 部分转载[C#性能优化实践]
全文出处:http://www.infoq.com/cn/articles/C-sharp-performance-optimization 1.性能 主要指两个方面:内存消耗和执行速度.性能优化简而 ...
- C#性能优化实践(转载)
原文地址http://www.infoq.com/cn/articles/C-sharp-performance-optimization?utm_source=infoq&utm_mediu ...
随机推荐
- Linux免密码登陆
A电脑实现不用密码登陆到B电脑! vim /etc/ssh/sshd_config 编辑文件 01.在A电脑上生成ssh密钥 ssh-keygen -t rsa02.把A电脑生成的id_rsa.p ...
- 【LeetCode 234_链表】Palindrome Linked List
ListNode* ReverseList(ListNode *p) { if (p == NULL || p->next == NULL) return p; ListNode *pre = ...
- AVG Internet Security 2013 – 免费1年
AVG 是一款来自捷克的老牌的且非常优秀的免费杀毒软件,自推出以来就颇受用户好评!一直以来诸多的优点使其获得不少忠实用户,即便在中国也赢得了不少粉丝!AVG的安全产品广泛地被欧美以及大洋洲地区使用,并 ...
- SharePoint 网站管理-PowerShell
1. 显示场中所有可用的网站集 Get-SPSite 2. 显示某一Web应用程序下可用的网站集 Get-SPSite –WebApplication "SharePoint – 80&qu ...
- 《C语言中分配了动态内存后一定要释放吗?》
问:比如main函数里有一句 malloc(),后面没有free()1.那么当main结束后,动态分配的内存不会随之释放吗?2.如果程序结束能自动释放,那么还加上free(),是出于什么考虑? 答: ...
- arpspoof与其他几款工具的使用
arpspoof 是一款进行arp欺骗的工具 arpspoof -i 网卡 -t 目标ip 默认网关 如果kali没有进行IP转发 那么目标就会因为配置错网而导致断网 这就是所谓的arp断网攻击 开 ...
- I.MX6_Linux_UART_device&driver_hacking
/****************************************************************************************** * I.MX6_ ...
- Springboot中的连接池
pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-ja ...
- [LeetCode&Python] Problem 104. Maximum Depth of Binary Tree
Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...
- LightOJ 1355 :Game of CS(树上green博弈)
Jolly and Emily are two bees studying in Computer Science. Unlike other bees they are fond of playin ...