Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: Enqueue TX level 4 wait -- blocks dump -- Real Time case
Thank you Jonathan.
I changed the approach.
I started looking for this wait in realtime and I found it. As a matter of
fact it's still there andit seems it will be here for a while.
V$SESSION_WAIT
SQL> /
SID SEQ# EVENT
--------- --------- --------------------------------------------------------
P1TEXT P1P1RAW
P2TEXT P2P2RAW
P3TEXT P3P3RAW
112 49732 enqueue name|mode 1.415E+09 0000000054580006 id1 196661 0000000000030035 id2 514403 000000000007D963 0 8614 WAITING 121 49454 enqueue name|mode 1.415E+09 0000000054580004 id1 1114137 0000000000110019 id2 17942 0000000000004616 0 6072 WAITING
V$LOCK
1 select sid, type, id1, id2, lmode, request,ctime, block
2 from v$lock
3 where type in ('TX', 'TM')
4* order by 1
SQL> /
SID TY ID1 ID2 LMODE REQUEST CTIME BLOCK
--------- -- --------- --------- --------- --------- --------- ---------
102 TX 196661 514403 6 0 440693 1 <<<<<< Blocking 112
102 TM 45172 0 2 0 440542 0 102 TM 45137 0 2 0 440693 0 112 TX 1114137 17942 6 0 439874 1 <<<<<<<< Blocking 121 112 TM 45137 0 3 0 439874 0 112 TM 45172 0 3 0 439874 0 112 TX 196661 514403 0 6 439874 0 121 TX 1179714 7865 6 0 438439 0 121 TM 45172 0 3 0 438439 0 121 TX 1114137 17942 0 4 438439 0
V$SQL Don't know what's session 102 doing
SID SERIAL# OSUSER PIECE SQL_TEXT_CATEGORY,DESTINATION_CONTEXT,INVENTORY_SOURCE_CONTEXT,VENDOR_
--------- --------- ------------------------------ --------- ---------------
------------------------
121 11 erpapp2 0 INSERT INTO PO_REQUISITION_LINES ( REQUISITION_LINE_ID,REQUISI 121 11 erpapp2 1 ON_HEADER_ID,LINE_NUM,LINE_TYPE_ID,CATEGORY_ID,ITEM_DESCRIPTIO 121 11 erpapp2 2 UNIT_MEAS_LOOKUP_CODE,UNIT_PRICE,QUANTITY,DELIVER_TO_LOCATION_ 121 11 erpapp2 3 ,TO_PERSON_ID,LAST_UPDATE_DATE,LAST_UPDATED_BY,SOURCE_TYPE_COD 121 11 erpapp2 4 LAST_UPDATE_LOGIN,CREATION_DATE,CREATED_BY,ITEM_ID,ITEM_REVISI 121 11 erpapp2 5 ,QUANTITY_DELIVERED,SUGGESTED_BUYER_ID,ENCUMBERED_FLAG,RFQ_REQ 121 11 erpapp2 6 RED_FLAG,NEED_BY_DATE,LINE_LOCATION_ID,MODIFIED_BY_AGENT_FLAG, 121 11 erpapp2 7 RENT_REQ_LINE_ID,JUSTIFICATION,NOTE_TO_AGENT,NOTE_TO_RECEIVER, 121 11 erpapp2 8 RCHASING_AGENT_ID,DOCUMENT_TYPE_CODE,BLANKET_PO_HEADER_ID,BLAN 121 11 erpapp2 9 T_PO_LINE_NUM,CURRENCY_CODE,RATE_TYPE,RATE_DATE,RATE,CURRENCY_ 121 11 erpapp2 10 IT_PRICE,SUGGESTED_VENDOR_NAME,SUGGESTED_VENDOR_LOCATION,SUGGE 121 11 erpapp2 11 ED_VENDOR_CONTACT,SUGGESTED_VENDOR_PHONE,SUGGESTED_VENDOR_PROD 121 11 erpapp2 12 T_CODE,UN_NUMBER_ID,HAZARD_CLASS_ID,MUST_USE_SUGG_VENDOR_FLAG, 121 11 erpapp2 13 FERENCE_NUM,ON_RFQ_FLAG,URGENT_FLAG,CANCEL_FLAG,SOURCE_ORGANIZ 121 11 erpapp2 14 ION_ID,SOURCE_SUBINVENTORY,DESTINATION_TYPE_CODE,DESTINATION_O 121 11 erpapp2 15 ANIZATION_ID,DESTINATION_SUBINVENTORY,QUANTITY_CANCELLED,CANCE 121 11 erpapp2 16 DATE,CANCEL_REASON,CLOSED_CODE,AGENT_RETURN_NOTE,CHANGED_AFTER 121 11 erpapp2 17 ESEARCH_FLAG,VENDOR_ID,VENDOR_SITE_ID,VENDOR_CONTACT_ID,RESEAR 121 11 erpapp2 18 _AGENT_ID,ON_LINE_FLAG,WIP_ENTITY_ID,WIP_LINE_ID,WIP_REPETITIV 121 11 erpapp2 19 SCHEDULE_ID,WIP_OPERATION_SEQ_NUM,WIP_RESOURCE_SEQ_NUM,ATTRIBU 121 11 erpapp2 20
SID SERIAL# OSUSER PIECE SQL_TEXT:b100,:b101,:b102,:b103,:b104,:b105 )
--------- --------- ------------------------------ --------- ---------------
------------------------
121 11 erpapp2 21 URCE_CONTEXT,ATTRIBUTE1,ATTRIBUTE2,ATTRIBUTE3,ATTRIBUTE4,ATTRI 121 11 erpapp2 22 TE5,ATTRIBUTE6,ATTRIBUTE7,ATTRIBUTE8,ATTRIBUTE9,ATTRIBUTE10,AT 121 11 erpapp2 23 IBUTE11,ATTRIBUTE12,ATTRIBUTE13,ATTRIBUTE14,ATTRIBUTE15,BOM_RE 121 11 erpapp2 24 URCE_ID,USSGL_TRANSACTION_CODE,GOVERNMENT_CONTEXT,CLOSED_REASO 121 11 erpapp2 25 CLOSED_DATE,TRANSACTION_REASON_CODE,QUANTITY_RECEIVED,TAX_CODE 121 11 erpapp2 26 D,TAX_USER_OVERRIDE_FLAG,OKE_CONTRACT_HEADER_ID,OKE_CONTRACT_V 121 11 erpapp2 27 SION_ID,SECONDARY_UNIT_OF_MEASURE,SECONDARY_QUANTITY,PREFERRED 121 11 erpapp2 28 RADE ) VALUES ( :b1,:b2,:b3,:b4,:b5,:b6,:b7,:b8,:b9,:b10,:b11 121 11 erpapp2 29 b12,:b13,:b14,:b15,:b16,:b17,:b18,:b19,:b20,:b21,:b22,NVL(:b23 121 11 erpapp2 30 N'),:b24,:b25,:b26,:b27,:b28,:b29,:b30,:b31,:b32,:b33,:b34,:b3 121 11 erpapp2 31 :b36,:b37,:b38,:b39,:b40,:b41,:b42,:b43,:b44,:b45,:b46,:b47,:b 121 11 erpapp2 32 ,:b49,:b50,:b51,:b52,:b53,:b54,:b55,:b56,:b57,:b58,:b59,:b60,: 121 11 erpapp2 33 1,:b62,:b63,:b64,:b65,:b66,:b67,:b68,:b69,:b70,:b71,:b72,:b73, 121 11 erpapp2 34 74,:b75,:b76,:b77,:b78,:b79,:b80,:b81,:b82,:b83,:b84,:b85,:b86 121 11 erpapp2 35 b87,:b88,:b89,:b90,:b91,:b92,:b93,:b94,:b95,:b96,:b97,:b98,:b9 121 11 erpapp2 36
37 rows selected.
SID SERIAL# OSUSER PIECE SQL_TEXTREQUISITION_HEADER_ID = :b2
--------- --------- ------------------------------ --------- ---------------
------------------------
112 179 erpapp2 0 UPDATE PO_REQUISITION_HEADERS SET TRANSFERRED_TO_OE_FLAG=:b1 W 112 179 erpapp2 1 RE
PO_REQUISITION_HEADERS is a view for PO_REQUISITION_HEADERS_ALL. Object
45137
And PO_REQUISITION_LINES is a view for PO_REQUISITION_LINES_ALL. Object
45172.
As far as I can see here,
Session 121 is executing an INSERT into PO_REQUISITION_LINES_ALL. And it's taking:
TM - 3 on 45172 --
TX - 6 on 1114137
and it is also requesting a TX 4.
Session 112 is executing an UPDATE on PO_REQUISITION_HEADERS_ALL. Object
45137
And has:
TM- 3 on 45137
TM- 3 on 45172
<<<<<<<<<<Do not know why this is here
TX -6 on 1114137
and requires a TX - 6 on 196661
And finally session 102 is holding.
TM - 2 on 45172 TM - 2 on 45137 TX - 6 on 196661
So session 121 waits for 112, who is also waiting for 102. All on TX enqueues.
There isn't any FK nor PK on these tables.
Do you know where can I go from here?
I don't remember what was the formula to derivate the RBS number and slot in the transaction table from p1 and p2 TX enqueue........can you tell me?
(I am also going to take a processtate dump on 102 to see if I can see
what's that session doing.
I also thought on taking a enqueues dump but I'm not sure if this will be of
any help.)
Thank you very much.
Regards,
Diego.
> > Note in-line > > Regards > > Jonathan Lewis > http://www.jlcomp.demon.co.uk > > The Co-operative Oracle Users' FAQ > http://www.jlcomp.demon.co.uk/faq/ind_faq.html > > Optimising Oracle Seminar > http://www.jlcomp.demon.co.uk/seminar.html > > June 2004 UK Manchester > July 2004 Iceland > July 2004 USA California > Aug 2004 USA North Carolina > Sept 2004 UK Manchester > Sept 2004 USA NYC > Oct 2004 USA Boston > > > ----- Original Message ----- > From: "Diego Cutrone" <diegocutrone_at_yahoo.com.ar> > To: <oracle-l_at_freelists.org> > Sent: Monday, May 03, 2004 10:56 PM > Subject: Re: Enqueue TX level 4 wait -- blocks dump > Let me tell you what I tried to do. > For indexes for example, in many blocks all the ITLs had been used, > wouldn't that mean that at some point in time there were 11 simultaneous > transactions active? (counting also the recursive ones) > > > [jl] No. Although indexes can be a little funny in their use of ITL > [jl] entries, the basic principle is that a new transaction will use > [jl] the itl entry that has the oldes commit scn in it. So this means > [jl] that you will tend to see all 11 ITLs used. > > Index example. > --------------------------------------------------------------------------
-- > -------------------------------- > > Block header dump: 0x55802364 > Object id on Block? Y > seg/obj: 0xb456 csc: 0x00.d86ff6c itc: 11 flg: - typ: 2 - INDEX > fsl: 0 fnx: 0x0 ver: 0x01 > > Itl Xid Uba Flag Lck Scn/Fsc > 0x01 xid: 0x0002.012.00019480 uba: 0x10c0170e.240b.02 C--- 0 scn > 0x00 > 00.06a5a457 > 0x02 xid: 0x0006.00d.000335f6 uba: 0x10c06d67.464b.0e --U- 1 fsc > 0x00 > 00.0d96cc25 > 0x03 xid: 0x0001.031.00032a0e uba: 0x10c00b0f.456c.0a --U- 1 fsc > 0x00 > 00.0d96cc29 > 0x04 xid: 0x0003.041.00033018 uba: 0x10c03b0c.44db.0c --U- 1 fsc > 0x00 > 00.0d96cc3b > 0x05 xid: 0x0003.002.00033015 uba: 0x10c03b0f.44db.19 --U- 1 fsc > 0x00 > 00.0d96cde5 > 0x06 xid: 0x0003.039.00032c31 uba: 0x10c0cd44.447e.06 --U- 10 fsc > 0x00 > 00.0d86ff6d > 0x07 xid: 0x0003.021.00033019 uba: 0x10c03b0b.44db.0e --U- 1 fsc > 0x00 > 00.0d96cc21 > 0x08 xid: 0x0007.026.000330af uba: 0x10c07ea9.43bd.2e --U- 1 fsc > 0x00 > 00.0d8ed98e > 0x09 xid: 0x0002.035.00031143 uba: 0x59401d01.4483.1b --U- 1 fsc > 0x00 > 00.0d8ed992 > 0x0a xid: 0x0006.010.000335f7 uba: 0x10c06d66.464b.11 --U- 1 fsc > 0x00 > 00.0d96cc19 > 0x0b xid: 0x0001.00d.00032a27 uba: 0x10c00b0e.456c.0d --U- 1 fsc > 0x00 > 00.0d96cc1d > > Leaf block dump > =============== > header address 9223372041150438708=0x80000001000a9d34 > kdxcolev 0 > kdxcolok 0 > kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y > kdxconco 3 > kdxcosdc 1 > kdxconro 514 > kdxcofbo 1064=0x428 > kdxcofeo 1118=0x45e > kdxcoavs 54 > kdxlespl 0 > kdxlende 0 > kdxlenxt 1434461029=0x55802365 > kdxleprv 1434456775=0x558012c7 > kdxledsz 0 > kdxlebksz 7800 > > -------------------------------------------------------------------------- -- > -------------------------------- > There are some index blocks which have all the ITL slots used and some of > them that don't. They have only 2 slots used. > For the table, all ITLs have been used for almost all the table's blocks. > > [jl] There are some oddities with indexes and ITLs. It is possible > [jl] that the blocks with only two slots used are branch blocks. > [jl] There is also the oddity that when the first block created for the > [jl] index (which is both a leaf and branch) splits, both the leaf blocks > [jl] inherit the ITL count from the parent. Since the first block created > [jl] is a branch block, it starts with only 2 ITL slots - whatever you > [jl] specify for initrans. > > By checking the ITC value I was trying to find an ITC higher than 11, if I > was lucky and found something like that, > this would have meant that at some point in time there were more than 11 > transactions going on and that an additional > ITL slot was needed and was allocated (as maxtrans and pctfree allowed it). > am I correct? > > [jl] Yes - but if itc was greater than 11, you would see more than 11 > [jl] slots in the ITL - slots do not get reclaimed. > > I really appreciate your comments. > Thank you. > Regards, > Diego. > > > > ---------------------------------------------------------------- > Please see the official ORACLE-L FAQ: http://www.orafaq.com > ---------------------------------------------------------------- > To unsubscribe send email to: oracle-l-request_at_freelists.org > put 'unsubscribe' in the subject line. > -- > Archives are at http://www.freelists.org/archives/oracle-l/ > FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html > ----------------------------------------------------------------- >Received on Mon May 03 2004 - 15:34:03 CDT
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to: oracle-l-request_at_freelists.org put 'unsubscribe' in the subject line. -- Archives are at http://www.freelists.org/archives/oracle-l/ FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------
![]() |
![]() |