程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 【oracle案例】ORA-01722

【oracle案例】ORA-01722

編輯:Oracle教程

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.stanford.edu/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 可以輕松快捷地保護現有應用程序,且不影響應用程序的功能。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved