Page 1 of 1

Oracle - NoWait error

Posted: Thu Mar 15, 2007 7:00 pm
by Munish
Hi All,
I am facing another proble with 'NoWait Specified' error.
orclServiceDetailFact: Oracle call failed; sqlcode = -54; message: ORA-00054: resource busy and acquire with NOWAIT specified.
No one is working with the database however if I restart the server, it works fine for one or two runs before DS starts crashing again.

Thanks and regards,
Munish

Posted: Thu Mar 15, 2007 7:34 pm
by chulett
'Resouce busy' means you are attempting an operation that requires exclusive access to the table and you don't have it. Something like a 'truncate' for example. Your assertation that 'no one is working with the database' cannot be true. Perhaps this other person... is you? Do you have jobs or process that terminate abnormally before this error starts?

Work with your DBA, they can trace the processes, check for blocking locks or all of that fun stuff to figure out what process is causing you grief.

Posted: Thu Mar 15, 2007 7:41 pm
by oacvb
Chulet is right. One process might require exclusive access to the table (Might be for truncate table) but another process might have hold the table for inserting record. So the first process waits for the table for the specific period, if it didn't get the acess then it will result to your error. Still if you fell it's not right, Don't run any jobs from DS and run the job which gives error alone for 'N' times. Let us know what the result is.

Posted: Thu Mar 15, 2007 7:48 pm
by Munish
Good Thought.
I am infact 'Truncating the tables'.
However, these effects are committed before I restart my ETL job.
Can 'COMMIT' command be insufficient to release the locks on those tables ???

Thanks and regards,
Munish

Posted: Thu Mar 15, 2007 7:52 pm
by oacvb
No need to issue Commit while Truncating. So check with some other process when it happens as well check with your DBA.

Posted: Thu Mar 15, 2007 8:27 pm
by chulett
As noted, truncates are not committed and by the same token they cannot be rolled back. Once done, it's done and there ain't no going back. Now, if you are talking about other people issuing a 'commit' on their changes then yes, that will release any of those pesky locks that get in the way of things like a TRUNCATE. A rollback will do the same.