Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: what's mean of "enqueue hash chains" latch?
Are you sure it's using PQ?
Run it in the explain plan process, and get the execution plan.
Regards,
Waleed
-----Original Message-----
From: eygle [mailto:oracle.unix_at_gmail.com]=20
Sent: Saturday, January 08, 2005 8:56 AM
To: oracle-l_at_freelists.org
Subject: what's mean of "enqueue hash chains" latch?
hello;
We have a Oracle 8.1.7.0.0 Database on Solaris8. With a parallel insert , database slow down heavy suddently.
I find lots of latch wait in database,from statspack(with 15 minutes elapse) list:
Pct Avg Pct Get Get Slps NoWait NoWait Latch Name Requests Miss /Miss RequestsMiss
----------------------------- -------------- ------ ------ ------------ ------ active checkpoint queue latch 260 0.0 0 cache buffers chains 47,228,551 0.0 552 0.0 checkpoint queue latch 3,263 0.0 0 dml lock allocation 46,899,746 12.1 0.0 0 enqueue hash chains 46,899,333 39.2 0.0 0 enqueues 849 0.0 0 job_queue_processes parameter 12 0.0 0 ktm global data 2 0.0 0 library cache 32,739 0.0 0.0 0 library cache load lock 70 0.0 0 list of block allocation 36 0.0 0
and
Latch Sleep breakdown for DB: QCB Instance: qcb Snaps: 150 -151
-> ordered by misses desc
Get Spin & Latch Name Requests Misses Sleeps Sleeps 1->4 -------------------------- -------------- ----------- ----------- ------------ enqueue hash chains 46,899,333 18,367,985 6,312 18361675/630 8/2/0/0 dml lock allocation 46,899,746 5,678,834 1,228 5677606/1228 /0/0/0 -------------------------------------------------------------Latch Miss Sources for DB: QCB Instance: qcb Snaps: 150 -151
NoWait Waiter Latch Name Where Misses SleepsSleeps
------------------------ -------------------------- ------- ---------- ------- dml lock allocation ktaiam 0 615 444 dml lock allocation ktaidm 0 604 784 enqueue hash chains ksqrcl 0 3,778 3,453 enqueue hash chains ksqgtl3 0 2,472 2,832 -------------------------------------------------------------
I can not find more info about "enqueue hash chains". What' s it mean and how to reduce it ?
The SQL of parallel insert is :
insert /*+ append parallel(fc_costgatherresult_m,4) */ into=20
fc_costgatherresult_m
(kjnd,kjqj,pk_dwbm,pk_deptdoc,pk_psndoc,isproduct,pk_productorbalance,ac
countcurrtype,producttype,pk_costitem,originaldwbm,originaldept,calmny,p
k_client,clienttype,pk_credittype)
select /*+ parallel(fc_costcalresult_m,4) */
'2004','11',pk_dwbm,pk_deptdoc,pk_psndoc,isproduct,pk_productorbalance,a
ccountcurrtype,producttype,pk_costitem,originaldwbm,originaldept,sum(cal
mny),pk_client,clienttype,pk_credittype
from fc_costcalresult_m where pk_dwbm =3D originaldwbm
group by
pk_dwbm,pk_deptdoc,pk_psndoc,isproduct,pk_productorbalance,accountcurrty
pe,producttype,pk_costitem,originaldwbm,originaldept,pk_client,clienttyp
e,pk_credittype
All the table is partition table.
Table fc_costcalresult_m with nearly 40G data.
And we have the parameter:
dml_locks =3D 2000
enqueue_resources =3D 2200
I also want to know why "dml lock allocation" Requests is so high?
Any suggestion is appreciate.
-- http://www.freelists.org/webpage/oracle-l -- http://www.freelists.org/webpage/oracle-lReceived on Mon Jan 10 2005 - 09:55:43 CST
![]() |
![]() |