使用V$LOCK解决enq: ST – contention的一个例子
一个用来存储报表的数据库上,有一系列数据导入的进程,但在今天发现这些进程一直未执行结束,在数据导入端可以看到数据导入速度为零,查看数据库上的等待事件,发现它们的等待事件全部是enq: ST – contention(EXTENT分配或者回收的锁)。
SID MACHINE HASH Event Name P1 P2------ -------------- ------------ -------------------------- -------- --------- 1069 gateway208063. 2384721791 enq: ST - contention 1398013958 0 775 gateway208063. 2384721791 enq: ST - contention 1398013958 0
SQL> select * from gv$lock where type='ST';SID TY ID1 ID2 LMODE REQUEST CTIME BLOCK---- -- ---------- ---------- ---------- ---------- ---------- ---------- 661 ST 0 0 0 6 73 0 720 ST 0 0 0 6 73 0 685 ST 0 0 0 6 72 0 887 ST 0 0 0 6 72 0 922 ST 0 0 0 6 72 01054 ST 0 0 6 0 261 2 704 ST 0 0 0 6 75 0 849 ST 0 0 0 6 75 0 976 ST 0 0 0 6 75 0 978 ST 0 0 0 6 75 0 815 ST 0 0 0 6 75 0