Oracle会话达到一定连接时间自动断开方法
1.Oracle数据库中都有至少一个Proflie文件,它是口令限制,资源限制
的命名集合。建立oracle数据库时,oracle会自动建立名为DEFAULT的PROFILE,初始化的DEFAULT没有进行任何口令和资源限制,用户yherp使用的就是DEFAULT的PROFILE。可以执行语句查看:
select username,profile from dba_users where username = 'YHERP';
查看这个PROFILE的内容:
select * from dba_profiles where profile='DEFAULT';
红色标记的“IDLE_TIME”意为空闲时间,默认值为“UNLIMITED”,后面会进行设置。
2.Oracle的系统参数RESOURCE_LIMIT是一个用于控制用户对于数据库资源使
用的参数,当值为true的时候即为启用,否则禁用(默认是禁用的)。该参数结合profile来可以控制多种资源的使用,如CPU_PER_SESSION, CONNECT_TIME,LOGICAL_READS_PER_SESSION,PRIVATE_SGA等等,从而达到到节省资源来实现高效性能。通过以下语句查看其状态:
SELECT name, value FROM gv$parameter WHERE name = 'resource_limit';
3.首先:开启这个参数:
ALTER SYSTEM SET RESOURCE_LIMIT=TRUE;
查看开启结果:SELECT name, value FROM gv$parameter WHERE name = 'resource_limit';
其次:修改已存在的Profile中的IDLE_TIME:(单位为分钟,设置为一天24小时)
ALTER PROFILE DEFAULT LIMIT IDLE_TIME 1440;