p1 p1raw p2 p3
2 1598 enq: SQ - contention 1397817350 0000000053510006 166684 0
3 1601 latch: library cache 2220128352 0000000084547860 215 0
4 1607 enq: SQ - contention 1397817350 0000000053510006 166684 0
5 1611 enq: SQ - contention 1397817350 0000000053510006 166684 0
6 1612 enq: SQ - contention 1397817350 0000000053510006 166684 0
7 1623 Streams AQ: qmn slave idle wait 0 00 0 0
8 1624 enq: SQ - contention 1397817350 0000000053510006 166684 0
enq: SQ - contention事件的P2值是sequence的object_id
SQL> select object_name from dba_objects where object_id=166684;
OBJECT_NAME
--------------------------------------------------------------------------------
SEQ1
创建Sequence赋予的CACHE值较小时,有enq:SQ-contention等待增加的趋势。
CACHE值较小时,内存上事先CACHE的值很快被耗尽,这时需要将数据字典信息物理修改后,再次执行CACHE的工作。
在此期间,因为一直拥有SQ锁,相应的enq:SQ-contention事件的等待时间也会延长。很不幸的是,在创建sequence时,将CACHE值的缺省值设定为较小的20.
因此创建使用量多的Sequence时,CACHE值应该取1000以上的较大值。