oracle can't kill session】的更多相关文章

oracle 在杀会话时,会出现杀不掉的情况. 原因是在回滚大事物   解决方法: alter system disconnect session 'sid, serial#' immediate; or alter system disconnect session 'sid, serial#' post_transaction;  …
session1 确认sidSYS @ prod > select userenv('sid') from dual; USERENV('SID')-------------- 144 session2 确认sidSYS @ prod > select userenv('sid') from dual; USERENV('SID')-------------- 145 session1 查询当前数据库有哪些连接SYS @ prod > select p.spid,p.pid,p.user…
kill session 是DBA经常碰到的事情之一.如果kill 掉了不该kill 的session,则具有破坏性,因此尽可能的避免这样的错误发生.同时也应当注意,如果kill 的session属于Oracle 后台进程,则容易导致数据库实例宕机. 通常情况下,并不需要从操作系统级别杀掉Oracle会话进程,但并非总是如此,下面的描述中给出了在Oracle级别杀掉会话以及操作系统级别杀掉进程.一.获得需要kill session的信息(使用V$SESSION 和 GV$SESSION视图) S…
itpub link: http://www.itpub.net/235873.html 我们知道,在Oracle数据库中,可以通过kill session的方式来终止一个进程,其基本语法结构为: alter system kill session 'sid,serial#' ; 被kill掉的session,状态会被标记为killed,Oracle会在该用户下一次touch时清除该进程. 我们发现当一个session被kill掉以后,该session的paddr被修改,如果有多个session…
我们知道,在Oracle数据库中,可以通过kill session的方式来终止一个进程,其基本语法结构为: alter system kill session 'sid,serial#' ; 被kill掉的session,状态会被标记为killed,Oracle会在该用户下一次touch时清除该进程. 我们发现当一个session被kill掉以后,该session的paddr被修改,如果有多个session被kill,那么多个session的paddr都被更改为相同的进程地址 SQL> sele…
FRM-40501: ORACLE error: unable to reserve record for update or delete frm-40501:oracle 错误:无法保留用于更新或删除的记录   -- 慎用 kill session declare    cursor c1    is         select dob.object_name table_name              , lo.session_id              , vss.serial…
Oracle中造成一些表被死锁或者会话异常退出,如执行了更新记录操作后,既没有commit也没有rollback,网络就断开了,也会造表或记录被锁住,待到超时后才会被解开,那样都会造成应用操作被阻塞. 可以以Oralce管理员权限用户登录Oracle数据,查询到被锁的对象,然后杀除指定的会话. 用下面的语句查询被锁的对象,可以带上更多约束条件,如schemaname等更精确的匹配. SELECT  a.object_id, a.session_id, b.object_name, c.* FRO…
在ORACLE数据库当中,有时候会使用ALTER SYSTEM KILL SESSION 'sid,serial#'杀掉一个会话进程,但是使用这个SQL语句杀掉会话后,数据库并不会立即释放掉相关的资源,有时候你会发现锁定的资源很长时间也不会释放,即使会话状态为"KILLED",依然会阻塞其它会话. 下面根据Eygel的"Oracle中Kill session的研究",构造一个案例看看kill session到底做了什么.如下所示 会话1: SQL> conn…
会话(session)是oracle服务器对数据库连接用户记录的一种手段. oracle提供了v_$session的视图存储当前数据库的会话,查询时用v_$session 或v$session sqlplus中可以使用select * from v$session 查询当前会话 会话有两种活动状态:“activve”(活动) 和 “inactive”(欲中断的会话),"killed"(会话被中断) 查询当前会话: select username,sid,serial#,status f…
转载:http://www.cnblogs.com/kerrycode/p/4034231.html 在ORACLE数据库当中,有时候会使用ALTER SYSTEM KILL SESSION 'sid,serial#'杀掉一个会话进程,但是使用这个SQL语句杀掉会话后,数据库并不会立即释放掉相关的资源,有时候你会发现锁定的资源很长时间也不会释放,即使会话状态为“KILLED”,依然会阻塞其它会话. 下面根据Eygel的"Oracle中Kill session的研究",构造一个案例看看k…