Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Deadlock Detection
Hi
I think, you may be hitting another parameter before you exceed distributed transactions limit. If you look at your original trace the enqueue is DX-0000003b-00000000. Here 3b is hex representation of 59. Considering the initial allocation is 60, this may be the last element in the distributed transactions array. So, why would a process select a last element of the array and wait for that transaction to complete. I think, there are two other parameters open_links and open_links_per_instance need to be increased. Default value for these parameters are 4 and 4. So, I think, if the instance does not have enough links, then it pseudo randomly selects a distributed transaction slot array element and waits for it. Again, this is my guess and it would be worth a try to increase these two parameters and see whether that fixes the problem or !
!
not.
Mr. Steve Adams,
Can you please explain this to us ?
Thanks
Riyaj "Re-yas" Shamsudeen
Certified Oracle DBA
i2 technologies www.i2.com
"Mercadante, Thomas F" <NDATFM_at_labor.state.ny.us>
Sent by: root_at_fatcity.com
06/22/01 02:48 PM
Please respond to ORACLE-L
To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> cc: Subject: RE: Deadlock Detection
Anita & Riyaj,
Thanks for the replies. My email server "went away" for awhile, so I am just getting your replies now.
Anita, I am able to modify INITRANS for the tables (I tried this on a test table), and I will try this. Right now, we are performing other stress tests to narrow down the problem to be sure that it is update related (has to be, right?).
Riyaj, I checked the value of max_utilization vs initial_Allocation in the v$resource_Limit view for distributed transactions. Max_util=5, while init_alloc=61. Is the value of 61 a default? I do not have it set in my init.ora (maybe I should! - something else to try). The value of Transactions is max=5, init=247 and limit=247.
It doesn't seem to be stressed according to these values, right?
As for distributed Trans, we are using VB calling ADO using COM+ connecting to Oracle. My impression is that ADO and COM+ are performing the distributed trans, but that the ADO performs the commits?
I'm not at all familiar with how ADO/COM+ works, but I guess I better bring a book home and figure it out.
Any other ideas, I would greatly appreciate it.
thanks
Tom Mercadante
Oracle Certified Professional
-----Original Message-----
From: Riyaj_Shamsudeen_at_i2.com [mailto:Riyaj_Shamsudeen_at_i2.com]
Sent: Friday, June 22, 2001 2:17 PM
To: Multiple recipients of list ORACLE-L
Subject: Re: Deadlock Detection
Hi Anita
If it is an ITL problem, then the resource type would be TX instead of DX. If the ITL table is full then the process requesting an ITL entry in that block will randomly select one of the transaction holding an ITL entry and wait for that process to complete or rollback. Since the process will wait for a transaction and as you are well aware of, the transaction id is a slot in a rollback segment and hence the enqueue type would be TX. Since this trace indicates that it is a DX type enqueue I would incline to think that this is a distributed transaction problem. Feel free to correct me if I am missing something..
Thanks
Riyaj "Re-yas" Shamsudeen
Certified Oracle DBA
i2 technologies www.i2.com
"A. Bardeen" <abardeen1_at_yahoo.com>
Sent by: root_at_fatcity.com
06/22/01 10:50 AM
Please respond to ORACLE-L
To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> cc: Subject: Re: Deadlock Detection
Tom,
The information you need should be in the trace file, but it's not in the excerpt you've listed, but the true problem is listed:
> Rows waited on:
> Session 27: no row
"No row" indicates that the deadlock is due to a lack of available ITL slots in the datablock.
Unfortunately resolving this requires recreating the object with either a high initrans value (to explicitly reserve space for more ITL slots) or a higher pctfree value (to give the ITL table more room to grow).
Depending on the application it could also be that multiple sessions are acquiring the same block off the free list so using multiple free lists could also help. Starting with 8.1.6 this setting can be changed dynamically; prior to that you must recreate the object.
Note: 62365.1 also has some good info
HTH,
-- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: A. Bardeen INET: abardeen1_at_yahoo.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Fri Jun 22 2001 - 14:50:38 CDT