alter  一个索引的时候  用rebuild
但是报错 ORA-00054: 资源正忙,要求指定 NOWAIT
试了无数次还是这样,其他的全部没有问题

解决方案 »

  1.   

    主要是锁的原因.
    查一下v$lockdba_waiters把这个结果输出来看看.
      

  2.   

    alter index idx_aaa rebuild online compute statistics;
      

  3.   


    楼上的负责一点好不好?既然锁被hold了.第一步当然是需要解除锁,除非你就是让楼主一直在enqueue中了.
      

  4.   

    select waiting_session,holding_session from dba_waiters;
      

  5.   

    二颗星的人说错了,:)
    rebuild online是可以的。
      

  6.   

    如果是一个session一直持有锁,则需要先处理这个session,如果是很多session,但每个session锁表时间都很短,那么使用rebuild online就可以了,rebuild online一开始不用获得表的排他锁,但是在完成的时候还是需要锁一下的,所以如果一个session一直持有锁,那么rebuild online也会被阻塞的
      

  7.   

    select   waiting_session,holding_session   from   dba_waiters;
    没有结果啊
      

  8.   

    现在再试试rebuild然后观察v$session_wait和v$lock;