1.1. ORA-01722 日期:2014-06-05 14:09 环境:測试环境 【情景描写叙述】 在数据库的升级过程中,运行SQL> @?/rdbms/admin/catupgrd.sql脚本的时候遇到报错退出。 【报错信息】 DOC>####################################################################### DOC> The following statement will cause an "ORA-01722: invalidnumber" DOC> error if the Oracle Database Vault option is TRUE. Upgrades cannot DOC> be run with the Oracle Database Vault option set to TRUE since DOC> AS SYSDBA connections are restricted. DOC> DOC> Perform "ALTER SYSTEM CHECKPOINT" prior to "SHUTDOWNABORT", relink DOC> the server without the Database Vault option, and restart the server DOC> using UPGRADE mode. DOC> DOC> DOC>####################################################################### DOC>####################################################################### DOC># SELECT TO_NUMBER('DATA_VAULT_OPTION_ON')FROM v$option * ERROR at line 1: ORA-01722: invalid number 【报错原因】 该数据库实例配置了Oracle Database Vault功能。 【解决方法】 关闭Oracle Database Vault功能后,又一次运行升级操作。 关闭Oracle Database Vault功能: # 查看是否开启了OracleDatabase Vault功能: SQL> col parameter for a30 SQL> col value for a20 SQL> SELECT * FROM V$OPTION WHEREPARAMETER = 'Oracle Database Vault'; PARAMETER VALUE -------------------------------------------------- Oracle Database Vault TRUE # 关闭数据库实例 SQL> shutdown immediate SQL> exit $ emctl stop dbconsole $ lsnrctl stop # 编译ins_rdbms.mk [oracle@oracle ~]$ cd $ORACLE_HOME/rdbms/lib/ [oracle@oracle lib]$ make -f ins_rdbms.mkdv_off /usr/bin/ar d/U01/app/oracle/product/11.2.3/db_1/rdbms/lib/libknlopt.a kzvidv.o /usr/bin/ar cr/U01/app/oracle/product/11.2.3/db_1/rdbms/lib/libknlopt.a/U01/app/oracle/product/11.2.3/db_1/rdbms/lib/kzvndv.o [oracle@oracle lib]$ # 运行relink [oracle@oracle lib]$ cd $ORACLE_HOME/bin [oracle@oracle bin]$ relink all writing relink log to:/U01/app/oracle/product/11.2.3/db_1/install/relink.log [oracle@oracle bin]$ # 启动数据库实例 $ sqlplus / as sysdba SQL> startup # 检查 Oracle DatabaseVault状态 SQL> SELECT * FROM V$OPTION WHERE PARAMETER= 'Oracle Database Vault'; PARAMETER VALUE ------------------------------ ---------- Oracle Database Vault FALSE SQL> 【參考资料】 关闭/开启Oracle Database Vault: http://docs.oracle.com/cd/B28359_01/server.111/b31222/dvdisabl.htm#DVADM70984 安装Oracle Database Vault: http://www./dept/itss/docs/oracle/10gR2/install.102/b32496/upgrd.htm 什么是Oralce Database Vault: OracleDatabase Vault 可帮助用户解决现有的极为棘手的安全问题,即防止内部的威胁,满足合规性要求以及实现职责划分。 Oracle Database Vault 能防止 DBA 查看应用程序数据,攻克了必须保护涉及合作伙伴、员工和顾客的敏感业务信息或隐私数据的客户最为操心的问题。Oracle Database Vault 可防止高权限的应用程序 DBA 訪问其它的应用程序、运行其权限之外的任务。Oracle Database Vault 能够轻松快捷地保护现有应用程序。且不影响应用程序的功能。 来源:http://www./content-2-145251.html |
|