ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired while gathering stats [message #605694] |
Mon, 13 January 2014 12:47 |
athensromania
Messages: 46 Registered: July 2007 Location: Valencia,Spain
|
Member |
|
|
Hi,
I'm not sure if this is the right post, I'm testing one procedure that can be running in parallel with this steps:
1.- Insert multiple rows in table T1
2.- COMMIT
3.- Execute gather table statistics for T1
If I run three jobs calling the same procedure some times, gives a ORA-00054: resource busy error due to the gathering of the statistics is locking the table in the other jobs.
My approach is to
1.- Check if the gathering is being executed
1.1.- If yes then : wait 5 secs
1.2.- If not execute statistics
My problem is that I have check the Oracle documentation and I don't know how to check if the dbms_stats.gather_table_stats is still running
Can somebody give me a clue?
Thanks.
|
|
|
|
|
Re: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired while gathering stats [message #605709 is a reply to message #605694] |
Mon, 13 January 2014 14:05 |
Lalit Kumar B
Messages: 3174 Registered: May 2013 Location: World Wide on the Web
|
Senior Member |
|
|
athensromania wrote on Tue, 14 January 2014 00:17I'm testing one procedure that can be running in parallel with this steps:
1.- Insert multiple rows in table T1
2.- COMMIT
3.- Execute gather table statistics for T1
PL/SQL is a procedural language, it means, you will see the next command/statement/step being executed only after the current step completes. So, when you say that the above steps are executed in parallel, what does it actually mean? Are you scheduling them as parallel jobs or one after other in procedural way?
|
|
|
|
|
|
|
|