We have a 4-node RACed database (9.2.0.2.0). Last night many of our nightly batch jobs aborted with this error:

ORA-04021: timeout occurred while waiting to lock object SYS.DBMS_SYS_SQL

They were all trying to do a truncate table, via a package that we have created to control truncate on specific schemas (this pkg has been working fine for months-no problems). This error was received on all the instances. I did take a look at the global view of v$access, and saw 1 or 2 other processes using the package, but nothing was different from the previous nights; same schedule. I did not see anything in dba_blockers. Also, I was able to use the package to do a truncate, as a test, from a sql*plus session !

Anything else I should have done, looked into ?

We ended up recyclying all the instances, and the problem was gone ! I hate these kind of issues - nothing to look into, no traces, no dump.

I would appreciate any input-thanks.