ORACLE自动断开数据库连接解决办法

最近,有客户提出在系统的应用中出现数据库频繁自动断开连接(每10分钟)的异常现象,通过查找学习,找到如下两种解决方法。供大家参考。

方法一、直接修改资源配置文件

分三个步骤在sqlplus环境下完成。

第一步,查询资源文件,找到CONNECT_TIME所在的profile名。

select resource_name,profile from dba_profiles;

第二步,用alter命令修改profile中的值;

alter profile MONITORING_PROFILE limit connect_time unlimited;(或跟一个时间值,如1000,单位为分钟)

alter profile MONITORING_PROFILE limit idle_time unlimited;

第三步,用如下命令查看profile中的值;

select resource_name,limit from dba_profiles where profile='MONITORING_PROFILE';

方法二:通过创建资源配置文件并进行用户分配来完成。

分三个步骤在sqlplus环境下完成。[该方法不对其它数据库连接用户产生影响]

第一步,查看并修改resource_limit的状态。

SQLshow parameter resource_limit; 如果为FALSE,则将其修改为TRUE,否则配置不会生效:

SQLalter system set resource_file=true;

第二步,用create profile命令创建一个新的profile文件:

SQLcreate profile[profile文件名]limit connect_time unlimited idle_time unlimited;

[示例:create profile test_profile limit connect_time unlimited idle_time unlimited;]

第三步,将这个新的配置文件分配给该用户:

SQLalter user [user_name,如ROOT_QY] profile [profile文件名];

[示例:alter user root_qy profile test_profile;]

更多推荐