Oracle_ORA一些错误整理
Oracle数据库操作常见错误及解决方案

Oracle数据库操作常见错误及解决方案 ORA-01650:unable to extend rollback segment NAME by NUM intablespace NAME产生原因:上述ORACLE错误为回滚段表空间不足引起的,这也是ORACLE数据管理员最常见的ORACLE错误信息。
当用户在做一个非常庞大的数据操作导致现有回滚段的不足,使可分配用的回滚段表空间已满,无法再进行分配,就会出现上述的错误。
解决方式:使用“ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE size_of_file”命令向指定的数据增加表空间,根据具体的情况可以增加一个或多个表空间。
当然这与还与你主机上的裸盘设备有关,如果你主机的裸盘设备已经没有多余的使用空间,建议你不要轻意的增加回滚段表空间的大小,可使用下列的语句先查询一下剩余的tablespace空间有多少:Select user_name,sql_text fromV$open_cursor where user_name=’<user_name>’;如果多余的空间比较多,就可以适当追加一个大的回滚段给表空间使用,从而避免上述的错误。
你也可以用以下语句来检测一下rollback segment的竞争状况:Select class,count from V$waitstat where calss in(‘system undo header’,’system undo block’,’undo header’,’undo block’);和Select sum(value) from V$sysstat where name in(‘db_block_gets’,’consistents gets’);如果任何一个class in count/sum(value)大于1%,就应该考虑增加rollback segment。
oracle常见故障处理手册

oracle常见故障处理手册一、数据库启动与关闭故障1.数据库启动失败原因:可能是由于Oracle数据库配置不正确、系统环境变量设置不正确、初始化参数设置不正确等原因导致。
解决方法:检查数据库日志文件,查看错误信息,根据错误信息进行相应的修复。
2.数据库关闭失败原因:可能是由于数据库事务未完成、数据库锁未释放等原因导致。
解决方法:检查数据库日志文件,查看错误信息,根据错误信息进行相应的修复。
二、连接故障1.连接不成功原因:可能是由于网络连接问题、数据库用户名或密码错误、数据库实例名错误等原因导致。
解决方法:检查网络连接是否正常,检查数据库用户名和密码是否正确,检查数据库实例名是否正确。
2.连接断开原因:可能是由于网络不稳定、数据库服务器异常等原因导致。
解决方法:检查网络连接是否正常,检查数据库服务器是否正常。
三、数据恢复故障1.数据丢失原因:可能是由于数据库损坏、磁盘故障等原因导致。
解决方法:根据数据丢失的原因,选择相应的恢复方法,如使用备份恢复数据或使用日志文件恢复数据。
2.数据不一致原因:可能是由于数据修改不一致、数据复制不一致等原因导致。
解决方法:检查数据修改和复制的日志文件,找到不一致的数据并修复。
四、性能优化故障1.性能下降原因:可能是由于CPU占用过高、内存占用过高、磁盘IO过大等原因导致。
解决方法:优化数据库配置参数,如增加内存、优化磁盘IO等。
2.查询速度慢原因:可能是由于查询语句不优化、表没有建立索引等原因导致。
解决方法:优化查询语句,为表建立索引等。
五、存储管理故障1.存储空间不足原因:可能是由于磁盘空间不足、表空间不足等原因导致。
解决方法:清理磁盘空间,增加磁盘空间,调整表空间大小等。
2.数据文件丢失或损坏原因:可能是由于磁盘故障、人为误删除或修改等原因导致。
解决方法:使用备份恢复数据文件或修复损坏的数据文件。
六、网络连接故障1.网络连接中断原因:可能是由于网络设备故障、网络连接线故障等原因导致。
oracle错误ORA-01017问题分析与解决方法

Oracle常见错误 ORA-01017通常表示用户名或密码不正确,但在您的情况下,问题可能与 Oracle 11g 客户端和 Oracle 19c 数据库之间的兼容性有关。
可能的原因用户名或密码错误:首先,确保输入的用户名和密码是正确的。
密码版本兼容性:Oracle 19c 默认使用更高版本的密码加密算法,而 Oracle 11g 客户端可能不支持。
数据库参数配置:某些数据库参数可能需要调整以支持旧版本客户端的连接。
解决方案1. 确认用户名和密码首先,确保您输入的用户名和密码是正确的,并且没有输入错误。
2. 检查密码案例敏感Oracle 11g 和 19c 在处理密码时可能有不同的大小写敏感。
确保密码的大小写与创建用户时设置的密码一致。
3. 调整密码版本兼容Oracle 19c 默认使用 12c 及以上版本的密码加密算法。
为了兼容旧版本客户端,可以调整数据库参数,使其支持旧版本的密码加密算法。
连接到 Oracle 19c 数据库实例:sqlplus / as sysdba检查当前的 SQLNET.ALLOWED_LOGON_VERSION_SERVER 参数:SHOW PARAMETER SQLNET.ALLOWED_LOGON_VERSION_SERVER;如果需要修改参数,可以编辑 sqlnet.ora 文件:vi $ORACLE_HOME/network/admin/sqlnet.ora添加或修改以下参数:SQLNET.ALLOWED_LOGON_VERSION_SERVER=11SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11保存并关闭文件,然后重启数据库监听程序:lsnrctl stoplsnrctl start4. 重新设置用户密码重新设置用户密码可以确保密码使用兼容的加密算法。
连接到 Oracle 19c 数据库实例:sqlplus / as sysdba重新设置用户密码:ALTER USER <username> IDENTIFIED BY <new_password>;5. 检查和调整数据库参数某些数据库参数可能需要调整以支持旧版本客户端的连接。
Oracle在命令窗口ORA错误提示相关说明(下)

Oracle 使用PLSQL或sqlplus中脚本窗口和sql窗口提示ORA错误相关说明(下) 前言:在Oracle 使用PLSQL或sqlplus中脚本窗口和sql窗口等时候,我们需要输入sql语句或者Oracle自带的程序设置、脚本命令时候,一旦出现错误或者命令未结束,都会弹出相关提示,根据提示我在这里进行汇总。
我是HadesZ 相关计算机类学习可联系1107712415以下为ORA提示的相关记录,主要是从网站上收集汇总:ORA-20005:对象的统计数据都是锁着的说明:统计信息锁着,无法导入报错,大多由不同Oracle版本间EXP\IMP引起。
解决:待imp结束后,先执行DBMS_STATS.UNLOCK_TABLE_STATS('MID_SC','DM_OLD_FEATURE_VALUE');再analyze table即可。
ORA-22992: 无法使用从远程表选择的LOB 定位器说明:当通过DBLINK连接数据库,select的表有CLOB字段的时候,就会报这个错。
解决办法在数据库新建一张临时表把数据插进去。
ORA-22813:操作数值超出系统的限制说明:select wm_concat(TECH_OBJECT_NAME) TECH_OBJECT_NAME from PROD_EXPERIMENT_OBJECT@zwsc_gz,合并完之后TECH_OBJECT_NAME字段长度超过4000ORA-27101:shared memory realm does not existORA-25156:旧样式的外部联接(+)不能与ANSI联接一起使用说明:当新式外部联接(例如left join)和旧式外部联接(例如 a.g3e_fid = b.g3e_fid(+))一起使用,就会报此类错误。
解决:全部改为新式外部联接。
ORA-27486:权限不足ORA-28000:账号已被锁定解决1:alter profile default limit FAILED_LOGIN_ATTEMPTS 20;--设置为错误20次才锁定ORA-28002:the password will expire within 10 days.密码将在10天内到期。
oracle操作常见错误

1.[Err] ORA-02438: Column check constraint cannot reference other columnsORA-02438: 列检查约束条件无法引用其它列--通常可能是constraint 拼写错误2. [Err] ORA-02250: missing or invalid constraint name约束条件名缺失或者无效。
比如:alter table tbl_schooladd s_level number(7) constraint unique; //错误的====add s_level number(7) unique; 正确的4. [Err] ORA-01861: literal does not match format stringORA-01861: 文字与格式字符串不匹配比如:insert into tbl_school(id,s_name,address,establish_time,style)values(1,'清华','北京','1976-05-05','理');日期的输入,要有固定的格式=====values(1,'清华','北京',to_date('1976-05-01','rrrr-mm-dd'),'理');5:select index_name,table_name from user_indexesWhere table_name=’s_emp’;提示错误:为选定行。
‘’里面的就变成了字符串,是区分大小写的,select index_name,table_name from user_indexesWhere table_name=’S_EMP’;6:Ora-02290【】违反检查约束条件可能原因:check里面出错,在传值的时候,出现乱码了,只能重建表7.A.number类型如果是后面带小数点的呢,最好在实体类里面做一下转化。
ORACLE错误大全

ORA-00238: 操作将重用属于数据库一部分的文件名
ORA-00250: 未启动存档器
ORA-00251: LOG_ARCHIVE_DUPLEX_DEST 不能是与字符串 相同的目的地
ORA-00252: 日志 在线程 上为空,无法存档
ORA-00327: 日志 (线程 ),实际大小 小于需要的
ORA-00328: 归档日志在更改 结束,需要稍后的更改
ORA-00329: 归档日志在更改 开始,需要更改
ORA-00330: 归档日志在更改 结束,需要更改
ORA-00331: 日志版本 与 ORACLE 版本 不兼容
ORA-00332: 归档日志过小 - 可能未完全归档
ORA-00253: 字符限制在 以内,归档目的字符串 超出此限制
ORA-00254: 存档控制字符串 '' 时出错
ORA-00255: 存档日志 (线程 , 序列 # ) 时出错
ORA-00256: 无法翻译归档目的字符串
ORA-00257: 存档器错误。在释放之前仅限于内部连接
ORA-00258: NOARCHIVELOG 模式下的人工存档必须标识日志
ORA-00317: 标题中的文件类型 不是日志文件
ORA-00318: 日志 (线程 ),预计文件大小 与 不匹配
ORA-00319: 日志 (线程 ) 具有错误的日志重置状态
ORA-00320: 无法从日志 (线程 ) 读取文件标题
ORA-00321: 日志 (线程 ),无法更新日志文件标题
ORACLE错误大全2(2009-11-20 18:14:13)
oracle数据库中ora-报错原因及处理

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 快照控制文件不存在,已损坏或无法读取 ORA-00233 控制文件副本已损坏或无法读取 ORA-00234 标识或打开快照或复制控制文件时出错 ORA-00235 控制文件固定表因并发更新而不一致 ORA-00236 快照操作不允许:挂上的控制文件为备份文件 ORA-00237 快照操作不允许:控制文件新近创建 ORA-00238 操作将重用属于数据库一部分的文件名 ORA-00250 未启动存档器 ORA-00251 LOG_ARCHIVE_DUPLEX_DEST不能是与字符串相同的目的地 ORA-00252 日志在线程上为空,无法存档 ORA-00253 字符限制在以内,归档目的字符串超出此限制 ORA-00254 存档控制字符串''时出错 ORA-00255 存档日志(线程,序列#)时出错 ORA-00256 无法翻译归档目的字符串 ORA-00257 存档器错误。在释放之前仅限于内部连接 ORA-00258 NOARCHIVELOG模式下的人工存档必须标识日志 ORA-00259 日志(打开线程)为当前日志,无法存档 ORA-00260 无法找到联机日志序列(线程) ORA-00261 正在存档或修改日志(线程)
Oracle常见错误及解决方案

O r a c l e常见错误及解决方案问题1:Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initialization or shutdown in progress 错误提示,应用系统无法连接Oracle服务。
解决方法如下:⑴进入CMD,执行set ORACLE_SID=fbms,确保连接到正确的SID;⑵运行sqlplus "/as sysdba"SQL>shutdown immediate停止服务SQL>startup启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件标号SQL>shutdown immediate再次停止服务SQL>startup mountSQL> recover datafile 2恢复出错的数据文件SQL>shutdown immediate再次停止服务SQL>startup启动服务,此次正常。
⑶进入PL/SQL Developer检查,没有再提示错误。
问题2:Oracle密码忘记了怎么办?解决方法有很多种,这里讲述以下三种:⑴打开cmd,输入sqlplus /nolog,回车;输入“conn / as sysdba”;输入“alter user sys identified by 新密码”。
注意:新密码最好以字母开头,否则可能出现错误Ora-00988。
有了这个方法后,只要自己对oracle 服务器有管理员权限,Oracle密码忘记了也不用着急,可以随意修改密码。
⑵在命令行执行如下命令:sqlplus "/@服务名as sysdba"然后在sqlplus中运行以上命令即可修改密码:alter user sys identified by 新密码;alter user system identified by 新密码;⑶运行到C盘根目录输入:SET ORACLE_SID = 你的SID名称输入:sqlplus/nolog输入:connect/as sysdba输入:alert user sys identified by sys输入:alert user system identified by system完成以上5步,则密码更改完成,密码是Oracle数据库的初始密码。
oracle报错处理 案例

oracle报错处理案例Oracle数据库在运行过程中可能会遇到各种错误,下面列举几个报错案例以及相应的解决思路:1、ORA-00701: 这个错误通常与内部错误或者核心对象有关。
根据2021年的信息,处理ORA-00701的一个解决方案是将数据库启动到升级模式(upgrade mode)进行修复,或者配置特定的事件(如event 38003),以便让Oracle跳过某些验证步骤。
在某些情况下,可能需要重建受影响的核心对象。
2、数据库无法打开并开始crash recovery:当数据库因异常关闭(如服务器断电)后,重启时可能会出现类似"alter database open... crash recovery"的情况。
此时,Oracle会自动尝试执行恢复过程来确保数据一致性。
DBA需要监控redo日志应用情况和归档日志状态,确保所有必需的redo已成功应用,以完成数据库的正常恢复开放。
3、ORA-00235:这个错误在官方文档中没有明确记录,但根据历史资料中的案例,它可能与备份或RMAN操作期间的同步恢复目录有关。
解决方案可能涉及检查并协调任何冲突的RMAN任务、确保恢复目录的一致性,或者重新同步恢复目录信息。
4、服务器断电导致的数据恢复:在服务器意外断电后,Oracle数据库可能无法正常启动。
在这种情况下,数据恢复工作包括检查物理文件的完整性、评估控制文件、联机重做日志文件和数据文件的状态,并使用RMAN或其他工具进行介质恢复或不完全恢复操作。
如果数据文件损坏严重,可能还需要从最近的有效备份和归档日志中恢复。
在实际处理Oracle数据库错误时,关键在于理解错误的具体含义、分析错误产生的上下文环境,并按照Oracle官方提供的最佳实践和建议步骤进行操作。
同时,维护详细的日志记录和定期备份也是避免数据丢失和快速恢复服务的关键措施。
Oracle常见错误及解决办法

Oracle常见错误及解决办法Ø简介本⽂主要记录 Oracle 常见错误及解决办法,包括以下内容:1.ORA-00054: 资源正忙, 但指定以 NOWAIT ⽅式获取资源, 或者超时失效2.ORA-01034: ORACLE not available3.ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated(启动数据库报错)4.ORA-12154: TNS: ⽆法解析指定的连接标识符5.ORA-12514: TNS:listener does not currently know of service requested in connect descriptor6.ORA-12541: TNS:no listener7.ORA-12560: TNS: 协议适配器错误8.ORA-27125: unable to create shared memory segment(启动数据库报错)9.ORA-28040: 没有匹配的验证协议((11g dblink 连接 12c 时)1.ORA-00054: 资源正忙, 但指定以 NOWAIT ⽅式获取资源, 或者超时失效n错误原因由于其他 Session 已经对⽬标表做了操作,并且已经有排他锁在表上了,所以新的 Session ⽆法再对表进⾏DDL操作。
n解决办法以 system ⽤户登录:1)查询被锁的会话IDselect session_id from v$locked_object;2)查询 sid, serial# 字段SELECT sid, serial#, username, osuser FROM v$session where sid = 9;3)将锁定的会话关闭ALTER SYSTEM KILL SESSION '9,99';2.ORA-01034: ORACLE not available1)检查当前数据库实例是否启动3.ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated(启动数据库报错)n错误描述SQL> startupORA-01261: Parameter db_recovery_file_dest destination string cannot be translatedORA-01262: Stat failed on a file destination directoryLinux-x86_64 Error: 2: No such file or directoryn解决办法(没有效果)不知道是什么原因,导致 $ORACLE_BASE/fast_recovery_area 少了这个⽬录,⽽导致了这个错误。
ORACLE 错误一览表(2)

ORA-02247: 未指定 ALTER SESSION 的选项
ORA-02248: 无效的 ALTER SESSION 选项
ORA-02249: 缺少或无效的 MAXLOGMEMBERS 值
ORA-02250: 缺少或无效的约束条件名
ORA-02315: 默认构造符的参数个数错误
ORA-02320: 无法创建嵌套表列的存储表
ORA-02322: 无法访问嵌套表列的访问表
ORA-02324: THE 子查询的 SELECT 列表中存在多列
ORA-02327: 无法以数据类型的表达式创建索引
ORA-02329: 数据类型的列不能是唯一关键字或主键
ORA-02371: 直接路径的加载程序必须为 .... 以上的版本
ORA-02372: 相对起始位置 > 绝对字段终止位置
ORA-02373: 表的插入语句语法分析错误
ORA-02374: 没有其它可用于读取缓冲区队列的插槽
ORA-02375: 记录: 已拒绝 - 表中出错
ORA-02376: 无效或冗余的资源
ORA-02347: 无法授权给对象表列
ORA-02348: 无法创建具有嵌入 LOB 的 VARRAY 列
ORA-02349: 无效的用户自定义类型 - 类型不完整
ORA-02351: 记录: 被拒绝 - 表, 列上出错
ORA-02352: 直接路径连接必须在同类间进行
ORA-02353: 多字节字符错误
ORA-02286: 未指定 ALTER SEQUENCE 的选项
ORA-02287: 此处不允许序号
Oracle数据库操作常见错误及解决方案

ORA-01578:Oracle data block corrupted(file # num,block # num)产生原因:当ORACLE访问一个数据块时,由于:1、硬件的I/O错误;2、操作系统的I/O错误或缓冲问题;3、内存或paging问题;4、ORACLE试图访问一个未被格式化的系统块失败;5、数据文件部分溢出等上述几种情况的一种引起了逻辑坏块或者物理坏块,这时就会报ORA-01578的错误。
解决方式:由于ORACLE只有在访问到有问题的数据文件时才会报错,所以报错的时间有可能会比实际出错的时间要晚,如果ORA-01578出错信息提示数据坏块指向的是用户自己的数据文件,则用以下方法来解决:<3>.startup restrict<4>.创建一个临时表:SQL>create table errortemp as select * from error;(error是坏表的表名)<5>.把event从init.ora文件中删掉并重起数据库<6>.rename坏表,把临时表rename成坏表的表名<7>.创建表上的INDEX等如果ORA-01578出错信息提示数据坏块指向的是数据字典或者是回滚段的话,你应该立即与ORACLE公司联系,共同商量一个好的解决办法。
ORA-03113:end-of-file on communication channel产生原因:通讯不正常结束,从而导致通讯通道终止解决方法:1>.检查是否有服进程不正常死机,可从alert.log得知2>.检查sql*Net Driver是否连接到ORACLE可执行程序3>.检查服务器网络是否正常,如网络不通或不稳定等4>.检查同一个网上是否有两个同样名字的节点5>.检查同一个网上是否有重复的IP地址ORA-00942:table or view does not exist产生原因:这是由于装载的表或视图不存在,多半是CATEXP.SQL还没有运行,无法执行Export视图,如果CATEXP.SQL已经运行,则可能是版本错误。
Oracle错误代码案例总结及解决方案

Oracle错误代码案例总结及解决方案随着Oracle数据库的使用,难免会遇到一些错误代码。
本文将介绍一些常见的Oracle错误代码以及解决方案。
这个错误通常是由于输入的用户名或密码不正确造成的。
解决办法是验证用户名和密码是否正确,并确保数据库实例启动。
这个错误通常是由于在SQL查询中引用了一个不存在的列或表名造成的。
解决办法是检查查询中的列名或表名是否正确,如果需要,可以使用引号将其括起来。
这个错误通常是由于连接描述符无法被解析造成的。
解决办法是检查tnsnames.ora文件中的连接描述符是否正确,并确保listener服务正在运行。
这个错误通常是由于在数值比较中使用了无效的字符造成的。
解决办法是检查数据类型是否正确,并确保传入的值是有效的数字。
这个错误通常是由于SQL语句缺少了必要的结束符号造成的。
解决办法是确保每条SQL语句以分号结尾,并检查语法是否正确。
这个错误通常是由于插入或更新操作违反了表的完整性约束条件造成的。
解决办法是确保插入或更新的值符合表的约束条件,并确保触发器、外键等相关对象正确配置。
这个错误通常是由于在更新语句的THEN子句中没有包含所有列造成的。
解决办法是确保更新语句中的THEN子句包含所有需要更新的列。
这个错误通常是由于在SQL语句中缺少需要的表达式造成的。
解决办法是确保SQL语句中的所有操作数都是有效的,并检查语法是否正确。
这个错误通常是由于插入或更新操作违反了UNIQUE约束条件造成的。
解决办法是确保插入或更新的值不会违反UNIQUE约束条件,并确保索引、触发器等相关对象正确配置。
这个错误通常是由于读取的数据已被其他会话修改或删除造成的。
解决办法是增加undo表空间的大小,或调整事务隔离级别以减少读取之间的时间差。
总结:本文介绍了一些常见的Oracle错误代码以及解决方案,包括无效的用户名/密码、无效的标识符、无法解析指定的连接标识符、无效数字、SQL命令未正确结束、违反完整性约束条件、缺失表达式、UNIQUE约束条件违背和快照过旧等。
Oracle错误代码案例总结及解决方案

常见错误:ORA-00001:违反唯一约束条件(主键错误)ORA—00028:无法连接数据库进程ORA—00900:无效sql语句ORA—00904:字段名写错或是建表时最后一个字段有逗号ORA-00907:缺少右括号ORA—00911:无效字符ORA—00917:缺少逗号ORA-00918:未明确定义列ORA-00922:丢失或无效的选项(表名等可能有空格)ORA—00923:未找到FROM关键字ORA—00926:缺少valueORA—00933: SQL命令未正确结束ORA—00936:缺少表达式ORA—00937:不是单组分组函数ORA—00942:表或视图不存在ORA-00947:没有足够的值(一般是插入语句出现的错,插入值的数量与字段不符)ORA-00979:不是group by的表达式ORA—01009:缺少法定参数(eg:sql做参数时,且sql语句为空时,报错)ORA-01098:数据库无法关闭及启动ORA—01400:无法将null值插入ORA—01401:插入的值对于列过大ORA-01476:sql中存在除数为零ORA—01579: 恢复过程中出现写错误ORA—01580: 创建控制备份文件时出错ORA-01581: 尝试使用已分配的回退段() 新区()ORA-01582:无法打开要备份的控制文件ORA—01583: 无法获得要备份的控制文件的块大小ORA-01584:无法获得要备份的控制文件的文件大小ORA-01585: 标识备份文件时出错ORA-01586: 无法打开要备份的目标文件ORA-01587: 复制控制文件的备份文件时出错ORA-01588:要打开数据库则必须使用RESETLOGS 选项ORA-01589: 要打开数据库则必须使用RESETLOGS 或NORESETLOGS 选项ORA-01590:段可用列表数()超出最大数ORA—01591:锁定已被有问题的分配事务处理挂起ORA—01592:将第7 版回退段() 转换为Oracle 8 版格式时出错ORA—01593: 回退段最佳大小(blks) 小于计算的初始大小( blks)ORA—01594: 尝试放回已释放的回退段()区()ORA-01595:释放区() 回退段()时出错ORA—01596: 无法在参数中指定系统ORA-01597:无法改变联机或脱机系统回退段ORA-01598: 回退段''未联机ORA-01599: 无法获得回退段(), 高速缓存空间已满ORA—01600: 至多只有一个””在子句""()中ORA-01601: 子句””()中的存储桶大小非法ORA-01603:子句"”()中的分组大小非法ORA—01604: 子句”"()中的编号范围非法ORA—01605: 子句”"()中缺少编号ORA—01606: gc_files_to_locks 不同于另一已安装例程的参数ORA-01608:无法将回退段’'联机,其状态为()ORA-01609:日志是线程的当前日志—无法删除成员ORA—01610: 使用BACKUP CONTROLFILE 选项的恢复必须已完成ORA-01611: 线程编号无效- 必须介于1 和之间ORA-01612: 线程已经启用ORA—01613:线程只有日志- 要求至少启用2 个日志ORA-01614:线程正忙- 无法启用ORA—01615: 线程已安装—无法禁用ORA-01616: 线程已打开—无法禁用ORA-01617: 无法安装: 不是有效的线程编号ORA-01618: 线程未启用- 无法安装ORA—01619:线程已由另一例程安装ORA-01620: 没有可用于安装的公用线程ORA-01621:数据库打开时无法重命名当前日志的成员ORA—01622: 必须指定线程编号- 没有特定默认值ORA-01623: 日志是线程的当前日志- 无法删除ORA—01624: 线程的紧急恢复需要日志ORA-01625:回退段'’不属于此例程ORA—01626:回退段号''无法处理更多事务处理ORA—01627: 回退段号''未联机ORA—01628: 已达到max # extents ()(回退段)ORA-01629: 已达到max #extents (),此时正在保存表空间的撤消ORA—01630: 表空间中的temp 段达到max #extents()ORA-01631:表。
oracle中常出现的错误信息及解决方案

oracle中常出现的错误信息及解决方案Oracle中常出现的错误信息及解决方案错误信息一:ORA-00001 违反唯一约束条件最常见的问题原因是:主键序列化问题,即ORACLE表主键ID突然从已经存在的ID值开始自动生成,导致违反主键唯一性约束;解决方案,修改序列值,将序列最小值值设置的大一些。
如果在修改的时候出现违反唯一约束,说明你对主键值进行修改时出现重复,或者没加where条件。
错误信息二:oracle ORA-01745: 无效的主机/绑定变量名最常见的原因:sql语句中语法错误太多,例:多写了一个冒号或逗号,或者变量名称使用了oracle关键字解决方案:审查sql语句,更改为正确的sql语句。
错误信息三:ORA-01460: 转换请求无法实现或不合理常见原因有一下几种:1.读入到数据库中的字符过长无法实现。
解决方案:将字符串(只有4000)类型改为clob类型2.客户端和服务端字符集不一致。
解决方案:step1、通过执行select * from V$NLS_PARAMETERS查看服务端字符集PARAMETER VALUENLS_LANGUAGE AMERICANNLS_TERRITORY AMERICANLS_CURRENCY $NLS_ISO_CURRENCY AMERICANLS_NUMERIC_CHARACTERS .,NLS_CALENDAR GREGORIANNLS_DATE_FORMAT DD-MON-RRNLS_DATE_LANGUAGE AMERICANNLS_CHARACTERSET ZHS32GB18030NLS_SORT BINARYNLS_TIME_FORMAT HH.MI.SSXFF AMNLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZRNLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZRNLS_DUAL_CURRENCY $NLS_NCHAR_CHARACTERSET UTF8NLS_COMP BINARYNLS_LENGTH_SEMANTICS BYTENLS_NCHAR_CONV_EXCP FALSEstep2、通过regedit修改注册表(仅讨论windows版)进行客户端的字符集,位置\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS _LANG修改为[NLS_LANGUAGE ]_[NLS_ISO_CURRENCY]_[NLS_CHARAC TERSET],如上面的的服务器,应该修改为:AMERICAN_AMERICA.ZHS32GB18030。
oracle常见错误及代码

1、ORA-12541:TNS:没有监听器原因:没有启动监听器或者监听器损坏。
若是前者,使用命令net start OracleOraH ome10gTNSListener(名字可能有出入)即可;如果是后者,则使用“Net Configuration Assistant”工具向导之“监听程序配置”增加一个监听器即可(基本不用写任何信息,一路O K。
在添加之前可能需要把所有的监听器先删!)2、ORA-12500:TNS:监听程序无法启动专用服务器进程或ORA-12560:TNS:协议适配器错误原因:ORACLE的数据库服务没有启动。
使用命令net start ORACLESERVICEORA DB(ORADB为数据库名字)即可。
如果仍没有解决,请继续向下看。
3、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:1)ORADIM -DELETE -SID oradb 删除数据库服务项2)ORADIM -NEW -SID oradb 新增数据库服务项注:这个过程中如果出错,就重启计算机!4、ORA-12154:TNS:能解析服务名原因:ORACLE的网络服务名没有正确配置。
请使用“Net8 Configuration Assistan t”工具向导之“本地网络服务名配置”配置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 OracleOraHome81TNSListenernet start ORACLESERVICEORADBsvrmgrl 一般情况下不用,不过有时少不了它的,具体步骤见第5步。
oracle错误一览

orA-04044: 此处不允许过程, 函数, 程序包或类型
orA-04045: 在重新编译/重新验证 . 时出错
orA-04046: 编译结果过大,系统不支持
orA-04047: 指定的对象与指定的标志不兼容
orA-04050: 过程, 函数, 或程序包名无效或缺少
orA-03107: oranet 缓冲区下溢
orA-03108: oranet: orACLE 不支持此接口版本
orA-03109: oranet 缓冲区上溢
orA-03110: oranet: orACLE 不支持此 SQL 版本
orA-03111: 通信通道收到中断
orA-03112: 作为单工链接的服务器无法使用 SQL*Net
orA- 03298: 无法缩减数据文件 - 文件 在热备份中
orA-03299: 无法创建目录表
orA-04000: PCTUSED 与 PCTFREE 的总和不能超过 100
orA-04001: 序列参数 必须是整数
orA-04002: INCREMENT 必须是非零整数
orA-04003: 序列参数 超出最大允许大小 ( 位)
orA-04061: 的当前状态失效
orA- 04062: (属 ) 已被更改
orA-04063: 有错误
orA-04064: 未执行, 失效
orA-04065: 未执行,已更改或删除
orA-04066: 不可执行对象,
orA-04067: 未执行, 不存在
orA-04068: 已丢弃程序包 的当前状态
orA-04004: MINVALUE 必须小于 MAXVALUE
Oracle_ORA一些错误整理

1、ORA-12560: TNS: 协议适配器错误场景:在cmd窗口输入:sqlplus "/as sysdba"想打开数据库时报的错;原因:没有启动Oracle服务器;解决:WIN+R,跳出运行窗口,输入"services.msc",打开服务窗口;找到OracleServiceORACLE服务,查看是否为启动,右键启动即可。
2、ORA-12541:TNS:no listener场景:用pl/sql developer客户端连接数据库;原因:监听器没有启动;解决:打开服务,启动OracleOraDB12Home1TNSListener。
3、ORA-28547:connection to server failed,probable Oracle Net admin error 场景:将监听器配置文件:listener.ora中的SID_NAME 更改后导致的;原因:多数是因为navicat本地的OCI版本与Oracle服务器器不符造成的;解决:将SID_NAME修改为原来的名称。
4、ORA-01438因为插入的数值大于所在的列的最大允许精度。
5、ORA-12899字符值大于此列指定的允许精度6、ORA-00942:表或视图不存在表或试图不存在7、ORA-01400: 无法将NULL 插入("SCOTT"."ITEMS"."ITEMNAME")因向表中插入数据时,主键/约束的列为空。
8、ORA-00001: 违反唯一约束条件(SCOTT.PK_ITEMS)因想表中插入数据时,某列设置了唯一约束,插入的值,表中已经存在了。
9、ORA-01017: 用户名/口令无效; 登录被拒绝有可能用户名或者密码错误10、ORA-01507有可能是关系数据库后,启动的时候没有加载数据库,如:startup nomount就是启动实例不加载数据库的11、ORA-01034: ORACLE not available数据库处于关闭状态。
ora错误大全

ora错误大全Oracle ORA 错误大全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: 等待资源超时说明:如果Oracle在等待资源时出现超时错误,会触发此异常。
ORA-00052: 超出最大入队资源数 () ORA-00053: 超出最大入队数ORA-00054: 资源正忙,要求指定 NOWAIT英文解析:resource busy and acquire with NOWAIT specified错误解析:表被锁住了,要不等待表解锁,要不就去kill了它。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、ORA-12560: TNS: 协议适配器错误场景:在cmd窗口输入:sqlplus "/as sysdba"想打开数据库时报的错;原因:没有启动Oracle服务器;解决:WIN+R,跳出运行窗口,输入"services.msc",打开服务窗口;找到OracleServiceORACLE服务,查看是否为启动,右键启动即可。
2、ORA-12541:TNS:no listener场景:用pl/sql developer客户端连接数据库;原因:监听器没有启动;解决:打开服务,启动OracleOraDB12Home1TNSListener。
3、ORA-28547:connection to server failed,probable Oracle Net admin error 场景:将监听器配置文件:listener.ora中的SID_NAME 更改后导致的;原因:多数是因为navicat本地的OCI版本与Oracle服务器器不符造成的;解决:将SID_NAME修改为原来的名称。
4、ORA-01438因为插入的数值大于所在的列的最大允许精度。
5、ORA-12899字符值大于此列指定的允许精度6、ORA-00942:表或视图不存在表或试图不存在7、ORA-01400: 无法将NULL 插入("SCOTT"."ITEMS"."ITEMNAME")因向表中插入数据时,主键/约束的列为空。
8、ORA-00001: 违反唯一约束条件(SCOTT.PK_ITEMS)因想表中插入数据时,某列设置了唯一约束,插入的值,表中已经存在了。
9、ORA-01017: 用户名/口令无效; 登录被拒绝有可能用户名或者密码错误10、ORA-01507有可能是关系数据库后,启动的时候没有加载数据库,如:startup nomount就是启动实例不加载数据库的11、ORA-01034: ORACLE not available数据库处于关闭状态。
12、ORA-01045: user MENG lacks CREATE SESSION privilege; logon denied 该用户没有连接到数据库的权限,解决:grant connect, resource to 用户名;13、ORA-28000: the account is locked账户被锁定;使用命令解锁用户。
命令为:alter user username account unlock;重置用户密码。
命令为:alter user username identified by password;其中username为用户名,password为新密码。
14、ORA-00904: "EMP": 标识符无效答:①数据库中引用到的列和自己SQL中书写的列名是否一致;②对于某些工具生成的SQL,可能导致列名和期望不符的情况,比如cmd使用双引号会报错,使用单引号'';15、ORA-00936: 缺失表达式答:一般是关键字的问题。
如:select id,name,from test_index; 问题是多了一个逗号导致的。
16、ORA-01109数据库未打开(先试一下红色字体的命令)答:造成上述问题的原因是误把'F:\ORADB.DEF'这个数据文件删掉了,这种删法是不正常的,如果删掉了用户及表空间,然后再把数据文件删除应该是没问题的,但这次只是把数据文件删掉了,用户及表空间还在。
解决方法:1)MOUNT数据库:STARTUP MOUNT ;2)OFFLINE DROP数据文件:ALTER DATABASE DATAFILE '<full_path_file_name>' OFFLINE DROP;3)打开数据库:ALTER DATABASE OPEN;ps:这时候再open数据库就ok了4)删除表空间:DROP TABLESPACE <tablespace_name> INCLUDING CONTENTS;ps:如果是误删的,只需重建表空间即可。
具体操作:SQL> startup mountORA-01081: 无法启动已在运行的ORACLE - 请首先关闭它SQL> shutdown immediateORA-01109: 数据库未打开已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mountORACLE 例程已经启动。
Total System Global Area 612368384 bytesFixed Size 1250428 bytes Variable Size 167775108 bytesDatabase Buffers 436207616 bytesRedo Buffers 7135232 bytes数据库装载完毕。
SQL> alter database datafile 'F:\ORADB.DEF'offline drop2 ;数据库已更改。
SQL> alter database open;数据库已更改。
SQL> drop tablespace oradb including contents;表空间已删除。
17、ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER (1)情况一:使用sqlplus登录口令+as sysdba(2)情况二:使用PL/SQL登录登录界面的时候,将“连接为”选项框的Normal改为SYSDBA或SYSOPER18、ORA-01078: failure in processing system parametersLRM-00109: could not open parameter file '/u01/app/oracle/produ ct/11.2.0/db_1/dbs/initsales.ora'答:将$ORACLE_BASE/admin/orcl/pfile目录下的init.ora.0212012125517形式的文件copy到$ORACLE_HOME/dbs目录下initoracl.ora,然后把文件名改为initsales.ora;最后更改文件的权限。
例如命令如下:cp /u01/app/oracle/admin/orcl/pfile/init.ora* /u01/app/oracle/produ ct/11.2.0/db_1/dbsmv init.ora.* initsales.orachmod -R oracle:oinstall initsales.ora19、ORA-12170:TNS:连接超时客户端连接Linux数据库报错,一般情况是端口问题。
修改iptables,开放1521端口,允许1521端口被连接,vi /etc/sysconfig/iptables#允许21端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT20、ORA-12514TNS 监听程序当前无法识别连接描述符中请求服务原因:监听配置文件listener.ora中可以不必指定监听的服务名(安装Oracle10g后也是没有指定的)。
正常情况下一般只要数据库启动,客户端连接数据库也没有什么问题,但是有时重复启动关闭也会出现ORA-12514错误。
解决:(1)通过重启服务的方式启动数据库,再次连接尝试。
(2)∙正确添加listener.ora;∙重新启动了oracle服务器,并检查oracle所有服务是否启动;∙oracle客户端Net Cofiguration Assistant正确添加或重新配置实例名,如:(红色粗体部分是添加进去的,注意:一定要放进蓝色括号内不然会导致启动不了监听器)# listener.ora Network Configuration File: D:\Database\Oracle\product\instantclien t_11_2\listener.ora# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = D:\Database\oracle\product\11.2.0\dbhome_1)(PROGRAM = extproc)(ENVS = "EXTPROC_DLLS=ONLY:D:\Database\oracle\product\11.2.0\dbhome_ 1\bin\oraclr11.dll"))(SID_DESC =(GLOBAL_DBNAME = ORCL)(ORACLE_HOME = D:\Database\oracle\product\11.2.0\dbhome_1)(SID_NAME = ORCL)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))))ADR_BASE_LISTENER = D:\Database\oracle21、ORA-00937: 不是单组分组函数select 列表项中除了包含聚合函数外,还包含了表的某些列,那么你将必须使用group by 语句,否则语法通不过。
例如:SELECT deptno,COUNT(empno)FROM emp;会报错,添加group by后就不会报错SELECT deptno,COUNT(empno)FROM empGROUP BY deptno;。