ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 数据库连接没有释放造成的奇怪问题

数据库连接没有释放造成的奇怪问题

原创 Linux操作系统 作者:lnwxzyp 时间:2011-11-24 10:39:43 0 删除 编辑
    今天在工作的时候,有同事问我说怎么一个地市的数据是没有汇总的数据,我马上登陆查看,发现没有问题,结果他给我看确实是没有汇总过的,我突然想起来,他查看的是同义词,同义词是使用了dblink来查看远程库的数据,而我是直接连接到远程库的,于是赶紧检查同义词和dblink
select * from user_synonyms;
select * form. user_db_links:
 
发现果然是dblink的问题,使用的tns信息是另外一个数据库的,找到了问题的所在于是把dblink删除之后又重新建立了新的dblink,名称还是原来的名称, 但是在查询同义词的时候,发现出来的结果还是原来那个库的非汇总的数据,然后用用户名.表名@dblink的方式 倒是正常的,觉得问题很诡异,正在思索期间,突然想到以前遇到过查询远程库的数据数据行数超出N条之后就会在产生一个正在使用的数据库连接,可以在SYS.V$DBLINK当中查到,于是考虑是不是因为原有的dblink信息没有释放掉造成的错误,于是执行关闭时候聚聚连接的语句
alter session close database link dblink_x;
 
结果就提示数据库连接正在使用中,在当前会话执行 commit或者rollback 释放掉资源,然后再次执行就正常了,查看SYS.V$DBLINK,没有记录了,然后再来查看同义词,OK,终于正常了。

本来以为问题就得到解决了,因此也没有再查看其他的同义词,结果下午又有人反应其他的数据也不对,最后只能用重建同义词的方式来解决这个问题。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12216142/viewspace-711906/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-04-25

  • 博文量
    129
  • 访问量
    737293