We’re in the process of applying Exadata Bundle Patch 5, and ran into an issue I wanted to share.
Step 5 in the post-install instructions in the README says:
5. Recompile all invalid objects before using in catmet2
— recompile dbms_metadata_int to enable the diffing code
alter package dbms_metadata_int compile plsql_ccflags = ‘ku$xml_enabled:true’;
— recompile dbms_metadata_util to enable the xmlschema load code
alter package dbms_metadata_util compile plsql_ccflags = ‘ku$xml_enabled:true’;
NOTE: If warnings are received after running the catmet2.sql and the alter
packages for dbms_metadata_int and dbms_metadata_util like below :
Received “Warning: Package altered with compilation errors.”
Please recompile those packages manually and re-run catmet2.sql:
alter package DBMS_METADATA_INT compile body;
alter package DBMS_METADATA_UTIL compile body;
The system didn’t have a XDB user, and likely because of this, the two “alter package” commands invalidated the dbms_metadata objects. The subsequent recompilations all failed. On advice from Oracle support, we ended up backing out the patch and re-applying without running these “alter package” commands, and confirmed that DBMS_METADATA works fine.
So if you don’t have XDB installed, skip the “alter package” commands. I hope the README is updated soon.