Oracle错误大全.docx
《Oracle错误大全.docx》由会员分享,可在线阅读,更多相关《Oracle错误大全.docx(116页珍藏版)》请在冰点文库上搜索。
Oracle错误大全
∙oracleora-各种常见java.sql.SQLException归纳
java.sql.SQLException错误!
ORA-00904:
--invalidcolumnname无效列名
ORA-00942:
--tableorviewdoesnotexist表或者视图不存在
ORA-01400:
--cannotinsertNULLinto()不能将空值插入
ORA-00936:
--缺少表达式
ORA-00933:
--SQL命令未正确结束
ORA-01722:
--无效数字:
(一般可能是企图将字符串类型的值填入数字型而造成)
ORA-06530:
ACCESS_INTO_NULL--企图将值写入未初化对象的属性
Yourprogramattemptstoassignvaluestotheattributesofanuninitialized(atomicallynull)object.
ORA-06592:
CASE_NOT_FOUND--case语句格式有误,没有分支语句
NoneofthechoicesintheWHENclausesofaCASEstatementisselected,andthereisnoELSEclause.
ORA-06531:
COLLECTION_IS_NULL--企图将集合填入未初始化的嵌套表中
YourprogramattemptstoapplycollectionmethodsotherthanEXISTStoanuninitialized(atomicallynull)
nestedtableorvarray,ortheprogramattemptstoassignvaluestotheelementsofanuninitializednested
tableorvarray.
ORA-06511:
CURSOR_ALREADY_OPEN--企图打开已经打开的指针.指针已经打开,要再次打开必须先关闭.
Yourprogramattemptstoopenanalreadyopencursor.Acursormustbeclosedbeforeitcanbereopened.A
cursorFORloopautomaticallyopensthecursortowhichitrefers.So,yourprogramcannotopenthatcursor
insidetheloop.
ORA-00001:
DUP_VAL_ON_INDEX--数据库字段存储重复,主键唯一值冲突
Yourprogramattemptstostoreduplicatevaluesinadatabasecolumnthatisconstrainedbyauniqueindex.
ORA-01001:
INVALID_CURSOR --无效指针
Yourprogramattemptsanillegalcursoroperationsuchasclosinganunopenedcursor.
非法指针操作,例如关闭未打开的指针
ORA-01722:
INVALID_NUMBER --无效数字
InaSQLstatement,theconversionofacharacterstringintoanumberfailsbecausethestringdoesnot
representavalidnumber.(Inproceduralstatements,VALUE_ERRORisraised.)Thisexceptionisalsoraised
whentheLIMIT-clauseexpressioninabulkFETCHstatementdoesnotevaluatetoapositivenumber.
在sql语句中,字符数字类型转换错误,无法将字符串转化成有效数字.此错误也可能因为在limit从句表达式中fetch语句无法对应指定数字
ORA-01017:
LOGIN_DENIED --拒绝访问
YourprogramattemptstologontoOraclewithaninvalidusernameand/orpassword.
企图用无效的用户名或密码登录oracle
ORA-01403:
NO_DATA_FOUND--无数据发现
ASELECTINTOstatementreturnsnorows,oryourprogramreferencesadeletedelementinanestedtableor
anuninitializedelementinanindex-bytable.SQLaggregatefunctionssuchasAVGandSUMalwaysreturna
valueoranull.So,aSELECTINTOstatementthatcallsanaggregatefunctionneverraisesNO_DATA_FOUND.
TheFETCHstatementisexpectedtoreturnnorowseventually,sowhenthathappens,noexceptionisraised.
ORA-01012:
NOT_LOGGED_ON--未登录
YourprogramissuesadatabasecallwithoutbeingconnectedtoOracle.
程序发送数据库命令,但未与oracle建立连接
ORA-06501:
PROGRAM_ERROR--程序错误
PL/SQLhasaninternalproblem.
pl/sql系统问题
ORA-06504:
ROWTYPE_MISMATCH--行类型不匹配
ThehostcursorvariableandPL/SQLcursorvariableinvolvedinanassignmenthaveincompatiblereturntypes.
Forexample,whenanopenhostcursorvariableispassedtoastoredsubprogram,thereturntypesofthe
actualandformalparametersmustbecompatible.
ORA-30625:
SELF_IS_NULL
YourprogramattemptstocallaMEMBERmethodonanullinstance.Thatis,thebuilt-inparameterSELF
(whichisalwaysthefirstparameterpassedtoaMEMBERmethod)isnull.
ORA-06500:
STORAGE_ERROR--存储错误
PL/SQLrunsoutofmemoryormemoryhasbeencorrupted.
PL/SQL运行内存溢出或内存冲突
ORA-06533:
SUBSCRIPT_BEYOND_COUNT --子句超出数量
Yourprogramreferencesanestedtableorvarrayelementusinganindexnumberlargerthanthenumberof
elementsinthecollection.
ORA-06532:
SUBSCRIPT_OUTSIDE_LIMIT --子句非法数量
Yourprogramreferencesanestedtableorvarrayelementusinganindexnumber(-1forexample)thatis
outsidethelegalrange.
ORA-01410:
SYS_INVALID_ROWID --无效的字段名
Theconversionofacharacterstringintoauniversalrowidfailsbecausethecharacterstringdoesnot
representavalidrowid.
ORA-00051:
TIMEOUT_ON_RESOURCE --资源等待超时
Atime-outoccurswhileOracleiswaitingforaresource.
ORA-01422:
TOO_MANY_ROWS --返回超过一行
ASELECTINTOstatementreturnsmorethanonerow.
ORA-06502:
VALUE_ERROR --值错误
Anarithmetic,conversion,truncation,orsize-constrainterroroccurs.Forexample,whenyourprogramselects
acolumnvalueintoacharactervariable,ifthevalueislongerthanthedeclaredlengthofthevariable,
PL/SQLabortstheassignmentandraisesVALUE_ERROR.Inproceduralstatements,VALUE_ERRORisraisediftheconversionofacharacterstringintoanumberfails.(InSQLstatements,INVALID_NUMBERisraised.)
ORA-01476:
ZERO_DIVIDE--除0错误
Yourprogramattemptstodivideanumberbyzero.
ORA-03111:
问题现象描述:
系统在运行时报“java.sql.SQLException:
ORA-03111”错误。
问题分析:
通过在metalink对故障代码进行定位。
文档号[ID1219453.1]与客户的故障信息类似,“ORA-03111:
breakreceivedoncommunicationchannel”是由于数据库服务器端的监听进程的配置linstener.ora的SDU设置不够大造成的。
错误基本的含义是“缓冲区不够大,无法发送数据。
”对于OracleNet,这个缓冲区是会话数据单元(SessionDataUnitvalue,SDU). SDU简单来说,就是一个用来复制数据到Socket缓冲区并把数据传给客户端的服务器内部的缓冲区。
ORA-3111错误一般可以忽略掉,因为它不会导致更多的问题或者Coredumps。
要消除这些错误,只需要增大SDU的配置。
解决方案:
增大SDU.
修改的是Oracle数据库服务器监听进程的配置listen.ora
LISTENER.ORA:
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SDU=16384)<-SettingSDUto16384forthisSID
(TDU=16384)<-8.0TDUposition
(SID_NAME=XXX)
(ORACLE_HOME=XXXX)))
SDU的取值范围是512到32768,默认是2048,本次建议改为16384。
有关SDU可以参考metalink中SQL*NetPacketSizes(SDU&TDUParameters)[ID44694.1]
////////////////////////////////////////////////////////////////
ORA-00001:
违反唯一约束条件(.)
ORA-00017:
请求会话以设置跟踪事件
ORA-00018:
超出最大会话数
ORA-00019:
超出最大会话许可数
ORA-00020:
超出最大进程数()
ORA-00021:
会话附属于其它某些进程;无法转换会话
ORA-00022:
无效的会话ID;访问被拒绝
ORA-00023:
会话引用进程私用内存;无法分离会话
ORA-00024:
单一进程模式下不允许从多个进程注册
ORA-00025:
无法分配
ORA-00026:
丢失或无效的会话ID
ORA-00027:
无法删去当前会话
ORA-00028:
您的会话己被删去
ORA-00029:
会话不是用户会话
ORA-00030:
用户会话ID不存在。
ORA-00031:
标记要删去的会话
ORA-00032:
无效的会话移植口令
ORA-00033:
当前的会话具有空的移植口令
ORA-00034:
无法在当前PL/SQL会话中
ORA-00035:
LICENSE_MAX_USERS不能小于当前用户数
ORA-00036:
超过递归SQL()级的最大值
ORA-00037:
无法转换到属于不同服务器组的会话
ORA-00038:
无法创建会话:
服务器组属于其它用户
ORA-00050:
获取入队时操作系统出错
ORA-00051:
等待资源超时
ORA-00052:
超出最大入队资源数()
ORA-00053:
超出最大入队数
ORA-00054:
资源正忙,要求指定NOWAIT
ORA-00055:
超出DML锁的最大数
ORA-00056:
对象'.'上的DDL锁以不兼容模式挂起
ORA-00057:
超出临时表锁的最大数
ORA-00058:
DB_BLOCK_SIZE必须为才可安装此数据库(非)
ORA-00059:
超出DB_FILES的最大值
ORA-00060:
等待资源时检测到死锁
ORA-00061:
另一个例程设置了不同的DML_LOCKS
ORA-00062:
无法获得DML全表锁定;DML_LOCKS为0
ORA-00063:
超出LOG_FILES的最大数
ORA-00064:
对象过大以至无法分配在此O/S(,)
ORA-00065:
FIXED_DATE的初始化失败
ORA-00066:
LOG_FILES为 但需要成为 才可兼容
ORA-00067:
值 对参数 无效;至少必须为
ORA-00068:
值 对参数 无效,必须在 和 之间
ORA-00069:
无法获得锁定--禁用了表锁定
ORA-00070:
命令无效
ORA-00071:
进程号必须介于1和 之间
ORA-00072:
进程""不活动
ORA-00073:
命令 介于 和 个参数之间时使用
ORA-00074:
未指定进程
ORA-00075:
在此例程未找到进程""
ORA-00076:
未找到转储
ORA-00077:
转储 无效
ORA-00078:
无法按名称转储变量
ORA-00079:
未找到变量
ORA-00080:
层次 指定的全局区域无效
ORA-00081:
地址范围[,)不可读
ORA-00082:
的内存大小不在有效集合[1],[2],[4]之内
ORA-00083:
警告:
可能损坏映射的SGA
ORA-00084:
全局区域必须为PGA,SGA或UGA
ORA-00085:
当前调用不存在
ORA-00086:
用户调用不存在
ORA-00087:
命令无法在远程例程上执行
ORA-00088:
共享服务器无法执行命令
ORA-00089:
ORADEBUG命令中无效的例程号
ORA-00090:
未能将内存分配给群集数据库ORADEBUG命令
ORA-00091:
LARGE_POOL_SIZE至少必须为
ORA-00092:
LARGE_POOL_SIZE必须大于LARGE_POOL_MIN_ALLOC
ORA-00093:
必须介于 和 之间
ORA-00094:
要求整数值
ORA-00096:
值 对参数 无效,它必须来自 之间
ORA-00097:
使用OracleSQL特性不在SQL92 级中
ORA-00099:
等待资源时发生超时,可能是PDML死锁所致
ORA-00100:
未找到数据
ORA-00101:
系统参数DISPATCHERS的说明无效
ORA-00102:
调度程序无法使用网络协议
ORA-00103:
无效的网络协议;供调度程序备用
ORA-00104:
检测到死锁;全部公用服务器已锁定等待资源
ORA-00105:
未配置网络协议 的调度机制
ORA-00106:
无法在连接到调度程序时启动/关闭数据库
ORA-00107:
无法连接到ORACLE监听器进程
ORA-00108:
无法设置调度程序以同步进行连接
ORA-00111:
由于服务器数目限制在,所以没有启动所有服务器
ORA-00112:
仅能创建多达 (最多指定)个调度程序
ORA-00113:
协议名 过长
ORA-00114:
缺少系统参数SERVICE_NAMES的值
ORA-00115:
连接被拒绝;调度程序连接表已满
ORA-00116:
SERVICE_NAMES名过长
ORA-00117:
系统参数SERVICE_NAMES的值超出范围
ORA-00118:
系统参数DISPATCHERS的值超出范围
ORA-00119:
系统参数 的说明无效
ORA-00120:
未启用或安装调度机制
ORA-00121:
在缺少DISPATCHERS的情况下指定了SHARED_SERVERS
ORA-00122:
无法初始化网络配置
ORA-00123:
空闲公用服务器终止
ORA-00124:
在缺少MAX_SHARED_SERVERS的情况下指定了DISPATCHERS
ORA-00125:
连接被拒绝;无效的演示文稿
ORA-00126:
连接被拒绝;无效的重复
ORA-00127:
调度进程 不存在
ORA-00128:
此命令需要调度进程名
ORA-00129:
监听程序地址验证失败''
ORA-00130:
监听程序地址''无效
ORA-00131:
网络协议不支持注册''
ORA-00132:
语法错误或无法解析的网络名称''
ORA-00150:
重复的事务处理ID
ORA-00151:
无效的事务处理ID
ORA-00152:
当前会话与请求的会话不匹配
ORA-00153:
XA库中的内部错误
ORA-00154:
事务处理监视器中的协议错误
ORA-00155:
无法在全局事务处理之外执行工作
ORA-00160:
全局事务处理长度 超出了最大值()
ORA-00161:
事务处理的分支长度 非法(允许的最大长度为)
ORA-00162:
外部dbid的长度 超出了最大值()
ORA-00163:
内部数据库名长度 超出了最大值()
ORA-00164:
在分布式事务处理中不允许独立的事务处理
ORA-00165:
不允许对远程操作进行可移植分布式自治转换
ORA-00200:
无法创建控制文件
ORA-00201:
控制文件版本 与ORACLE版本 不兼容
ORA-00202:
控制文件:
''
ORA-00203:
使用错误的控制文件
ORA-00204:
读控制文件时出错(块,#块)
ORA-00205:
标识控制文件出错,有关详情,请检查警告日志
ORA-00206:
写控制文件时出错(块,#块)
ORA-00207:
控制文件不能用于同一数据库
ORA-00208:
控制文件的名称数超出限制
ORA-00209:
控制文件块大小不匹配,有关详情,请检查警告日志
ORA-00210:
无法打开指定的控制文件
ORA-00211:
控制文件与先前的控制文件不匹配
ORA-00212:
块大小 低于要求的最小大小(字节)
ORA-00213:
不能重新使用控制文件;原文件大小为,还需
ORA-00214:
控制文件''版本 与文件''版本 不一致
ORA-00215:
必须至少存在一个控制文件
ORA-00216:
无法重新调整从8.0.2移植的控制文件大小
ORA-00217:
从9.0.1进行移植无法重新调整控制文件的大小
ORA-00218:
控制文件的块大小 与DB_BLOCK_SIZE()不匹配
ORA-00219:
要求的控制文件大小 超出了允许的最大值
ORA-00220:
第一个例程未安装控制文件,有关详情,请检查警告日志
ORA-00221:
写入控制文件出错
ORA-00222:
操作将重新使用当前已安装控制文件的名称
ORA-00223:
转换文件无效或版本不正确
ORA-00224:
控制文件重设大小尝试使用非法记录类型()
ORA-00225:
控制文件的预期大小 与实际大小 不同
ORA-00226:
备用控制文件打开时不允许进行操作
ORA-00227:
控制文件中检测到损坏的块:
(块,#块)
ORA-00228:
备用控制文件名长度超出了最大长度
ORA-00229:
操作不允许:
已挂起快照控制文件入队
ORA-00230:
操作不允许:
无法使用快照控制文件入队
ORA-00231:
快照控制文件未命名
ORA-00232: