使用Oracle PROFILE控制会话空闲时间


Microsoft Windows [版本 6.1.7601]
(c) 2009 Microsoft Corporation。保留所有权利。

SQL*Plus: Release 11.2.0.3.0 Production on 星期二 4 14 08:42:55
2015

1分钟。

16行。

SQL> alter system set resource_limit
=true;
PROFILEKERNEL类型的项目进行控制需要将该参数设置为TRUEPASSWORD类型的项目不受此参数限制。

SQL*Plus: Release 11.2.0.3.0 Production on 星期二 4 14 08:55:49
2015

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

SQLPLUS,PL/SQL工具无效,下面讨论一下为什么对PL/SQL无效。

test111登陆PL/SQL之后查看数据库会话信息:
IDLE_TIME设置的为1分钟,1分钟后两个会话的状态变成了SNIPED,表示会话已经过期。
PL/SQL中执行任何SQL语句的时候,PL/SQL没有报错,成功执行。
11:20:4711:20:51,状态又免费云主机域名变成了INACTIVE
SQL语句的时候自动的重新登陆了。

SQLPLUS的情况:
1分钟没操作后会话变成了SNIPED状态。
SESSION已经被KILL。
由此可以判断,PROFILE IDLE_TIME对SQLPLUS有效,对PL/SQL无效
跟客户端有很大关系
SQLNET.EXPIRE_TIME参数的含义:

SQLNET.EXPIRE_TIME=1表示每过1分钟都向客户端发出一个测试连接的包,客户端收到后会给出响应,如果连接正常,这个连接是不会被杀掉的。
Oracle推荐PROFILESQLNET.EXPIRE_TIME一起使用,但由于PL/SQL工具本身的特点,它会在SESSION的状态变成SNIPED(PROFILEIDLE_TIME超时)后,第一次操作的时候自动重新连接,所以这两种方法都控制不了它。
Oracle提出一种方法,就是在Oracle服务器端部署定时杀掉SNIPED状态会话的脚本。但是为了处理少量的PL/SQL客户端,未免有点大费周章了。

–end–

相关推荐: Oracle Database 12cR2多租户权威指南

Anton Els,Vt pinka,Franck Pachot Oracle Database 12c Release 2 Multitenant EISBN 978-1-25-983609-1 Copyright 2017 by McGraw-Hill E…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/01 14:48
下一篇 01/01 14:48