两种办法,《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: 超出最大空闲时间, 请重新连接