• 1.查看当前锁对象
       select a.owner,
    a.object_name,
    b.xidusn,
    b.xidslot,
    b.xidsqn,
    b.session_id,
    b.oracle_username,
    b.os_user_name,
    b.process,
    b.locked_mode,
    c.machine,
    c.status,
    c.server,
    c.sid,
    c.serial#,
    c.program
    from all_objects a,
    v$locked_object b,
    v$session c
    where ( a.object_id = b.object_id )
    and (b.process = c.process )
    order by 1,2;

    依据查询到的session_sid查询出session的具体信息:

    select saddr,sid,serial#,paddr,username,status from v$session where sid='764';

    假设确保此lock无效,能够kill掉该session

    alter system kill session ’sid,serial#’ ; 

    【注】以上两步,能够通过Oracle的管理控制台来运行。
    假设出现题目的错误,能够
    select a.spid,b.sid,b.serial#,b.username from v$process a,v$session b where a.addr=b.paddr and b.status='KILLED';

    3.假设利用上面的命令杀死一个进程后。进程状态被置为"killed"。可是锁定的资源非常长时间没有被释放,那么能够在os一级再杀死对应的进程(线程)。首先运行以下的语句获得进程(线程)号:
    select spid, osuser, s.program from v$session s,v$process p where
    s.paddr=p.addr and s.sid=785 (33就是上面的sid)

    4.在OS上杀死这个进程(线程):
    1)在unix上,用root身份运行命令:
    #kill -9 12345(即第3步查询出的spid)

  • 相关阅读:
    dsp
    vector.cpp introducing the vector template.
    Bookmarks
    C#多线程参数传递.cs
    vector操作笔记
    Paragma & Bytes
    今天开博
    一台linux服务器挂载另外一台linux服务器文件系统
    nginx基于mysql的身份验证
    Ubuntu下编译nginx
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/6992322.html
Copyright © 2020-2023  润新知