ora00600错误问题的解决

更新时间:2023-12-31 04:07:01 阅读量: 教育文库 文档下载

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

Ora-00600错误的解决一例

特别感谢:鸡肋和小虫08 一、

基本情况

公司erp系统,硬件:一台ibm xservice460数据库服务器,一台ibm x系列366应用服务器,软件: windows 2003操作系统,oracle9207,用友应用软件代码。 我在造成上班的时候发现日志里多了几条错误记录,出现了ora-00600:内部错误代码,下面是部分警告日志:

Creating archive destination LOG_ARCHIVE_DEST_1: 'F:\\ARCHIVE1\\11865.DBF' Sun Aug 17 15:49:53 2008

ARC1: Evaluating archive log 3 thread 1 sequence 1865 ARC1: Unable to archive log 3 thread 1 sequence 1865 Log actively being archived by another process Sun Aug 17 15:49:56 2008

ARC0: Completed archiving log 3 thread 1 sequence 1865 Mon Aug 18 08:19:03 2008

Thread 1 advanced to log sequence 1867

Current log# 1 seq# 1867 mem# 0: E:\\ORACLE\\ORADATA\\YXERP\\REDO01.LOG Mon Aug 18 08:19:03 2008

Current log# 1 seq# 1867 mem# 1: F:\\ORACLE\\DATA\\REDO01B.RDO Mon Aug 18 08:19:04 2008

ARC0: Evaluating archive log 2 thread 1 sequence 1866 Mon Aug 18 08:19:04 2008

ARC0: Beginning to archive log 2 thread 1 sequence 1866

Creating archive destination LOG_ARCHIVE_DEST_1: 'F:\\ARCHIVE1\\11866.DBF' Mon Aug 18 08:19:06 2008

Thread 1 advanced to log sequence 1868

Current log# 5 seq# 1868 mem# 0: E:\\ORACLE\\ORADATA\\YXERP\\REDO05A.LOG Current log# 5 seq# 1868 mem# 1: F:\\ORACLE\\DATA\\REDO05B.LOG Mon Aug 18 08:19:06 2008

ARC1: Evaluating archive log 2 thread 1 sequence 1866 ARC1: Unable to archive log 2 thread 1 sequence 1866 Log actively being archived by another process ARC1: Evaluating archive log 1 thread 1 sequence 1867 ARC1: Beginning to archive log 1 thread 1 sequence 1867

Creating archive destination LOG_ARCHIVE_DEST_1: 'F:\\ARCHIVE1\\11867.DBF' ARC1: Completed archiving log 1 thread 1 sequence 1867 ARC1: Evaluating archive log 2 thread 1 sequence 1866 ARC1: Unable to archive log 2 thread 1 sequence 1866 Log actively being archived by another process Mon Aug 18 08:19:07 2008

ARC0: Completed archiving log 2 thread 1 sequence 1866

Mon Aug 18 09:09:57 2008

Errors in file e:\\oracle\\admin\\yxerp\%udump\\yxerp_ora_5828.trc:

ORA-00600: 内部错误代码,参数: [12700], [36900], [46253970], [8], [58768101], [25], [], []

Mon Aug 18 09:28:56 2008

Errors in file e:\\oracle\\admin\\yxerp\%udump\\yxerp_ora_5192.trc:

ORA-00600: 内部错误代码,参数: [12700], [36900], [46253970], [8], [58768101], [25], [], []

看到ora-00600错误,我还是比较担心的,随后就和论坛里的兄弟们沟通

二、 解决步骤

第一步---定为错误:查看trace文件,找到执行此次错误问题ORA-00600: 内部错误代码,参数: [12700], [36900], [46253970], [8], [58768101], [25], [], [], 原因:sql>SELECT consult_code, data_type, disp_sequence, disp_type, disp_value, dr, field_code, field_name, id, if_autocheck, if_datapower,

if_default, if_desc, if_group, if_immobility, if_must, if_order, if_sum, if_used, max_length, opera_code, opera_name, order_sequence, pk_corp, pk_templet, return_type, table_code, table_name, ts, userdefflag, value, resid, isCondition FROM pub_query_condition WHERE pk_templet = '1004AA10000000001J6P' and pk_corp in ( '@@@@', '0001', '1004' ) order by disp_sequence, order_sequence

通过metlink里的文档,发现12700是索引出问题了,有根据上述执行情况保存,核实一下是不是pub_query_condition出问题了?

Sql> analyze table obj$ validate structure cascade;

Table analyzed

Sql> analyze table PUB_QUERY_CONDITION validate structure; Table analyzed

你可以先这样确认,不加CASCADE

再次查看trace文件,

Sql>analyze table pub_query_condition validate structure cascade analyze table PUB_QUERY_CONDITION validate structure cascade

ORA-01499: 表/索引交叉引用失败 - 请参阅跟踪文件 首先参阅跟踪文件,再查看表的索引:

SQL> select tablespace_name, segment_type, owner, segment_name

2 from dba_extents where file_id = 11 and 116626 between block_id and block_id + blocks-1;

TABLESPACE_NAME SEGMENT_TYPE OWNER SEGMENT_NAME

------------------------------ ------------------ ------------------------------ --------------------------------------------------------------------------------

NNC_DATA01 TABLE YXERP1 PUB_QUERY_CONDITION

Trace文件里的(file # 14, block # 47845) thru (file # 14, block # 47845)

SQL> select tablespace_name, segment_type, owner, segment_name

2 from dba_extents where file_id = 14 and 47845 between block_id and block_id + blocks-1;

Cannot execute commands now

TABLESPACE_NAME SEGMENT_TYPE OWNER SEGMENT_NAME

------------------------------ ------------------ ------------------------------ --------------------------------------------------------------------------------

NNC_INDEX01 INDEX YXERP1 I_PUB_QUERY_CONDIT

第二步----检验表空间看是否在有坏快?

C:\\Documents and Settings\\Administrator>dbv

file='E:\\oracle\\oradata\\yxerp\\NNC_DATA01.dbf' blocksize=8192

DBVERIFY: Release 9.2.0.7.0 - Production on 星期一 8月 18 18:32:01 2008

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

DBVERIFY - 验证正在开始 : FILE = E:\\oracle\\oradata\\yxerp\\NNC_DATA01.dbf

DBVERIFY - 验证完成

检查的页总数 :896000 处理的页总数(数据):450600 失败的页总数(数据):0 处理的页总数(索引):10095

失败的页总数(索引):0 处理的页总数(其它):275379 处理的总页数 (段) : 0 失败的总页数 (段) : 0

空的页总数 :159926 标记为损坏的总页数:0 汇入的页总数 :0

Highest block SCN : 157306024 (0.157306024) 第三步---查看表的其他索引

select index_name,table_name from dba_indexes where table_name='PUB_QUERY_CONDITION';

INDEX_NAME TABLE_NAME

------------------------------ ------------------------------

I_PUB_QUERY_CONDIT PUB_QUERY_CONDITION PK_PUB_QUERY_CONDI PUB_QUERY_CONDITION I_PUB_QUERY_CONDIT PUB_QUERY_CONDITION PK_PUB_QUERY_CONDI PUB_QUERY_CONDITION I_PUB_QUERY_CONDIT PUB_QUERY_CONDITION PK_PUB_QUERY_CONDI PUB_QUERY_CONDITION

第四步----根据查询的索引信息,重建I_PUB_QUERY_CONDIT alter index ip_pub_query_conti rebuild online 或者

drop index i_pub_query_condi ; create index i_pub_query_conti on pub_query_condition(pk_templet,pk_crop) tablespace NNC_index; 第五步---查看警告日志

alter database backup controlfile to 'E:\\tablespace1\\contrl2.bak' Completed: alter database backup controlfile to 'E:\\tablespac Tue Aug 19 21:42:44 2008

alter database backup controlfile to 'E:\\tablespace1\\contrl3.bak' Completed: alter database backup controlfile to 'E:\\tablespac Wed Aug 20 05:36:13 2008

Thread 1 advanced to log sequence 1885 Wed Aug 20 05:36:13 2008

Current log# 3 seq# 1885 mem# 0:

E:\\ORACLE\\ORADATA\\YXERP\\REDO03A.LOG

Current log# 3 seq# 1885 mem# 1: F:\\ORACLE\\DATA\\REDO03B.LOG Wed Aug 20 05:36:14 2008

ARC0: Evaluating archive log 4 thread 1 sequence 1884 Wed Aug 20 05:36:14 2008

ARC0: Beginning to archive log 4 thread 1 sequence 1884 Creating archive destination LOG_ARCHIVE_DEST_1: 'F:\\ARCHIVE1\\11884.DBF'

ARC0: Completed archiving log 4 thread 1 sequence 1884 Wed Aug 20 15:11:41 2008

Thread 1 advanced to log sequence 1886

Current log# 2 seq# 1886 mem# 0: F:\\ORACLE\\DATA\\REDO02.LOG Current log# 2 seq# 1886 mem# 1:

E:\\ORACLE\\ORADATA\\YXERP\\REDO02B.RDO Wed Aug 20 15:11:42 2008

ARC0: Evaluating archive log 3 thread 1 sequence 1885 ARC0: Beginning to archive log 3 thread 1 sequence 1885 Creating archive destination LOG_ARCHIVE_DEST_1: 'F:\\ARCHIVE1\\11885.DBF'

ARC0: Completed archiving log 3 thread 1 sequence 1885 没有那个错误了,问题解决了。

掌握Ora-00600 4194错误的解决方法

http://www.webjx.com 更新日期:2007-10-26 06:36 出处:网页教学网 作者:站长整理

问:我的数据库重新启动后,出现了Ora-00600 4194错误,日志如下:

Sat Jan 21 13:55:21 2006 Errors in file /opt/oracle/admin/conner /bdump/conner_smon_17113.trc: ORA-00600: internal error code, arguments: [4194], [43], [46], [], [], [], [], [] Sat Jan 21 13:55:21 2006 Errors in file /opt/oracle/admin/conner /udump/conner_ora_17121.trc: ORA-00600: internal error code, arguments: [4194], [45], [44], [], [], [], [], [] 请问具体应该怎样解决?

答:具体的解决办法是通过备份来进行恢复,因为Ora-00600 4194错误的出现说明UNDO段出现了问题,如果你没有备份,业可以通过特殊的初始化参数进行强制启动,下文针对Oracle的隐含参数进行恢复说明(由于你的实际情况可能会有所出入,所以请你进行测试前先行备份)。

◆首先你需要确定当前的回滚段名称,注释:(可以从alert文件中获得)

Sat Jan 21 13:55:21 2006 Undo Segment 11 Onlined Undo Segment 12 Onlined Undo Segment 13 Onlined Successfully onlined Undo Tablespace 16. ◆注意:对应的AUM (auto undo management) 下的回滚段名称为:

'_SYSSMU11$','_SYSSMU12$','_SYSSMU13$' ◆此时你可以修改init.ora参数文件,使用Oracle隐含参数_corrupted_rollback_segments将回滚段标记为损坏,然后启动数据库,Oracle则会跳过对于这些回滚段的相关操作,强制启动数据库。

._corrupted_rollback_segments='_SYSSMU11$','_SYSSMU12$','_SYSSMU13$' ◆然后使用init.ora参数文件启动数据库:

[oracle@jumper dbs]$ sqlplus \as sysdba\SQL*Plus: Release 9.2.0.4.0 - Production on Sat Jan 21 13:56:47 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to an idle instance. SQL> startup pfile=initconner.ora ORACLE instance started. Total System Global Area 97588504 bytes Fixed Size 451864 bytes Variable Size 33554432 bytes Database Buffers 62914560 bytes Redo Buffers 667648 bytes Database mounted. Database opened. 现在数据库正常Open。

◆注意观察alert文件所获得的如下信息:

Sat Jan 21 13:57:03 2006 SMON: enabling tx recovery SMON: about to recover undo segment 11 SMON: mark undo segment 11 as needs recovery SMON: about to recover undo segment 12 SMON: mark undo segment 12 as needs recovery SMON: about to recover undo segment 13 SMON: mark undo segment 13 as needs recovery Sat Jan 21 13:57:03 2006 Database Characterset is ZHS16GBK Sat Jan 21 13:57:03 2006 SMON: about to recover undo segment 11 SMON: mark undo segment 11 as needs recovery SMON: about to recover undo segment 12 SMON: mark undo segment 12 as needs recovery SMON: about to recover undo segment 13 SMON: mark undo segment 13 as needs recovery Sat Jan 21 13:57:04 2006 Created Undo Segment _SYSSMU1$ Undo Segment 1 Onlined Completed: ALTER DATABASE OPEN aSat Jan 21 14:02:11 2006 SMON: about to recover undo segment 11 SMON: mark undo segment 11 as needs recovery SMON: about to recover undo segment 12 SMON: mark undo segment 12 as needs recovery

SMON: about to recover undo segment 13 SMON: mark undo segment 13 as needs recovery ◆现在你可以重新创建新的UNDO表空间,删除出现问题的表空间,修改参数文件,由参数文件生成新的spfile,然后重新启动数据库:

SQL> create undo tablespace undotbs1 2 datafile '/opt/oracle/oradata/conner/undotbs1.dbf' size 10M; Tablespace created. SQL> alter system set undo_tablespace=undotbs1; System altered. SQL> drop tablespace undotbs2; Tablespace dropped. ◆请注意此时的alert文件记录的:

Sat Jan 21 14:03:29 2006 create undo tablespace undotbs1 datafile '/opt/oracle/oradata/conner/undotbs1.dbf' size 10M Sat Jan 21 14:03:29 2006 Created Undo Segment _SYSSMU2$ Created Undo Segment _SYSSMU3$ Created Undo Segment _SYSSMU4$ Created Undo Segment _SYSSMU5$ Created Undo Segment _SYSSMU6$ Created Undo Segment _SYSSMU7$ Created Undo Segment _SYSSMU8$ Created Undo Segment _SYSSMU9$ Created Undo Segment _SYSSMU10$ Created Undo Segment _SYSSMU14$ Starting control autobackup Control autobackup written to DISK device handle '/opt/oracle/product/9.2.0/dbs/c-3152029224-20060121-00' Completed: create undo tablespace undotbs1 datafile '/opt/ora Sat Jan 21 14:03:43 2006 Undo Segment 2 Onlined Undo Segment 3 Onlined Undo Segment 4 Onlined Undo Segment 5 Onlined Undo Segment 6 Onlined Undo Segment 7 Onlined Undo Segment 8 Onlined Undo Segment 9 Onlined

Undo Segment 10 Onlined Undo Segment 14 Onlined Successfully onlined Undo Tablespace 1. Undo Segment 1 Offlined Undo Tablespace 16 successfully switched out. Sat Jan 21 14:03:43 2006 ALTER SYSTEM SET undo_tablespace='UNDOTBS1' SCOPE=MEMORY; Sat Jan 21 14:07:18 2006 SMON: about to recover undo segment 11 SMON: mark undo segment 11 as needs recovery SMON: about to recover undo segment 12 SMON: mark undo segment 12 as needs recovery SMON: about to recover undo segment 13 SMON: mark undo segment 13 as needs recovery Sat Jan 21 14:08:06 2006 drop tablespace undotbs2 Sat Jan 21 14:08:07 2006 Starting control autobackup Control autobackup written to DISK device handle '/opt/oracle/product/9.2.0/dbs/c-3152029224-20060121-01' Completed: drop tablespace undotbs2 ◆请修改参数文件,变更undo表空间,并取消_corrupted_rollback_segments设置:

*.undo_tablespace='UNDOTBS1' ◆然后由参数文件创建spfile文件。

SQL> create spfile from pfile; File created. SQL>shutdown immediate; Database closed.Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 97588504 bytes Fixed Size 451864 bytes Variable Size 33554432 bytes Database Buffers 62914560 bytes Redo Buffers 667648 bytes Database mounted.Database opened. ◆然后重起数据库,观察alert文件:

Sat Jan 21 14:08:36 2006 Undo Segment 2 Onlined Undo Segment 3 Onlined Undo Segment 4 Onlined Undo Segment 5 Onlined Undo Segment 6 Onlined Undo Segment 7 Onlined Undo Segment 8 Onlined Undo Segment 9 Onlined Undo Segment 10 Onlined Undo Segment 14 Onlined Successfully onlined Undo Tablespace 1. ◆此时数据库恢复正常,通常建议立即全库exp,然后重新建库,再imp恢复数据库。

ORA-00600 2662错误解决

如果我们的当前在线日志文件或者是active的日志文件损坏,而且又没有备份,我们就只能通过

_allow_resetlogs_corruption的方式来强制openresetlogs打数据库,但是有的我们会遇见SCN不一致而在打开过程中出现的ora-006002662的错误。

那么这个错误的含义是:A data block SCN is ahead of the current SCN. TheORA-6002662occurswhenanSCNiscomparedtothedependentSCN

storedinaUGAvariable.IftheSCNislessthanthedependentSCNthenwesignaltheORA-6002662internalerror. 像这样的错误我们都可以在alert_mylife.log中看到类似的信息:

ORA-00600:internalerrorcode,arguments:2662,0,547743994,0,898092653,8388617,, 我们可以通过增进SCN来解决这个问题: 1.如果数据库在open状态下。

可以alter session set events \ 2.如果数据库在mount状态下。

可以alter session set events \

注:level一般为1,则会增进SCN 10亿 (1 billion)(1024*1024*1024),通常Level1已经足够。也可以根据实际情况适当调整。

oracle startup时 ORA-00600错误解决

oracle9 startup时 报错ORA-00600: 内部错误代码,参数: [kcratr1_lostwrt], [], [], [], [], [], [], []

原因可能是非法关机或掉电造成,以下是出现的问题及解决方法:

C:\\Documents and Settings\\Administrator>sqlplus

SQL*Plus: Release 9.2.0.1.0 - Production on 星期日 5月 13 09:23:23 2007

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

请输入用户名: /as sysdba

连接到:

Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production

SQL> startup

ORA-01081: 无法启动已在运行的 ORACLE --- 请首先关闭 SQL> shutdown abort ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 数据库装载完毕。

ORA-00600: 内部错误代码,参数: [kcratr1_lostwrt], [], [], [], [], [], [], []

SQL> shutdown immediate ORA-01109: 数据库未打开

已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup mount ORACLE 例程已经启动。

Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 数据库装载完毕。 SQL> recover database; 完成介质恢复。 SQL> alter database open;

数据库已更改。

SQL>exit;

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

Top