The DB is 12.1.0.2 with April 17 BP.
As the DB exists already, I followed How To Enable Database Vault in a 12c database ? (Doc ID 2112167.1).
Everything looks smooth, but unfortunately, at the Configuration of DV
exec dvsys.configure_dv('DVOWNER','DVMANAGER');failes with
ERROR at line 1: ORA-47500: Database Vault cannot be configured. ORA-06512: at "DVSYS.CONFIGURE_DV", line 23 ORA-06512: at "DVSYS.CONFIGURE_DV", line 72 ORA-06512: at line 2
ORA-47500 tells
47500, 00000, "Database Vault cannot be configured." // *Cause: The Database Vault configuration failed because some Database Vault // objects were missing. // *Action: Run the dvremov.sql script to remove Database Vault and then // reinstall Database Vault.
This was the first try: remove DV and start again.
Nothing changed.
Some research on MOS led to Known Issues In A Database Vault Environment (Doc ID 2330775.1)
there the explanation for ORA-47500 is:
Cause: There are many invalid objects in the database.
Solution: Run $ORACLE_HOME/rdbms/admin/utlrp.sql to validate the invalid objects
So all invalid objects were removed/fixed and - DV enabled again.
With same error.
A lot more investigation and a SR was required here.
When catmac.sql was run it completed and didn't show any hints it failed at the end.
Especially register DB and it's validation were shown successful:
SQL> DECLARE 2 num number; 3 BEGIN 4 dbms_registry.loaded('DV'); 5 SYS.validate_dv; 6 END; 7 / PL/SQL procedure successfully completed.
After a lot more investigation, an issue in the (manually activated) spool of catmac.sql was found:
ERROR at line 1: ORA-31011: XML parsing failed ORA-19213: error occurred in XML processing at lines 49 LPX-00217: invalid character 21 (U+0015) ORA-06512: at "DVSYS.DBMS_MACADM", line 160 ORA-06512: at line 2and this error stack leads to Installation Of Database Vault Fails With ORA-19213, LPX-00217: Invalid Character 21 (U+0015) (Doc ID 2324871.1)
As so often: the problem looks obvious, but only after it was found.
The problem is the environment variable
ORA_NLS10=<ORACLE_HOME>/nls/data/9idata
Which is a requirement for Oracle E-business Suite.
Here RAC has it fair share of complexity as this environment is not (only) defined in a .bash_profile or similar, but also in cluster registry:
srvctl getenv database -d <DB_UNIQUE_NAME> EBSSIB01_SITE1: ORA_NLS10=<ORACLE_HOME>/nls/data/9idata
The fix was to disable this setting:
srvctl unsetenv database -d <DB_UNIQUE_NAME> -t ORA_NLS10restart all instances
and now successfully enable DV at last!
Of course, afterwards ORA_NLS10 must be set again
srvctl setenv database -d <DB_UNIQUE_NAME> -t "ORA_NLS10=<ORACLE_HOME>/nls/data/9idata"and instances restarted once more.
Keine Kommentare:
Kommentar veröffentlichen