Ok heres what I can find out for now, the database is up and running but the apps are all failing, with ora-04091 and ora-04088. So I went to look at the first trigger that i got an error on, I use SQL Navigator, ,when I went to browse the triggers it came up with a popup err for every trigger in the schema saying" unable to find insert triggername here in ALL_OBJECTS", then the trigger would open up and it looks fine. So I went to look at all_objects and there are NO records with object type of TRIGGER??? How did this happen and how can I rebuild this aqll_objects table to reflect the triggers in my DB?? Pleeeeease hurry 200 people mad and breathing down my neck!!!!
You can try rebuilding your catalog by running the cat scripts for the database as sys, catalog.sql, catproc.sql, etc etc, but I don't know if that's the problem.
Someone with more experience would be of more help, sorry, just replying with what I can say fast :)
Yes, you can re-create your catalog with the cat* scripts. However, I agree with pwoneil in saying that this is probably not your problem.
The ORA-4091 error is typically an application design error. (See [url]http://govt.oracle.com/~tkyte/Mutate/index.html[/url] for solutions )
The text of the error is:
Error: ORA 4091
Text: table %s.%s is mutating, trigger/function may not see it
-------------------------------------------------------------------------------
Cause: A trigger (or a user defined plsql function that is referenced in
this statement) attempted to look at (or modify) a table that was
in the middle of being modified by the statement which fired it.
Action: Rewrite the trigger (or function) so it does not read that table.
I saw that about the error but was assuming the application(s) all worked reliably and then all of a sudden went south?
What could have happened in that timeframe?
Was there a move of development code to the production server? Perhaps it wasn't fully tested?
That might account for the mutating error, un-tested development code being put into the production database, but I don't know how that would corrupt your all_objects view in the data dictionary.
Do you know what else was happening in the database at the time it failed?
I think you all are right, I disabled that trigger and the system is working....BUT this did lead me to find the other problem of none of the triggers being listed in the data dictionary(all_objects). So if I re-run my catalog scripts I will rebuild the all_tables view(or table?)
Bookmarks