sequence cache太小导致enq: SQ – contention

来源:这里教程网 时间:2026-03-03 20:03:49 作者:

当业务卡的时候,发现大量等待事件为enq: SQ – contention,检查awr的top 5事件: sql语句对sequence的调用非常频繁:

SQL> select SEQUENCE_OWNER,SEQUENCE_NAME,CACHE_SIZE from dba_sequences where SEQUENCE_name='SQ_SNO';
 
SEQUENCE_OWNER                 SEQUENCE_NAME                  CACHE_SIZE
------------------------------ ------------------------------ ----------
DQYB                           SQ_SNO                                20

调整该 sequence的 cache _size大小

SQL> alter sequence SQ_SNO cache 1000;
SQL> alter sequence SB_PRSENO  cache 1000;

数据库性能得到了很大的提升,dbtime从600多min降到24min,业务也恢复正常。

相关推荐