【oracle案例】ORA-01722

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

[[email protected] ~]$ cd $ORACLE_HOME/rdbms/lib/

[[email protected] 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

[[email protected] lib]$

# 执行relink

[[email protected] lib]$ cd $ORACLE_HOME/bin

[[email protected] bin]$ relink all

writing relink log to:/U01/app/oracle/product/11.2.3/db_1/install/relink.log

[[email protected] 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 可以轻松快捷地保护现有应用程序,且不影响应用程序的功能。

【oracle案例】ORA-01722

时间: 2024-11-01 03:41:14

【oracle案例】ORA-01722的相关文章

讨厌麻烦的ora 01722无效数字

webservice开发过程中,数据库由原来的oracle改为现在的sql server.然后重新调试,结果报出ora 01722无效数字的错误. 由于连接oracle数据库的时候并没有问题,所以一开始我以为是数据库不同,导致部分数据类型差异,(但又觉得有点离谱,切换数据库,不至于会导致这种错误吧) 经过排查,总结得出如下: 1.对于两个类型不匹配(一个数字类型,一个非数字类型,同下)的值进行赋值操作;2.两个类型不匹配的值进行比较操作(例如,"=");3.to_number函数中的值

【oracle案例】ORA-19573

1.1.1. ORA-19573 日期:2014-05-21 17:25 环境:测试环境 [情景描述] 数据库实例处于OPEN状态(READ WRITE),这时在RMAN中执行数据库还原.恢复操作遇到报错. [报错信息] RMAN> run { 2> allocate channel ch1 type disk; 3> allocate channel ch2 type disk; 4> set until scn 1520939; 5> restore database;

【oracle案例】ORA-19502,ORA-27072

1.1.1. ORA-19502,ORA-27072 日期:2014-05-12 00:12 环境:测试机 [错误号] $ oerr ora 19502 19502, 00000, "write error on file\"%s\", block number %s (block size=%s)" // *Cause: write error on output file // *Action: check the file $ oerr ora 27072 2

【oracle案例】RMAN-06556

1.1.1. RMAN-06556 日期:2014-05-21 16:33 环境:测试环境 [情景描述] 使用RMAN进行了全库备份,但是在进行不完全恢复的时候遇到报错,提示某个数据文件必须从比给出的SCN更早的备份中恢复. [报错信息] 备份数据库: RMAN> backup database plus archivelog; Starting backup at 2014-05-21 15:02:13 current log archived ...... Finished backup a

【oracle案例】RMAN-08138

1.1.1. RMAN-08138 日期:2014-05-21 14:36 环境:测试环境 [情景描述] 在测试机上,使用RMAN来删除归档日志文件的时候,提示WARNING警告,并且归档日志无法删除. [报错信息] RMAN> delete archivelog all completed before 'sysdate'; released channel: ORA_DISK_1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=12

ORA-01565: error in identifying file '+DATA/ORACLE/spfileORACLE.ora'

操作系统为suse11sp3_x86_64位,数据库为11204. 不小心修改了RAC目录及子目录的权限,资源启动后发现两个节点数据库都未启动,如下: jason1:/u01/app/11.2.0/grid/bin # ./crsctl stat res -t -------------------------------------------------------------------------------- NAME           TARGET  STATE        SE

oracle listener.ora的host不能使localhost,而应该是该机器名,否则不能用ip地址进行连接

# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (AD

Win7x64中使用PowerDesigner连接Oralce数据库报“[Oracle][ODBC][Ora]ORA-12154:TNS:无法解析指定的连接标识符”错误解决方法

错误描述 操作系统是Win7 x64,Oracle服务端是Oracle11g x64,客户端是Oracle10gR2 x86. 使用PL-SQL Developer连接正常 使用系统ODBC连接正常.这里要注意的是,64位系统默认启动的是64位ODBC数据源管理器,默认指向的是服务端连接,所以需要为Oracle服务端也配置TNS Service Name,否则同样会连接报错.PowerDesigner默认启动的是32位的ODBC数据源管理器,程序路径为“%SystemRoot%\SysWOW64

oracle init.ora常用配置详解

参考网上整理了重要的配置文件 db_name = "51cto"   一个数据库标识符,应与CREATE DATABASE 语句中指定的名称相对应. instance_name = 51cto在多个例程使用相同服务名的情况下,用来唯一地标识一个数据库例程. INSTANCE_NAME 不应与 SID 混淆,它实际上是对在一台主机上共享内存的各个例程的唯一标识. service_names =  51cto为 Net8 监听程序可用于识别一个服务 (如:复制环境中的一个特定数据库) 的例