千家信息网

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

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,客户想实现对会话空闲时间的控制,下面是做的一个例子。Microsoft Windows [版本 6.1.7601](c) 2009 Microsoft Corporation。保留所有权利。SQL*P
千家信息网最后更新 2025年11月07日使用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之后查看数据库会话信息:



成功登陆后在数据库里面看到创建了两个session,可以看到sessionlogin时间是11:17:0911:17:28两个时间点。由于没有执行任何SQL,登陆成功后的session状态是INACTIVE的。

IDLE_TIME设置的为1分钟,1分钟后两个会话的状态变成了SNIPED,表示会话已经过期。

PL/SQL中执行任何SQL语句的时候,PL/SQL没有报错,成功执行。

11:20:4711:20:51,状态又变成了INACTIVE

SQL语句的时候自动的重新登陆了。

SQLPLUS的情况:


11:37:26登陆成功后,为SQLPLUS创建了一个SESSION,

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(PROFILE IDLE_TIME超时)后,第一次操作的时候自动重新连接,所以这两种方法都控制不了它。

Oracle提出一种方法,就是在Oracle服务器端部署定时杀掉SNIPED状态会话的脚本。但是为了处理少量的PL/SQL客户端,未免有点大费周章了。


--end--

状态 客户 登陆 时间 成功 客户端 控制 两个 参数 时候 空闲 工具 数据 数据库 方法 星期 类型 语句 项目 很大 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全法第多少号令 群晖nas搭建邮件服务器端口 下载网络安全证书应用 网络安全法执法案例30例 新乡市鸿腾网络技术有限公司 赞美软件开发设计师的短句 如何与国外服务器连接 极路由虚拟服务器 网络安全济南上市公司 软件开发设备台账包含什么 发包服务器租用 广州教育系统开发软件开发 曙光服务器开机进入安全模式 边的网络安全事件 自由幻想手游获取服务器列表失败 创造与魔法哪个服务器好玩 抗菌肽数据库app 发改委软件开发应用推广 数据库中如何给一列值赋值 武道大会服务器 上海火芽网络技术公司 软件技术高级软件开发工程师 济南企业办公软件开发公司 虹口区项目数据库服务前景 闵行区会计软件开发出厂价格 发改委软件开发应用推广 雄安翔龙瑞麟互联网科技 深圳互联网科技企业排行榜 计算机网络技术提取公积金 佛山网络安全周
0