zoukankan      html  css  js  c++  java
  • 【Oracle】Oracle解锁、Oracle锁表处理

    1、查看哪些对象被锁

    复制代码
    select s.username,
           decode(l.type, 'TM', 'TABLE   LOCK', 'TX', 'ROW   LOCK', NULL) LOCK_LEVEL,
           o.owner,
           o.object_name,
           o.object_type,
           s.sid,
           s.serial#,
           s.terminal,
           s.machine,
           s.program,
           s.osuser
      from v$session s, v$lock l, dba_objects o
     where s.sid = l.sid
       and o.object_id = l.id1
       and s.username is not null;
    复制代码

    2、下面的语句用来杀死一个进程:

     alter system kill session '33,456'; ---其中33,456分别是上面查询出的sid,serial#

    3、再一次查询目前锁定的对象,若发现以上方法不能解除锁定的表,则用以下方法:

    (1)执行下面的语句获得进程(线程)号:

    select spid, osuser, s.program
      from v$session s, v$process p
     where s.paddr = p.addr
       and s.sid = 33;
    ---33是上面的sid

    (2)在OS上kill掉这个进程

      Linux:

    kill -9 3333 (3333为进程号)

      Windows(unix也适用)用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:  orakill sid thread  

      sid:表示要杀死的进程属于的实例名  thread:是要杀掉的线程号,即第3步查询出的spid。  

      例:

    c:>orakill orcl 3333
  • 相关阅读:
    分段、分页&&内存碎片、外存碎片
    mysql中的事务处理
    算法的在线演示网站
    为什么要使用树以及使用什么树
    平衡多叉树--B-Tree(B树)
    MVCC--多版本并发控制机制
    mysql中的锁
    平衡二叉树--红黑树(RB-Tree)
    平衡二叉树--AVL树
    自平衡方式--旋转
  • 原文地址:https://www.cnblogs.com/wj94/p/7771733.html
Copyright © 2011-2022 走看看