ORA-600 错误解决实例

1:周末遭遇停电,新配置的内网测试数据库active dataguard 环境自动关闭,今早启动主库后发现报错如下 [Oracle@db1 ~]$ sqlplus

1:周末遭遇停电,新配置的内网测试数据库active dataguard 环境自动关闭,今早启动主库后发现报错如下

[Oracle@db1 ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 17 17:00:57 2013

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn /as sysdba

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area 1.3362E+10 bytes

Fixed Size                  2217952 bytes

Variable Size            6777997344 bytes

Database Buffers        6576668672 bytes

Redo Buffers                4960256 bytes

Database mounted.

ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],

[6], [301353], [301354], [], [], [], [], [], [], []

2:第一反应先recover下database,再尝试拉起数据库,问题依旧

SQL> recover database;

Media recovery complete.

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],

[6], [301353], [301354], [], [], [], [], [], [], []

3:于是看alert日志和相关的trace文件,综合判断可能控制文件出现问题

[oracle@db1 ~]$ tail -f alert_db.log

Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc:

ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []

Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc:

ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []

ORA-600 signalled during: ALTER DATABASE OPEN…

Trace dumping is performing id=[cdmp_20130617170117]

Mon Jun 17 17:02:13 2013

Sweep [inc][24153]: completed

Sweep [inc2][24153]: completed

Mon Jun 17 17:02:38 2013

ALTER DATABASE RECOVER  database

Media Recovery Start

 started logmerger process

Parallel Media Recovery started with 4 slaves

Mon Jun 17 17:02:38 2013

Recovery of Online Redo Log: Thread 1 Group 3 Seq 6 Reading mem 0

  Mem# 0: /u01/app/oracle/oradata/DB/onlinelog/o1_mf_3_8vpmjgoq_.log

  Mem# 1: /u01/app/oracle/flash_recovery_area/DB/onlinelog/o1_mf_3_8vpmkm9x_.log

Media Recovery Complete (db)

Completed: ALTER DATABASE RECOVER  database

Mon Jun 17 17:02:54 2013

alter database open

Beginning crash recovery of 1 threads

 parallel recovery started with 3 processes

Started redo scan

Completed redo scan

 read 152 KB redo, 0 data blocks need recovery

Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc  (incident=24154):

ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []

Incident details in: /u01/app/oracle/diag/rdbms/db1/db/incident/incdir_24154/db_ora_32462_i24154.trc

Mon Jun 17 17:02:55 2013

Trace dumping is performing id=[cdmp_20130617170255]

Aborting crash recovery due to error 600

Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc:

ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []

Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_ora_32462.trc:

ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [6], [301353], [301354], [], [], [], [], [], [], []

ORA-600 signalled during: alter database open…

Mon Jun 17 17:03:13 2013

Sweep [inc][24154]: completed

Sweep [inc2][24154]: completed

4:于是生成控制文件trace控制脚本对控制文件执行恢复

SQL> select open_mode from v$database;

OPEN_MODE

——————–

MOUNTED

SQL> alter database backup controlfile to trace as ‘/tmp/1.ctl’;

Database altered.

[oracle@db1 ~]$ cat /tmp/1.ctl

CREATE CONTROLFILE REUSE DATABASE “DB” NORESETLOGS FORCE LOGGING ARCHIVELOG

    MAXLOGFILES 16

    MAXLOGMEMBERS 3

    MAXDATAFILES 100

    MAXINSTANCES 8

    MAXLOGHISTORY 292

LOGFILE

  GROUP 1 (

    ‘/u01/app/oracle/oradata/DB/onlinelog/o1_mf_1_8vpmdkl9_.log’,

    ‘/u01/app/oracle/flash_recovery_area/DB/onlinelog/o1_mf_1_8vpmdryt_.log’

  ) SIZE 512M BLOCKSIZE 512,

  GROUP 2 (

    ‘/u01/app/oracle/oradata/DB/onlinelog/o1_mf_2_8vpmfqmw_.log’,

    ‘/u01/app/oracle/flash_recovery_area/DB/onlinelog/o1_mf_2_8vpmhk2z_.log’

  ) SIZE 512M BLOCKSIZE 512,

  GROUP 3 (

    ‘/u01/app/oracle/oradata/DB/onlinelog/o1_mf_3_8vpmjgoq_.log’,

    ‘/u01/app/oracle/flash_recovery_area/DB/onlinelog/o1_mf_3_8vpmkm9x_.log’

  ) SIZE 512M BLOCKSIZE 512

–STANDBY LOGFILE

—  GROUP 4 (

—    ‘/u01/app/oracle/oradata/DB1/onlinelog/o1_mf_4_8vpq6nvy_.log’,

—    ‘/u01/app/oracle/flash_recovery_area/DB1/onlinelog/o1_mf_4_8vpq7wk8_.log’

—  ) SIZE 512M BLOCKSIZE 512,

—  GROUP 5 (

—    ‘/u01/app/oracle/oradata/DB1/onlinelog/o1_mf_5_8vpqbh6s_.log’,

—    ‘/u01/app/oracle/flash_recovery_area/DB1/onlinelog/o1_mf_5_8vpqcmbj_.log’

—  ) SIZE 512M BLOCKSIZE 512,

—  GROUP 6 (

—    ‘/u01/app/oracle/oradata/DB1/onlinelog/o1_mf_6_8vpqf3rz_.log’,

—    ‘/u01/app/oracle/flash_recovery_area/DB1/onlinelog/o1_mf_6_8vpqfv5w_.log’

—  ) SIZE 512M BLOCKSIZE 512,

—  GROUP 7 (

—    ‘/u01/app/oracle/oradata/DB1/onlinelog/o1_mf_7_8vpqgw0j_.log’,

—    ‘/u01/app/oracle/flash_recovery_area/DB1/onlinelog/o1_mf_7_8vpqhcql_.log’

—  ) SIZE 512M BLOCKSIZE 512

DATAFILE

  ‘/u01/app/oracle/oradata/DB/datafile/o1_mf_system_8vpm8hf3_.dbf’,

  ‘/u01/app/oracle/oradata/DB/datafile/o1_mf_sysaux_8vpm8hjq_.dbf’,

  ‘/u01/app/oracle/oradata/DB/datafile/o1_mf_undotbs1_8vpm8hl4_.dbf’,

  ‘/u01/app/oracle/oradata/DB/datafile/o1_mf_users_8vpm8hn1_.dbf’

CHARACTER SET ZHS16GBK;

SQL> shutdown immediate

ORA-01109: database not open

Database dismounted.

ORACLE instance shut down.

SQL> startup nomount

ORACLE instance started.

Total System Global Area 1.3362E+10 bytes

Fixed Size                  2217952 bytes

Variable Size            6777997344 bytes

Database Buffers        6576668672 bytes

Redo Buffers                4960256 bytes

SQL> @/tmp/1.ctl;

Control file created.

5:重建控制文件后,对数据库进行recover,,成功打开数据库

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-01113: file 1 needs media recovery

ORA-01110: data file 1:

‘/u01/app/oracle/oradata/DB/datafile/o1_mf_system_8vpm8hf3_.dbf’

SQL> recover database;

Media recovery complete.

SQL> alter database open;

Database altered.

SQL> select open_mode,database_role from v$database; 

OPEN_MODE            DATABASE_ROLE

——————– —————-

READ WRITE          PRIMARY

6:通过观察alert日志,添加临时表空间数据文件

[oracle@db1 ~]$ tail -f alert_db.log

Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_m001_381.trc:

ORA-25153: Temporary Tablespace is Empty

Mon Jun 17 17:17:25 2013

Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_j007_400.trc:

ORA-25153: Temporary Tablespace is Empty

Errors in file /u01/app/oracle/diag/rdbms/db1/db/trace/db_j007_400.trc:

ORA-12012: error on auto execute of job 12696

ORA-25153: Temporary Tablespace is Empty

ORA-06512: at “DBSNMP.BSLN_INTERNAL”, line 2073

ORA-06512: at line 1

Mon Jun 17 17:18:20 2013

alter tablespace temp add tempfile

Completed: alter tablespace temp add tempfile

SQL> alter tablespace temp add tempfile;

Tablespace altered.

7:观察physical database,发现出现如下问题

[root@db2 ~]# su – oracle

[oracle@db2 ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Mon Jun 17 17:18:50 2013

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn /as sysdba

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area 1.3362E+10 bytes

Fixed Size                  2217952 bytes

Variable Size            6777997344 bytes

Database Buffers        6576668672 bytes

Redo Buffers                4960256 bytes

Database mounted.

ORA-10458: standby database requires recovery

ORA-01196: file 1 is inconsistent due to a failed media recovery session

ORA-01110: data file 1:

‘/u01/app/oracle/oradata/DB2/datafile/o1_mf_system_08oc7c38_.dbf’

SQL> alter database open read only;

alter database open read only

*

ERROR at line 1:

ORA-10458: standby database requires recovery

ORA-01196: file 1 is inconsistent due to a failed media recovery session

ORA-01110: data file 1:

‘/u01/app/oracle/oradata/DB2/datafile/o1_mf_system_08oc7c38_.dbf’

8:于是关闭physical standby,在主库上启动system表空间的热备份,拷贝相应的文件至从库指定位置,重新同步正常

SQL> shutdown immediate

ORA-01109: database not open

Database dismounted.

ORACLE instance shut down.

SQL> alter tablespace system begin backup;

Tablespace altered.

[oracle@db1 datafile]$ pwd

/u01/app/oracle/oradata/DB/datafile

[oracle@db1 datafile]$ scp o1_mf_system_8vpm8hf3_.dbf root@db2:/tmp

SQL> alter tablespace system end backup;

Tablespace altered.

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1887087.html

(0)
上一篇 2025年2月22日 12:30:26
下一篇 2025年2月22日 12:30:39

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • navicat怎么导入本地数据库

    navicat怎么导入本地数据库,为什么我没有找到该导入的功能呢?请看下面方法。 推荐教程:MySQL入门视频教程 1、首先我们打开软件,并且连接上本地数据库,选中连接,右键打开连接,直接双击也可以的 2、在本地数据库中我们新建一个数据库用…

    2025年2月23日 数据库
    100
  • navicat如何设置高级数据库属性

    Navicat是一套快速、可靠的数据库管理工具,在设置高级连接选项卡中还可以设置高级数据库属性,是否设置高级数据库属性不做强制性要求。如果需要设置高级数据库,前提是勾选“使用高级连接”。详细介绍如下: MySQL、PostgreSQL和Ma…

    2025年2月23日
    100
  • 怎么使用navicat连接数据库

      无论是本机安装的MySQL,还是远程服务器上的MySQL,对其进行管理都特别的麻烦,如何对其进行方便简单的管理呢?Navicat是一款管理MySQL数据库的软件,其简洁明了的界面,使我们能更好的管理数据库,对其进行增删改查的操作。 推荐…

    2025年2月23日 数据库
    100
  • navicat怎么创建数据库

      使用navicat快速创建数据库,我们这以创建Mysql数据库为例,其他数据库在navicat中操作都一样 推荐教程:MySQL数据库入门视频教程 1、打开navicat 2、选中数据库连接“root”右键-》新建数据库 3、填写数据库…

    2025年2月23日 数据库
    100
  • 如何使用navicat为数据库表建立索引?

    下面介绍如何使用Navicat为数据库表建立索引的具体操作方法。 推荐教程:MySQL数据库入门视频教程 1、打开Navicat 2、打开数据表所在的数据库,右击需要新增索引的数据库表,然后点击【设计表】 3、此时进入表设计界面 4、点击【…

    2025年2月23日 数据库
    100
  • navicat 怎么连接服务器上的数据库

      本来没有开启秘钥的远程服务器端数据库连接非常方便,就在新建连接上填入数据就ok了,但是开启SSH秘钥后的服务器连接有一个大坑,下面来详细讲讲navicat怎么连接服务器上的数据库。 推荐教程:navicat图文教程  其实开启了秘钥,在…

    2025年2月23日 数据库
    100
  • 如何使用navicat为数据库表增加新记录

    下面介绍如何使用Navicat为数据库表增加新记录的具体操作方法。 推荐教程:navicat图文教程 1、打开Navicat 2、打开数据表所在的数据库,右击需要新增记录的数据库表,然后点击【打开表】 3、此时显示数据库表已有数据,例中并无…

    2025年2月23日 数据库
    100
  • navicat不显示数据库

    最近,发现自己半年前在navicat里建立的数据库不见了,查本地mysql发现 此数据库完好的还在,就是在navicat里隐藏不显示了。下面就为大家讲解一下问题的原因几解决办法。 推荐教程:Navicat图文教程 解决过程:开始怀疑是MyS…

    2025年2月23日
    100
  • navicat怎么连数据库

      Navicat中文版可谓是强大的可视化数据库管理工具,其中包含了多个数据库组件,可以满足与不同的数据库软件相连接。就比如其中的Navicat for MySQL组件,该组件可以与任何3.21或以上版本的MySQL一起工作,并支持大部分的…

    2025年2月23日 数据库
    100
  • navicat怎么连别人的数据库

        做项目期间,项目组成员之间需要相互访问对方的数据库,连接对方Mysql数据库需要以下几个步骤: 推荐教程:navicat图文教程 0)前提条件      两台电脑必须处于同一网段下; 1)查询双方IP地址      方法1:打开cm…

    2025年2月23日
    100

发表回复

登录后才能评论