ITPub博客

首页 > Linux操作系统 > Linux操作系统 > dblink连接的目标端 session不断的问题。

dblink连接的目标端 session不断的问题。

原创 Linux操作系统 作者:小被子0000 时间:2010-10-27 10:49:34 0 删除 编辑


问题解决:
1。在使用了dblink的存储过程中,可以显示的手动关闭dblink连接,具体写法如下(测试存过):
 
 
CREATE OR REPLACE PROCEDURE pr_abcc_test(id OUT number, id2 out number) IS
  pr_id  number;
  pr_id2 number;
BEGIN
  SELECT COUNT(*) INTO pr_id FROM t_test@abprodwhb;
  SELECT COUNT(*) INTO pr_id2 FROM t_test2@abprodwhb;
  
    id  := pr_id;
  id2 := pr_id2;
--显示的关闭DBLINK方法有以下两种,abprodwhb是dblink名。
 commit;--这句必写
  --EXECUTE IMMEDIATE 'ALTER SESSION CLOSE DATABASE LINK abprodwhb';--方法1,使用动态SQL关闭
  dbms_session.close_database_link('abprodwhb');--方法2,调用专用的关闭包
END pr_abcc_test;

2.在java代码中使用的dblink,不能在对方数据库中切断的问题,这个只能把那段代码实现的功能用存过实现。再套用上面的解决方案。或者在对方数据库中使用profile,限制空闲session时间,空闲时间到了,就切断session连接。


类似问题参照:http://space.itpub.net/9932141/viewspace-631509
dblink基础参照:http://www.dbabeta.com/2008/oracle_database_link_basics.html#more-13

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

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

注册时间:2010-05-08

  • 博文量
    10
  • 访问量
    28434