When the catupgrd.sql is run during the manual upgrade process, it ends with “ORA-01722: invalid number” error due to the Database Vault configuration in the database.
In this case, the Database Vault must be set to off.
1 2 3 4 |
SELECT TO_NUMBER('LABEL_SECURITY_OPTION_OFF') FROM v$option * ERROR at line 1: ORA-01722: invalid number |
You can set to off the Database Vault with the following steps for the solution of the error. All services that use the relevant binary must be closed beforehand.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[oracle@oradb01 ~]$ cd $ORACLE_HOME/rdbms/lib [oracle@oradb01 lib]$ make -f ins_rdbms.mk dv_off /usr/bin/ar cr /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/lib/libknlopt.a /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/lib/kzvndv.o [oracle@oradb01 lib]$ make -f ins_rdbms.mk lbac_on /usr/bin/ar d /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/lib/libknlopt.a kzlnlbac.o /usr/bin/ar cr /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/lib/libknlopt.a /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/lib/kzlilbac.o [oracle@oradb01 lib]$ cd $ORACLE_HOME/bin [oracle@oradb01 bin]$ relink all writing relink log to: /u01/app/oracle/product/11.2.0.4/dbhome_1/install/relink.log |
If you are using an RAC database, these operations must be performed on all nodes separately.
Then restart with “startup upgrade” and you can run catupgrd.sql successfully.