oracle长连接超时设置

两种办法,《1》和《2》

1》在sqlnet.ora中设置参数

如需要设置客户端空闲10分钟即被中断,则在sqlnet.ora的末尾添加

SQLNET.EXPIRE_TIME=10

注:sqlnet.ora文件的路径在$ORACLE_HOME/network/admin下。

重启listener

lsnrctl reload

2》Oracle Profile中设置 生产库上执行如下操作:

查询resource limit是否开启:

SQL> SELECT name, value FROM gv$parameter WHERE name = 'resource_limit';

NAME VALUE

--------------- ----------

resource_limit FALSE

如果没有,则开启这个参数:

SQL> ALTER SYSTEM SET RESOURCE_LIMIT=TRUE;

\  ALTER SYSTEM SET RESOURCE_LIMIT=FALSE;  关闭命令

System altered.

SQL> SELECT name, value FROM gv$parameter WHERE name = 'resource_limit';

NAME VALUE

--------------- ----------

resource_limit TRUE

修改已存在的Profile中的IDLE_TIME:

SQL> ALTER PROFILE DEFAULT LIMIT IDLE_TIME 10; //全局配置,对所有用户生效

创建空闲10分钟中止空闲例程的Profile【略】:

SQL> CREATE PROFILE data_user LIMIT IDLE_TIME 10; //对某些用户进行配置

Profile created. 设置用户的Profile:

SQL>alter user nc profile data_user; //把data_user限制策略应用到nc用户

通过本地连接串(通过监听)访问数据库:

sqlplus / as sysdba

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from dual;

等待10分钟再执行:

SQL> select * from dual; select * from dual;

* 第 1 行出现错误: ORA-02396: 超出最大空闲时间, 请重新连接

原文地址:https://www.cnblogs.com/eos666/p/11804172.html