我也没有找过什么操作锁定某个表,但有几个试图对你可能有用:
 sys.v_$sysstat,sys.v_$latch 和 sys.v_$librarycache
祝你成功。

解决方案 »

  1.   

    试试下面的查询
    SELECT sn.username, m.sid, m.type, 
    DECODE(m.lmode, 0, 'None', 
    1, 'Null', 
    2, 'Row Share', 
    3, 'Row Excl.', 
    4, 'Share', 
    5, 'S/Row Excl.', 
    6, 'Exclusive', 
    lmode, ltrim(to_char(lmode,'990'))) lmode, 
    DECODE(m.request,0, 'None', 
    1, 'Null', 
    2, 'Row Share', 
    3, 'Row Excl.', 
    4, 'Share', 
    5, 'S/Row Excl.', 
    6, 'Exclusive', 
    request, ltrim(to_char(m.request, 
    '990'))) request, 
    m.id1, m.id2 
    FROM v$session sn, v$lock m 
    WHERE (sn.sid = m.sid AND m.request != 0) 
    OR (sn.sid = m.sid 
    AND m.request = 0 AND lmode != 4 
    AND (id1, id2) IN (SELECT s.id1, s.id2 
    FROM v$lock s 
    WHERE request != 0 
    AND s.id1 = m.id1 
    AND s.id2 = m.id2) 

    ORDER BY id1, id2, m.request;select l.sid,s.serial#,s.username,s.terminal, 
    decode(l.type,'RW','RW - Row Wait Enqueue', 
    'TM','TM - DML Enqueue', 
    'TX','TX - Trans Enqueue', 
    'UL','UL - User',l.type||'System') res, 
    substr(t.name,1,10) tab,u.name owner, 
    l.id1,l.id2, 
    decode(l.lmode,1,'No Lock', 
    2,'Row Share', 
    3,'Row Exclusive', 
    4,'Share', 
    5,'Shr Row Excl', 
    6,'Exclusive',null) lmode, 
    decode(l.request,1,'No Lock', 
    2,'Row Share', 
    3,'Row Excl', 
    4,'Share', 
    5,'Shr Row Excl', 
    6,'Exclusive',null) request 
    from v$lock l, v$session s, 
    sys.user$ u,sys.obj$ t 
    where l.sid = s.sid 
    and s.type != 'BACKGROUND' 
    and t.obj# = l.id1 
    and u.user# = t.owner#
      

  2.   

    v$session表,看谁最有可能在操作
      

  3.   

    查看锁情况及杀进程:
    select * from v$session;
    alter system kill '  ,   ';
    但你的问题不是被锁
      

  4.   

    你的表被锁定了,这是无可非议的,至于怎么查的sql,我想black_dragon(半仙) 的可以,太长,不想看,如果你试不可以,再问我要。
    解锁通过commit or rollback or kill session