客户某sap数据库发现大量的等待,简要记录下:
EVENT SECONDS_IN_WAIT
----- -------------------------------------------------- ---------------
enq: TX - allocate ITL entry 1313
根据相关等待找到事件发生的会话SID为3750
SQL> select sid,sql_id from v$session where sid='3750';
SID SQL_ID
---------- -------------
3750 05sn5d18s0zcy
sql语句为:
SQL> select sql_text from v$sql where sql_id = '05sn5d18s0zcy';
SQL_TEXT
--------------------------------------------------------------------------------
SELECT * FROM "BKPF" WHERE "MANDT"=:A0 AND "BUKRS"=:A1 AND "BELNR"=:A2 AND "GJAHR"=:A3
知道是表BKPF发生的等待ITL分配的事件
取出建表的语句
CREATE TABLE "SAPSR3"."BKPF"
( "
..........................
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 0 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 16384 NEXT 2621440 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DE
FAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "PSAPSR3"
处理办法:
修改增加相关表和索引的参数,重组BKPF表。
此外这个表更好的是使用ASSM的段管理方式。
By DBA老菜
=========================================================================
-- The End --