ORACLE自动断开数据库连接解决办法
最近,有客户提出在系统的应用中出现数据库频繁自动断开连接(每10分钟)的异常现象,通过查找学习,找到如下两种解决方法。供大家参考。
方法一、直接修改资源配置文件
分三个步骤在sqlplus环境下完成。
第一步,查询资源文件,找到CONNECT_TIME所在的profile名。
select
resource_name,profile
fromdba_profiles;
第二步,用alter命令修改profile中的值;
alter
profile MONITORING_PROFILElimit
connect_timeunlimited;(或跟一个时间值,如1000,单位为分钟)
alter
profile MONITORING_PROFILElimit idle_time
unlimited;
第三步,用如下命令查看profile中的值;
select
resource_name,limit fromdba_profiles
whereprofile='MONITORING_PROFILE';
方法二:通过创建资源配置文件并进行用户分配来完成。
分三个步骤在sqlplus环境下完成。[该方法不对其它数据库连接用户产生影响]
第一步,查看并修改resource_limit的状态。
SQL>show parameter resource_limit; 如果为FALSE,则将其修改为TRUE,否则配置不会生效:
(没成功)
SQL>alter
system
setresource_file=true;
第二步,用createprofile命令创建一个新的profile文件:
SQL>create
profile [profile文件名] limitconnect_time unlimited
idle_timeunlimited;
[示例:create
profile test_profile limit connect_time unlimitedidle_time
unlimited;]
第三步,将这个新的配置文件分配给该用户:
SQL>alter user [user_name,如ROOT_QY] profile [profile文件名];
[示例:alteruser
root_qy profile test_profile;]