问题
I am running a database on my local system, and accessing it through my laptop in home network. Today, I happened to check the status of SYS objects, and found that DBMS_METADATA, and DATA_PUMP packages were invalid among others. I am unable to run EXPDP utilities as well. Any ideas on how to recompile this object and correct the status?
Thanks for the help!
回答1:
Well I finally figured it out - although this is a bit of a brute force method. Inside the admin tools, I had to run catalog.sql and catproc.sql - which re-created the sys objects.
This, followed by utlrp.sql resolved all my problems, and now all objects are succesfully compiled.
回答2:
sqlplus / as sysdba @?/rdbms/admin/utlrp
should recompile all invalid objects. Question that remains is: why/how/when did they become invalid, have they ever been valid? Did you check dba_registry?
select * from dba_registry;
Normally all components should be valid.
来源:https://stackoverflow.com/questions/14612619/dbms-metadata-and-other-packages-invalid