oracle 11gR2 启动报错:

Database mounted.

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-00704: bootstrap process failure

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

Process ID: 21644

Session ID: 1426 Serial number: 3


++++alter信息如下:

Fri Dec 27 14:28:59 2013

SMON: enabling cache recovery

Errors in file /opt/app/oracle/admin/coredb/diag/rdbms/dg_111/coredb/trace/coredb_ora_21644.trc  (incident=112161):

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

Incident details in: /opt/app/oracle/admin/coredb/diag/rdbms/dg_111/coredb/incident/incdir_112161/coredb_ora_21644_i112161.trc

Fri Dec 27 14:29:06 2013

Errors in file /opt/app/oracle/admin/coredb/diag/rdbms/dg_111/coredb/trace/coredb_ora_21644.trc:

ORA-00704: bootstrap process failure

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

Errors in file /opt/app/oracle/admin/coredb/diag/rdbms/dg_111/coredb/trace/coredb_ora_21644.trc:

ORA-00704: bootstrap process failure

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

Error 704 happened during db open, shutting down database

USER (ospid: 21644): terminating the instance due to error 704

Instance terminated by USER, pid = 21644

ORA-1092 signalled during: ALTER DATABASE OPEN...

opiodr aborting process unknown ospid (21644) as a result of ORA-1092

Fri Dec 27 14:29:08 2013

ORA-1092 : opitsk aborting process


++++dbv检测:

[oracle@dg_136 ~]$ dbv file=/tol/oradata/datafile/coredb/system01.dbf

DBVERIFY: Release 11.2.0.1.0 - Production on Fri Dec 27 14:58:21 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

DBVERIFY - Verification starting : FILE = /tol/oradata/datafile/coredb/system01.dbf

DBVERIFY - Verification complete


Total Pages Examined         : 264960

Total Pages Processed (Data) : 218039

Total Pages Failing   (Data) : 0

Total Pages Processed (Index): 22126

Total Pages Failing   (Index): 0

Total Pages Processed (Other): 6165

Total Pages Processed (Seg)  : 1

Total Pages Failing   (Seg)  : 0

Total Pages Empty            : 18630

Total Pages Marked Corrupt   : 0

Total Pages Influx           : 0

Total Pages Encrypted        : 0

Highest block SCN            : 496559453 (2.496559453)


+++++查看coredb_ora_21644.trc

** ACTION NAME:() 2013-12-27 14:28:41.140


 parallel recovery setup failed: using serial mode

Thread 1 checkpoint: logseq 46403, block 2, scn 9086475510

  cache-low rba: logseq 46403, block 40010

    on-disk rba: logseq 46403, block 43232, scn 9086494047

  start recovery at logseq 46403, block 40010, scn 0


*** 2013-12-27 14:28:41.327

Started writing zeroblks thread 1 seq 46403 blocks 43232-43239


*** 2013-12-27 14:28:41.345

Completed writing zeroblks thread 1 seq 46403


*** 2013-12-27 14:28:41.360

==== Redo read statistics for thread 1 ====

Total physical reads (from disk and memory): 4096Kb

-- Redo read_disk statistics --

Read rate (ASYNC): 1611Kb in 0.22s => 7.15 Mb/sec

Longest record: 2Kb, moves: 0/6706 (0%)

Longest LWN: 109Kb, moves: 0/67 (0%), moved: 0Mb

Last redo scn: 0x0002.1d98e55e (9086494046)

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

----- Recovery Hash Table Statistics ---------

Hash table buckets = 32768

Longest hash chain = 2

Average hash chain = 1833/1831 = 1.0

Max compares per lookup = 1

Avg compares per lookup = 9869/11700 = 0.8

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


*** 2013-12-27 14:28:41.400

KCRA: start recovery claims for 1833 data blocks


*** 2013-12-27 14:28:42.430

KCRA: blocks processed = 1833/1833, claimed = 1833, eliminated = 0


*** 2013-12-27 14:28:42.448

Recovery of Online Redo Log: Thread 1 Group 5 Seq 46403 Reading mem 0


*** 2013-12-27 14:28:42.556

Completed redo application of 1.29MB


*** 2013-12-27 14:28:55.112

Completed recovery checkpoint

IR RIA: redo_size 1649664 bytes, time_taken 1390 ms

----- Recovery Hash Table Statistics ---------

Hash table buckets = 32768

Longest hash chain = 2

Average hash chain = 1833/1831 = 1.0

Max compares per lookup = 2

Avg compares per lookup = 11704/11700 = 1.0

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

Recovery sets nab of thread 1 seq 46403 to 43232 with 8 zeroblks


*** 2013-12-27 14:29:00.278

Incident 112161 created, dump file: /opt/app/oracle/admin/coredb/diag/rdbms/dg_111/coredb/incident/incdir_112161/coredb_ora_21644_i112161.trc

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


ORA-00704: bootstrap process failure

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

ORA-00704: bootstrap process failure

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


*** 2013-12-27 14:29:06.871

USER (ospid: 21644): terminating the instance due to error 704


++++coredb_ora_21644_i112161.trc内容如下:

Dump continued from file: /opt/app/oracle/admin/coredb/diag/rdbms/dg_111/coredb/trace/coredb_ora_21644.trc

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


========= Dump for incident 112161 (ORA 600 [4000]) ========


*** 2013-12-27 14:29:00.292

dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)

----- Current SQL Statement for this session (sql_id=6apq2rjyxmxpj) -----

select line#, sql_text from bootstrap$ where obj# != :1


----- Call Stack Trace -----

calling              call     entry                argument values in hex

location             type     point                (? means dubious value)

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


*** 2013-12-27 14:29:00.423

skdstdst()+36        call     kgdsdst()            000000000 ? 000000000 ?

                                                   7FFFFDDEA2C8 ? 000000001 ?

                                                   7FFFFDDEE7C8 ? 000000000 ?

ksedst1()+98         call     skdstdst()           000000000 ? 000000000 ?


。。。。

============

Plan Table

============

---------------------------------------+-----------------------------------+

| Id  | Operation          | Name      | Rows  | Bytes | Cost  | Time      |

---------------------------------------+-----------------------------------+

| 0   | SELECT STATEMENT   |           |       |       |       |           |

| 1   |  TABLE ACCESS FULL | BOOTSTRAP$|       |       |       |           |

---------------------------------------+-----------------------------------+


Content of other_xml column

===========================

  db_version     : 11.2.0.1

  parse_schema   : SYS

  plan_hash      : 867914364

  plan_hash_2    : 382997521

  Outline Data:

  /*+

    BEGIN_OUTLINE_DATA

      IGNORE_OPTIM_EMBEDDED_HINTS

      OPTIMIZER_FEATURES_ENABLE('11.2.0.1')

      DB_VERSION('11.2.0.1')

      RBO_OUTLINE

      OUTLINE_LEAF(@"SEL$1")

      FULL(@"SEL$1" "BOOTSTRAP$"@"SEL$1")

    END_OUTLINE_DATA

  */

 。。。。。。

 PINNED BUFFER HISTORY (oldest pin first)

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

BH (0xa6faef68) file#: 1 rdba: 0x00400208 (1/520) class: 4 ba: 0xa67b0000

  set: 31 pool 3 bsz: 8192 bsi: 0 sflg: 2 pwc: 0,0

  dbwrid: 0 obj: 59 objn: -1 tsn: 0 afn: 1 hint: f

  hash: [0xd69fee08,0xd69fee08] lru: [0xa6faedf0,0xa6faf180]

  ckptq: [NULL] fileq: [NULL] objq: [0xc8e5b670,0xc8e5b670]

  st: XCURRENT md: NULL tch: 1

  flags:

  LRBA: [0x0.0.0] LSCN: [0x0.0] HSCN: [0xffff.ffffffff] HSUB: [65535]

  cr pin refcnt: 0 sh pin refcnt: 0

  buffer tsn: 0 rdba: 0x00400208 (1/520)

  scn: 0x0002.1d98d857 seq: 0x01 flg: 0x04 tail: 0xd8571001

  frmt: 0x02 chkval: 0x7485 type: 0x10=DATA SEGMENT HEADER - UNLIMITED

Hex dump of block: st=0, typ_found=1

Dump of memory from 0x00000000A67B0000 to 0x00000000A67B2000

0A67B0000 0000A210 00400208 1D98D857 04010002  [......@.W.......]

0A67B0010 00007485 00000000 00000000 00000000  [.t..............]

0A67B0020 00000000 00000001 00000007 00001020  [............ ...]

0A67B0030 00000000 00000003 00000007 0040020C  [..............@.]

0A67B0040 00000000 00000000 00000001 00000003  [................]

0A67B0050 00000001 007F8D23 00000001 00000001  [....#...........]

0A67B0060 00000000 0000003B 40000000 00400209  [....;......@..@.]

0A67B0070 00000007 00000000 00000000 00000000  [................]

0A67B0080 00000000 00000000 00000000 00000000  [................]

        Repeat 250 times

0A67B1030 00000000 00010000 00010001 00000001  [................]

0A67B1040 00000000 00000003 0040020B 0040020B  [..........@...@.]

0A67B1050 00000000 00000000 00000000 00000000  [................]

        Repeat 249 times

0A67B1FF0 00000000 00000000 00000000 D8571001  [..............W.]

  Extent Control Header

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

  Extent Header:: spare1: 0      spare2: 0      #extents: 1      #blocks: 7

                  last map  0x00000000  #maps: 0      offset: 4128

      Highwater::  0x0040020c  ext#: 0      blk#: 3      ext size: 7

  #blocks in seg. hdr's freelists: 1

  #blocks below: 3

  mapblk  0x00000000  offset: 0

      Disk Lock:: Locked by xid:  0x0001.000.007f8d23

     Map Header:: next  0x00000000  #extents: 1    obj#: 59     flag: 0x40000000

  Extent Map

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

   0x00400209  length: 7


  nfl = 1, nfb = 1 typ = 1 nxf = 0 ccnt = 3

  SEG LST:: flg: USED   lhd: 0x0040020b ltl: 0x0040020b


The buffer with tsn: 0 rdba: 0x00400208 has already been dumped


END OF PINNED BUFFER HISTORY


++++仔细观察上面trace文件的内容,有用的信息如下

select line#, sql_text from bootstrap$ where obj# != :1 

rdba: 0x00400208 (1/520)

Disk Lock:: Locked by xid:  0x0001.000.007f8d23

obj#: 59


正常来说,bootstrap$ 的内容是固定不变的,不会在这个对象上出现事务


++++那我们查一下file 1 block 520 这个块

BBED> set file 1 block 520

        FILE#           1

        BLOCK#          520



BBED> p locker_ktech

struct locker_ktech, 8 bytes                @80      

   ub2 kxidusn                              @80       0x0001

   ub2 kxidslt                              @82       0x0000

   ub4 kxidsqn                              @84       0x007f8d23



BBED> p ktech.flag_ktech

ub4 flag_ktech                              @88       0x00000001 (NONE)


+++发现这个块确实有事务,跟xid对应的上

+++接下来我们手工把这个锁清除了看看

BBED> m /x 00 offset 88

 File: /tol/oradata/datafile/coredb/system01.dbf (1)

 Block: 520              Offsets:   88 to  599           Dba:0x00400208

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

 00000000 01000000 00000000 3b000000 00000040 09024000 07000000 00000000 

 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 


 BBED> sum apply;

Check value for File 1, Block 520:

current = 0x7484, required = 0x7484


BBED> p offset 88

ktech.flag_ktech

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

ub4 flag_ktech                              @88       0x00000000 (NONE)


++++再次open,已经可以正常启动

SQL> alter database open;


Database altered.