会计考友 发表于 2012-8-4 14:06:19

Oracle技术:Oracle隐藏索引和索引可用性(5)

删除被锁住的Session
   
    1、一般的话只要下面两条命令就可以:
   
    (1)select t1.sid,t1.serial#,t1.username,t1.logon_time from v$session t1,
   
    v$locked_object t2 where t1.sid=t2.session_id order by t1.logon_time;
   
    (2)alter system kill session 'sid, serial#';
   
    备注:其中(2)中的sid和serial#是(1)中查询出来的。
   
    2、有时这种方法还是删不掉,就要用ORAKILL命令了
   
    (1)select object_name,machine,s.sid,s.serial# from v$locked_object l,
   
    dba_objects o ,v$session s where l.object_id=o.object_id and l.session_id=s.sid;
   
    (2)select spid ,osuser,s.program from v$session s,
   
    v$process p where s.paddr=p.addr and s.sid=93;考试用书
   
    (3)orakill sid spid(unix 系统下,root身份:kill sid spid)
   
    说明:
   
    第一条2(1)和1(1)效果是一样的,只是查出的内容更多,我们要的,关键是这个sid,
   
    第二条中的93,就是第一条中查询出的sid;
   
    第三条要在系统下进行,cmd下直接使用,spid就是第二条中查出来的spid.
   
    另外,unix下的,没实际使用,原例子是这么写的 kill -9 12345(12345是spid,前面-9个人估计是数据库的sid吧…)
页: [1]
查看完整版本: Oracle技术:Oracle隐藏索引和索引可用性(5)