zoukankan      html  css  js  c++  java
  • ORA-03135 防火墙超时设置断开db link 连接

    【现象】
    
    应用使用数据库连接池,访问A库时通过dblink查询B库,应用时不时会报错ORA-02068和ORA-03135。
    
    【过程还原】
    
    当应用获取了一个数据库连接,并在数据库连接中使用了dblink,如果应用到A库的连接不释放,则A库到B库的dblink 连接也不释放;当A库到B库的dblink连接由于长时间无数据被防火墙设备断开后,如果应用再次从连接池中获取这个连接,并要使用dblink查询时,则oracle就会报错。
    
    【根本原因】
    
    oracle替你保存了dblink连接,当你再使用时,没有检查就直接使用,则可能导致报错。
    
    【可行的解决方案】
    
    1. 升级oracle到11g,高版本oracle可以保证dblink使用时都是ok的;
    
    2. 应用访问数据库的代码中,查询完毕后,显示关闭dblink;
    
            alter session close database link <db_link_name>;
    
    
    3. 取消A库到B库的超时断开机制,这方法不保险,因为长时间的网络连接可能还会被其他因素断开;
    
    4. 配置应用连接池,每次提供连接时也要检查dblink是否可用。
  • 相关阅读:
    Day2 while 循环,格式化输出,运算符,字符串编码
    Day 1 变量,基础数据类型与条件语句
    关于字符的一些看法
    正则的全局问题
    模块——js功能(倒计时,幻灯)
    垂直居中
    不确定宽度元素居中
    css3媒体查询
    less的预处理
    手机幻灯
  • 原文地址:https://www.cnblogs.com/polestar/p/9274808.html
Copyright © 2011-2022 走看看