ORACLE ORA-00600错误的阐述

oracle|错误

ORACLE ORA-00600错误不是你的程序错误.是ORACLE内部的错误,一般来说,大部分的ORA-00600错误均是由ORACLE
软件的bug所导致,因此对于这样的错误需要及时联系ORACLE技术支持工程师.对于这种类型的ORA-00600错误,
一个简单的处理方式就是打补丁,将数据库升级到一个稳定的版本,另外建议屏蔽某些ORACLE特性,诸如MTS
(MultiThread Server)。但也有部分错误是由
数据库内部的表或索引(包括应用的)结构被损坏所或其他原因所造成。

1:ORA-600[12700]表示执行SQL语句时对应的某些实体(表/索引)损坏;该
错误的处理方法为:
? 修改init$ORACLE_SID.ora文件,增加如下几行:
event = “10210 trace name context forever level 10”
event = “10211 trace name context forever level 10”
event = “10231 trace name context forever level 10
? 执行以下语句:
analyze table/index/cluster [name] validate structure;
? 如果怀疑是数据字典损坏,则不能采用以上的方法对表进行分析,
因为在某些平台上执行以上操作将引起系统瘫痪,执行如下存储过程:
DBMS_UTILITY.ANALYZE_SCHEMA
例2:在对数据库进行读写操作时出现错误:ORA-00600:internal error
code,arguments:[4519],[6711],[2],…表示执行SQL语句时的对应的实体数据
块[6711]的结构被破坏所引起。该错误的处理方法为:
? 执行如下的package进行分析:
svrmgrl > select dbms_utility.data_block_address_file(6711) from dual;
svrmgrl > select dbms_utility.data_block_address_block(6711) from dual;
查找其对应的block_id和file_id。
? 通过如下的sql命令查找出被破坏的实体类型、owner等:
svrmgrl > select segment_name,segment_type,owner
? from dba_extents
? where file_id=file# and block# between
? block_id and block_id+blocks-1;
? 如果被破坏的对象并非系统表或索引,则可以通过对该数据库对象\r
进行备份后重新创建实体的方法进行。如果出现的错误为系统表或索引,则需要
根据实际情况进行处理。

另外,用ResultSet来执行插入,更新,删除原则上是可行的,但效率很低,而且无法测试操作是否成功.

时间: 2024-08-02 18:05:30

ORACLE ORA-00600错误的阐述的相关文章

Oracle数据库ORA 54013错误的解决办法_oracle

ORA-54013: 不允许对虚拟列执行 INSERT 操作 这是Oracle 11 的新特性 -- 虚拟列. 在以前的Oracle 版本,当我们需要使用表达式或者一些计算公式时,我们会创建数据库视图,如果我们需要在这个视图上使用索引,我们会创建基于函数的索引.现在Oracle 11允许我们直接在表上使用虚拟列来存储表达式.虚拟列的值是不存储在磁盘的,它们是在查询时根据定义的表达式临时计算的.我们不能往虚拟列中插入数据,我们也不能隐式的添加数据到虚拟列,我们只能使用物理列来插入数据.然后可以查询

plsql连接oracle数据库报ora 12154错误解决方法_oracle

plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错"ORA-12154: TNS: 无法解析指定的连接标识符" 解决方法如下: 1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听 客户端:tnsping <tns_name> 服务器Linux下: #>lsnrctl status 查看监听状态 #>lsnrctl start 启动监听 2.通过Sql

Oracle ORA 07445 evaopn2()+128错误问题的解决方案_oracle

问题描述 Plsql developer执行一段sql报错: 经查alert log详细报错信息为: ORA-07445: exception encountered: core dump [evaopn2()+128] [SIGSEGV] [Address not mapped to object] [0x000000000] [] [] 数据库版本 10.2.0.4.0 问题原因 复杂视图合并问题导致的oracle bug 解决方法 1.修改隐藏参数: alter system set "_

解决jdbc连接oracle协议适配器错误

oracle|错误|解决 解决oracle协议适配器错误 现象:jdbc连接oracle817 for Linux出现适配器错误,sqlplus连接正常. 方法:编辑init.ora文件屏蔽 mts_dispatchers = "(PROTOCOL=TCP)(SER=MODOSE)" 重新启动oracle. import java.sql.*;import java.lang.*;import java.util.*; class testjdbc { public static vo

Oracle数据库配置错误信息

oracle|错误|数据|数据库     Oracle数据库配置错误信息     Oralce数据库的错误信息经常会出现,我们看见的都是错误的代码,至于错误原因究竟是什么还一时半会难以解答,所以就把一些常见的错误整理了一下,来看看也许对你有帮助的.1.   Oracle客户端网络配置:          在Oralce产品安装完成后,为了与数据库服务器进行连接或者是两台数据库之间进行数据复制,则必须进行网络连接配置.          Oracle9i Net Service配置方法:     

Oracle的常见错误及解决办法

                      ORA-12528: TNS:listener: all appropriate instances are blocking new connections     ORA-12528问题是因为监听中的服务使用了动态服务,实例虽然启动,但没有注册到监听.实例是通过PMON进程注册到监听上的,而PMON进程需要在MOUNT状态下才会启动.所以造成了上面的错误. 解决这个问题,有三种方法:1.把监听设置为静态:2.在tnsnames.ora中追加(UR=

Oracle建库错误的排除

  一次Oracle建库错误的排除,无法在指定的范围内为以下进程分配端口解决 前几天安装Oracle数据库.按照说明配置Linux环境,安装rpm,然后先安装10.2.0.1安装包,完了之后又安装10.2.0.4补丁,最后打em补丁.到这一切正常,我开始用dbca创建数据库,结果报错误如下: 1 严重: 无法在指定的范围内为以下进程分配端口: JMS [5540-5559],RMI [5520-5539],Database Control [5500-5519],EM Agent [3938]

oracle 11g导出数据时报ORA 1455错误的处理方法_oracle

由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先: 查看: SQL>show parameter deferred_segment_creation; 如果为TRUE,则将该参数改为FALSE: 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 然后: 可以针对数据表.索引.物化视图等手工分配Extent SQL>Select 'alter table '||table_n

关于在Windows中安装Oracle碰到ORA-12638错误的解决方法

oracle|window|错误|解决 今天应邀安装一个Windows上的Oracle9i数据库 不想居然碰到了一些问题 1.安装完Oracle9201软件 2.安装完Oracle9205 patchset 3.dbca创建数据库,创建过程中碰到ORA-12638错误,凭证检索失败,创建数据库失败 4.由于保存了创建脚本,所以决定用脚本执行,看看错在哪儿 5.dbca先删除了刚才创建了半半拉拉的数据库 6.运行脚本,在connect system/change_on_install as sys