oracle常见错误及代码

更新时间:2024-01-23 12:03:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Oracle数据库TNS常见错误解决方法 1、ORA-12541:TNS:没有监听器

原因:没有启动监听器或者监听器损坏。若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用“Net Configuration Assistant”工具向导之“监听程序配置”增加一个监听器即可(基本不用写任何信息,一路OK。在添加之前可能需要把所有的监听器先删!)

2、ORA-12500:TNS:监听程序无法启动专用服务器进程或ORA-12560:TNS:协议适配器错误

原因:ORACLE的数据库服务没有启动。使用命令net start ORACLESERVICEORADB(ORADB为数据库名字)即可。如果仍没有解决,请继续向下看。

3、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:

1)ORADIM -DELETE -SID oradb 删除数据库服务项 2)ORADIM -NEW -SID oradb 新增数据库服务项 注:这个过程中如果出错,就重启计算机! 4、ORA-12154:TNS:能解析服务名

原因:ORACLE的网络服务名没有正确配置。请使用“Net8 Configuration Assistant”工具向导之“本地网络服务名配置”配置TNS即可。如果仍没有解决,请继续向下看。 5、ORA-1034 :TNS:ORACLE不可用

原因:ORACLE的数据库服务正确启动,但是数据库没有打开! 使用命令:

1)svrmgrl 启动服务管理器

2)connect internal 以internal身份登陆 3)startup 打开数据库

6、ORA-12560:TNS:协议适配器错误(顽固性的) 原因:未知。

解决:必杀技--打开“Windows任务管理器”,杀死ORACLE.exe及ORADIM.exe进程,书写自己的ora_startup.bat,执行之! PS:

1、ora_startup.bat:

net start OracleOraHome81TNSListener net start ORACLESERVICEORADB

svrmgrl 一般情况下不用,不过有时少不了它的,具体步骤见第5步。 2、ora_shutdown.bat:

net stop OracleOraHome81TNSListener net stop ORACLESERVICEORADB

3、ORACLE相关服务名请参见“管理工具”之“服务”中以ORACLE开头的服务名 1、TNS-12154 Error 或ORA-12154 特征:SQL*NET没有找到连接串或别名

原因1:(1)没有找到TNSNAMES.ORA文件,该文件的缺省路径为:

windows 95/98 client

sql*Net 2.x - ORAWIN95NETWORKADMIN

Net8 - ORAWIN95NET80admin

Net8i - ORACLEORA81NETWORKADMIN

windows NT client

sql*Net 2.x - ORANTNETWORKADMIN

Net8 - ORANTNET80ADMIN

Net8i - ORACLEORA81NETWORKADMIN

UNIX Client

$ORACLE_HOME/NETWORK/ADMIN

or /etc or /var/opt/oracle

. 在客户端设置TNS_ADMIN

在注册表 HKEY_LOCAL_MACHINESoftwareOracle 设置TNS_ADMIN. TNS_ADMIN 指向TNSNAMES.ORA文件的位置 措施:按上述说明检查文件位置

原因2:(2)TNSNAMES.ORA文件中内容格式不对 措施:检查文件格式,标准格式如下:

DEV1.WORLD =

(DESCRIPTION = (ADDRESS_LIST =

(ADDRESS = (PROTOCOL = tcp) (Host = 145.45.78.56) (Port = 1521) ) )

(CONNECT_DATA = (SID = ORCL) ) )

原因3: (3) TNSNAMES.ORA与SQLNET.ORA不一致 措施: SQLNET.ORA格式如下:

TRACE_LEVEL_CLIENT = OFF

SQLNET.AUTHENTICATION_SERVICES = (NONE)

NAMES.DIRECTORY_PATH = (TNSNAMES)

AUTOMATIC_IPC = OFF

因为没有NAMES.DEFAULT_DOMAIN=world,所以DEV1.WORLD连接串不能连接,可以在TNSNAMES.ORA中增加

DEV1 =

(DESCRIPTION = (ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP) (Host = 145.45.78.56) (Port = 1521) ) )

(CONNECT_DATA = (SID = ORCL) ) )

此时可连接。

2、NL-00462 Error 或ORA-00462 特征:监听器无法启动

原因:LISTENER.ORA文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。

措施:重新编辑文件

3、NL-00405 Error 或ORA-00405 特征:LISTENER.ORA文件不可读或找不到

原因:LISTENER.ORA文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。

措施:确保文件位置在缺省目录下$ORACLE_HOME/network/admin,或设置环境变量TNS_ADMIN指向这个文件所在位置。 4、TNS-01155 Error 或ORA-01155

特征:LISTENER.ORA文件中SID_LIST_LISTENER变量赋值不对

原因:LISTENER.ORA文件内容错误,SID_LIST_LISTENER变量赋值不对。

措施:确保文件中赋值正确,$ORACLE_HOME/network/admin/samples目录下有样例文件,可供参考。

5、TNS-12537 、TNS-12560、TNS-00507 Error 特征:LISTENER.ORA文件中引用了一个无效的协议适配程序 原因:LISTENER.ORA文件中PROCOTOL变量赋值不对。

措施:确保文件中赋值正确,一般用tcp协议,$ORACLE_HOME/network/admin/samples目录下有样例文件,可供参考。用adapters tnslsnr检查协议程序 6、TNS-12203 Error 特征:不能与目标连接

原因:监听器是否启动;别名是否配置

措施:检查监听器是否启动,例如lsnrctl status;检查TNSNAMES.ORA的别名配置 7、TNS-12533 Error 特征:不能与目标连接 原因:非法的address参数,

措施:检查TNSNAMES.ORA的ADDRESS参数

1)用tnsping net_service_name测试网络服务名是否配置正确!

2)用sqlplus程序通过test网络服务名进行测试,如sqlplus system/manager@test。如果不能连接到数据库,则在tnsname.ora文件中的test网络服务名(net service)后面加上sqlnet.ora文件NAMES.DEFAULT_DOMAIN参数的值,

Oracle_错误代码集合

ORA-17001=内部错误

ORA-17002=Io 异常

ORA-17003=无效的列索引

ORA-17004=无效的列类型

ORA-17005=不支持的列类型

ORA-17006=列名无效

ORA-17007=无效的动态列

ORA-17008=关闭的连接

ORA-17009=关闭的语句

ORA-17010=关闭的 Resultset

ORA-17011=结果集已耗尽

ORA-17012=参数类型冲突

ORA-17014=未调用 ResultSet.next

ORA-17015=语句被取消

ORA-17016=语句超时

ORA-17017=已初始化游标

ORA-17018=无效的游标

ORA-17019=只能描述查询

ORA-17020=无效的行预取

ORA-17021=定义丢失

ORA-17022=在索引处定义丢失

ORA-17023=不支持的特性

ORA-17024=未读取数据

ORA-17025=defines.isNull () 中出现错误

ORA-17026=数字溢出

ORA-17027=流已被关闭

ORA-17028=直到关闭当前的 ResultSet 才能进行新的定义

ORA-17029=setReadOnly: 不支持只读连接

ORA-17030=仅 READ_COMMITTED 和 SERIALIZABLE 是有效的事务处理级

ORA-17031=setAutoClose: 仅支持自动关闭模式打开的情况

ORA-17032=行预取不能设置为零

ORA-17033=出现格式不正确的 SQL92 串

ORA-17034=出现不支持的 SQL92 标记

ORA-17035=不支持的字符集 !!

ORA-17036=OracleNumber 中的异常

ORA-17037=不能在 UTF8 和 UCS2 之间转换

ORA-17038=字节数组不够长

ORA-17039=Char 数组不够长

ORA-17040=必须在连接 URL 中指定子协议

ORA-17041=索引中丢失 IN 或 OUT 参数:

ORA-17042=无效的批值

ORA-17043=流的最大长度无效

ORA-17044=内部错误: 未分配数据数组

ORA-17045=内部错误: 试图访问批值之外的绑定值

ORA-17046=内部错误: 数据访问的索引无效

ORA-17047=语法分析类型描述符时出错

ORA-17048=未定义的类型

ORA-17049=不一致的 java 和 sql 对象类型

ORA-17050=矢量中没有这样的元素

ORA-17051=此 API 不能用于非 UDT 类型

ORA-17052=此 ref 无效

ORA-17053=长度无效

ORA-17054=LOB 定位器无效

ORA-17055=遇到无效字符, 在

ORA-17056=不支持的字符集 (在类路径中添加 orai18n.jar)

ORA-17057=关闭的 LOB

ORA-17058=内部错误: 无效的 NLS 转换率

ORA-17059=无法转换为内部表示

ORA-17060=无法构造描述符

ORA-17061=丢失描述符

ORA-17062=Ref 游标无效

ORA-17063=不在事务处理中

ORA-17064=无效的语法或数据库名为空

ORA-17065=转换类为空

ORA-17066=访问层需要具体实施

ORA-17067=指定了无效的 Oracle URL

ORA-17068=调用中的无效参数

ORA-17069=使用明确的 XA 调用

ORA-17070=数据大小超出此类型的最大值

ORA-17071=超出 VARRAY 的最大限制

ORA-17072=对列来说插入的值太大

ORA-17074=无效的名称模式

ORA-17075=对只转发结果集的无效操作

ORA-17152=此方法仅在逻辑连接中实施

ORA-17153=此方法仅在物理连接中实施

ORA-17154=无法将 Oracle 字符映射为 Unicode

ORA-17155=无法将 Unicode 映射为 Oracle 字符

ORA-17156=数组大小对于端对端的度量值无效

ORA-17157=setString 只能处理少于 32766 个字符的字符串

ORA-17158=持续时间对该函数无效

ORA-17159=要执行端对端跟踪的度量值太长

ORA-17160=执行上下文 ID 序列号超出范围

ORA-17161=使用的交易模式无效

ORA-17162=不支持的 holdability 值

ORA-17163=无法在启用连接高速缓存时使用 getXAConnection()

ORA-17164=无法在启用了高速缓存的情况下从物理连接调用 getXAResource()

ORA-17165=服务器中不存在此连接的 PRIVATE_JDBC 包

ORA-17166=无法对 PLSQL 语句执行提取

ORA-17167=找不到 PKI 类。要使用 'connect /' 功能, oraclepki.jar 必须位于类路径中

ORA-17168=密钥存储遇到问题。请在出现打开的 Wallet (cwallet.sso) 时检查 Wallet 的位置并使用 mkstore 实用程序确保此 Wallet 包含正确的身份证明

ORA-17169=无法将流绑定到 UpdatableResultSet

ORA-17170=名称空间不能为空

ORA-17171=属性长度不能超过 30 个字符

ORA-17172=属性的值不能超过 400 个字符

ORA-17173=并非所有返回参数都已注册

ORA-17174=唯一受支持的名称空间是 CLIENTCONTEXT

ORA-17175=远程 ONS 配置期间出错

ORA-17176=无法识别区域设置

ORA-17177=对象不使用请求的接口包装任何内容

ORA-17178=ANYTYPE pickler 失败

ORA-17179=KOTAD 中的幻数不匹配

ScrollableResultSet 或

ORA-17180=KOTAD 中的格式错误

ORA-17181=字符转换器一般错误

ORA-17182=字符转换器溢出错误

ORA-17183=字符转换器不可用错误 - 请与 Oracle 技术支持联系

ORA-17184=创建 NCLOB 时使用了不正确的形式

ORA-17185=连接属性的默认值缺失

ORA-17186=连接属性的访问模式缺失

ORA-17187=用于存储连接属性的实例变量的类型不受支持

ORA-17188=在连接属性的反映过程中出现 IllegalAccessException

ORA-17189=用于存储连接属性的实例变量缺失

ORA-17190=连接属性: 格式错误

ORA-17191=无效的提交选项

ORA-17192=在已释放 LOB 上的操作

ORA-17193=无效的 AQ 消息格式

ORA-17194=标记和重设不受此类的支持

ORA-17195=标记无效或未设置

ORA-17196=预读时的限制太大

ORA-17197=参数名的数目与已注册参数的数目不匹配

ORA-17198=未设置数据库会话时区

ORA-17199=不支持数据库会话时区 #

# No more error messages here #

############################################################# #

# XA error messages # from 17200 to 17259 #

#############################################################

ORA-17200=无法正确地将 XA 打开字符串从 Java 转换成 C

ORA-17201=无法正确地将 XA 关闭字符串从 Java 转换成 C

ORA-17202=无法正确地将 RM 名称从 Java 转换成 C

ORA-17203=无法将指针类型强制转换成 jlong

ORA-17204=输入数组过短, 无法容纳 OCI 句柄

ORA-17205=无法使用 xaoSvcCtx 从 C-XA 获取 OCISvcCtx 句柄

ORA-17206=无法使用 xaoEnv 从 C-XA 获取 OCIEnv 句柄

ORA-17207=未在数据源中设置 tnsEntry 属性

ORA-17213=C-XA 在 xa_open 期间返回 XAER_RMERR

ORA-17215=C-XA 在 xa_open 期间返回 XAER_INVAL

ORA-17216=C-XA 在 xa_open 期间返回 XAER_PROTO

ORA-17233=C-XA 在 xa_close 期间返回 XAER_RMERR

ORA-17235=C-XA 在 xa_close 期间返回 XAER_INVAL

ORA-17236=C-XA 在 xa_close 期间返回 XAER_PROTO

ORA-17240=无法检索本地主机 UnknownHostException。

ORA-17241=无法检索本地主机 IP 地址。出现 SecurityException。

ORA-17242=对选项中指定的 TCP 端口进行语法分析时出错。

ORA-17243=对选项中指定的 TIMEOUT 值进行语法分析时出错。

IP 地址。出现

ORA-17244=对选项中指定的 CHANGELAG 值进行语法分析时出错。

ORA-17245=尝试删除的注册使用的不是当前连接到的数据库实例。

ORA-17246=监听程序不能为空值。

ORA-17247=尝试将监听程序附加到在 JDBC 驱动程序之外创建的注册。

ORA-17248=监听程序已经注册。

ORA-17249=因为监听程序没有注册, 所以无法删除它。

ORA-17250=TCP 端口已经使用。

ORA-17251=注册已关闭。

ORA-17252=有效负载类型无效或未定义。

ORA-17253=名称对于 clientInfo 来说无效或不受支持。

ORA-17254=内存不足, 无法分配请求的内存大小

ORA-17255=快速连接故障转移一旦启用就无法禁用

ORA-17256=此实例属性不可用。

############################################################# #

# JSR-114 RowSets (JRS) error messages

# [17300 - 17399] #

#############################################################

ORA-17300=无法通过数据源进行连接

ORA-17301=一个或多个验证 RowSet 属性未设置

ORA-17302=RowSet 连接未打开

ORA-17303=此 JdbcRowSet 实施不允许显示已删除的行

ORA-17304=SyncProvider 实例未构造

ORA-17305=ResultSet 未打开

ORA-17306=RowSet 类型为 TYPE_SCROLL_SENSITIVE 时, 无法应用提取方向

ORA-17307=RowSet 类型为 TYPE_FORWARD_ONLY 时, 无法应用 FETCH_REVERSE

ORA-17308=提取方向非法

ORA-17309=RowSet 没有启用写入

ORA-17310=参数索引无效

ORA-17311=将列转换为流类型时出错

ORA-17312=无法将列转换为流类型

ORA-17313=行位置无效, 请先尝试调用下一行/上一行

ORA-17314=操作对于类型为 TYPE_FORWARD_ONLY 的 RowSet 无效

ORA-17315=未更改任何行

ORA-17316=toCollection() 中的映射操作失败

ORA-17317=未插入该行

ORA-17318=未删除该行

ORA-17319=未更新该行

ORA-17320=行中的列没有全部设置

ORA-17321=将读进程转换为字符串时出错

ORA-17322=无法读取流

ORA-17323=无效的参数类型

ORA-17324=无效的键列数

ORA-17325=无效的页大小

ORA-17326=尝试将已插入行标记为原始行

ORA-17327=调用 insertRow 之前对此行的操作无效

ORA-17328=基础 ResultSet 不支持此操作

ORA-17329=不预先执行分页操作就无法调用此操作

ORA-17330=指定的行参数的数目无效

ORA-17331=起始位置不应为负数

ORA-17332=提供的用于置入的 ResultSet 为空值

ORA-17333=在此位置开始置入的行太少

ORA-17334=没有设置匹配列索引

ORA-17335=没有设置匹配列名

ORA-17336=匹配列索引无效

ORA-17337=匹配列名无效

ORA-17338=无法设置匹配列索引

ORA-17339=无法设置匹配列名

ORA-17340=尚未设置要取消设置的列索引

ORA-17341=尚未设置要取消设置的列名

ORA-17342=无法获取连接

ORA-17343=无法对 SQL 字符串进行语法分析以获得表名。

ORA-17344=RowSet 滚动类型不正确

ORA-17345=该对象不满足过滤标准

ORA-17346=SerialBlob 构造器

ORA-17347=SerialClob 构造器

ORA-17348=错误, 无法复制对象的副本

ORA-17349=创建对象副本时出错

ORA-17350=空 RowSet 参数无效

ORA-17351=该参数不是 RowSet 实例

ORA-17352=联接类型不受支持

ORA-17353=行集中元素的数目不等于匹配列数

ORA-17354=尚不支持第三方 RowSet 联接

ORA-17355=读进程无效

ORA-17356=写进程无效

ORA-17357=值错误; 属性不可为空值

ORA-17358=值错误; 元数据不可为空值

ORA-17359=无效的 WebRowSet 参数

# ^ ^ ^ ^

# | | | | P L E A S E R E A D #

# Add new message above this comment.

# Before you add a new message, please read \Guideline\# top of this file first. #

#-------------------------------------------------------------------------- #

# TTC Messages #

#--------------------------------------------------------------------------

ORA-17401=违反协议

ORA-17402=只期望得到一个 RPA 消息

ORA-17403=只期望得到一个 RXH 消息

ORA-17404=收到超过预期的 RXD

ORA-17405=UAC 长度不为零

ORA-17406=超出缓冲区的最大长度

ORA-17407=无效的类型表示 (setRep)

ORA-17408=无效的类型表示 (getRep)

ORA-17409=无效的缓冲区长度

ORA-17410=无法从套接字读取更多的数据

ORA-17411=数据类型表示不匹配

ORA-17412=类型长度大于最大值

ORA-17413=超出关键字大小

ORA-17414=缓冲区容量不足以存储列名

ORA-17415=尚未处理此类型

ORA-17416=FATAL

ORA-17417=NLS 问题, 无法对列名进行解码

ORA-17418=内部结构的字段长度错误

ORA-17419=返回的列数无效

ORA-17420=未定义 Oracle 版本

ORA-17421=未定义类型或连接

ORA-17422=工厂中的无效类

ORA-17423=在未定义 IOV 的情况下使用 PLSQL 块

ORA-17424=尝试不同的编组操作

ORA-17425=返回 PLSQL 块中的流

ORA-17426=IN 和 OUT 的绑定均为 NULL

ORA-17427=使用未初始化的 OAC

ORA-17428=连接后必须调用登录

ORA-17429=必须至少与服务器连接

ORA-17430=必须登录到服务器

ORA-17431=要分析的 SQL 语句为空

ORA-17432=all7 中的无效选项

ORA-17433=调用中无效的参数

ORA-17434=不在流模式下

ORA-17435=IOV 中无效的 in_out_binds 个数

ORA-17436=无效的 outbinds 数

ORA-17437=PLSQL 块 IN/OUT 参数中出现错误

ORA-17438=内部 - 不期望的值

ORA-17439=无效的 SQL 类型

ORA-17440=DBItem/DBType 为空

ORA-17441=不支持的 Oracle 版本。支持的最低版本为 7.2.3。

ORA-17442=Refcursor 值无效

ORA-17444=不支持从服务器接收到的 TTC 协议版本

ORA-17445=LOB 已在同一个事务处理中打开

ORA-17446=LOB 已在同一个事务处理中关闭

ORA-17447=OALL8 处于不一致状态

ORA-17448=事务处理目前正在使用中

#

# Add all error messages above here #

# Below are MBean descriptions. They do not follow the message guidelines. *

DiagnosibilityMBeanDescription=控制 Oracle JDBC 驱动程序的诊断功能。

DiagnosibilityMBeanConstructor()=Oracle JDBC Diagnosability MBean 的零参数构造器

DiagnosibilityMBeanLoggingEnabledDescription=所有 Oracle JDBC 事件记录代码均由此布尔型属性控制。如果该属性为“假”, 将不生成任何日志消息。如果该属性为“真”, 日志消息将由 java.util.logging 级别和过滤器控制。

DiagnosibilityMBeanStateManageableDescription=Oracle JDBC 驱动程序无法启动和停止。始终返回“假”。

DiagnosibilityMBeanStatisticsProviderDescription=Oracle JDBC 驱动程序并不通过 Diagnosability MBean 提供统计信息。

本文来源:https://www.bwwdw.com/article/a16o.html

Top