When the data dictionary is currupted, how do I re-create it without disturbing the database? In short, you cannot. Some data dictionary corruptions leave the database in an unusable state. The best recourse here is to restore from a backup before the corruption set in. Other data dictionary corruptions will stop certain operations from taking place. Again, restore from a backup to restore the data dictionary to a non-corrupt state...
In some cases, you can rerun catalog.sql and catproc.sql (as SYS) to re-create some data dictionary objects like views, packages and procedures. This can be run at any time. But this will not fix any corruptions with the data dictionary tables.
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.