前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Oracle】-【SNIPED和KILLED】-SPINED和KILLED的session清理流程

【Oracle】-【SNIPED和KILLED】-SPINED和KILLED的session清理流程

作者头像
bisal
发布2019-01-29 10:11:32
9890
发布2019-01-29 10:11:32
举报

@dbsnake大拿的一个示例:

SQL> show parameter limit NAME     TYPE VALUE ------------------------------------ ----------- ------------------------------ asm_power_limit     integer 1 java_soft_sessionspace_limit     integer 0 resource_limit     boolean TRUE

SQL> create profile idletime limit idle_time 1; Profile created. SQL> alter user bisal profile idletime; User altered.

SQL> conn bisal/bisal

From another session:

SQL> select status from v$session where username='BISAL'; STATUS -------- ACTIVE INACTIVE

After one minute:

SQL> select status from v$session where username='BISAL'; STATUS -------- ACTIVE SNIPED

From BISAL session:

SQL> select * from dual; select * from dual * ERROR at line 1: ORA-02396: exceeded maximum idle time, please connect again

From another session:

SQL> select status from v$session where username='BISAL'; STATUS -------- ACTIVE

验证一个SNIPED的session,重新执行一条SQL,Oracle会自动删除该session。

再做一个实验:

Conn bisal

From another session:

SQL> select status from v$session where username='BISAL'; STATUS -------- ACTIVE INACTIVE

SQL> select username,serial#, sid, to_timestamp(logon_time) from v$session   2  where username='BISAL'; USERNAME  SERIAL# SID            TO_TIMESTAMP(LOGON_TIME) --------------------------------------------------------------------------- BISAL 8 208                   10-JUL-13 12.00.00 AM BISAL       15 215                   10-JUL-13 12.00.00 AM

SQL> alter system kill session '215, 15'; System altered.

SQL> select status from v$session where username='BISAL'; STATUS -------- ACTIVE KILLED

From BISAL session:

SQL> select * from dual; select * from dual * ERROR at line 1: ORA-00028: your session has been killed

From another session:

SQL> select status from v$session where username='BISAL'; STATUS -------- ACTIVE

即KILLED状态的session执行一个SQL,也会立即清除,这个据@eygle介绍是PMON负责的。"如果此时被Kill的process,重新尝试执行任务,那么马上会收到进程中断的提示,process退出,此时Oracle会立即启动PMON来清除该session.这被作为一次异常中断处理."

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年07月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档