如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

  本文的信息适用于: 任何平台的Oracle RDBMS ,通常由一些硬件问题引起实例崩溃之后。 症状 ~~~~~~~~~~ 启动期间实例崩溃,会收到下列错误和DBWR终止实例: *** Corrupt block relative dba: 0x02c31d6a (file 11, block 204138) Bad header found during preparing block for write Data in bad block - type: 100 format: 101 rdba: 0x1e010101 last change scn: 0x0000.0c117747 seq: 0x2 flg: 0x20 consistency value in tail: 0x77476402 check value in block header: 0x0, block checksum disabled spare1: 0x1, spare2: 0x1, spare3: 0x2020 *** Thu May 22 10:32:16 2003 Errors in file /oracle/app/oracle/admin/UNST/bdump/dbw0_1123.trc: ORA-00600: internal error code, arguments: [kcbzpb_1], [46341482], [4], [0], [], [], [], [] DBW0: terminating instance due to error 600 Instance terminated by DBW0, pid = 1123 原因 ~~~~~~~ 通常,一些硬件出问题,如磁盘或内存故障,会收到这种错误,不能打开数据库,除非损坏块的数据文件处于离线状态 (可以在警报日志中找到) 。 实例崩溃时,损坏块在日记列中,DBWR启动期间会尝试将其写入磁盘,出现了故障。 修复 ~~~~ 首先必须找出硬件故障并修复它,之后,用 init.ora中的如下参数打开数据: _db_block_cache_protect=true db_block_checksum = true db_block_checking = true 在数据文件被标记为需要恢复的文件的情况下,如果需要,执行恢复数据文件命令 ‘...’。 现在必须确认对象类型,决定修复损坏的做法: 例如: file -> 11 block -> 204138 SELECT segment_name , segment_type , owner , tablespace_name FROM sys.dba_extents WHERE file_id = &bad_file_id AND &bad_block_id BETWEEN block_id and block_id + blocks -1 如果它是一个索引,你可以轻松地创建它。如果是表,可以使用ROWID范围扫描,保存表中数据。 见 Note:61685.1. 对于其他的对象类型,请阅读 Note:28814.1 以确定修复损坏的最佳方法。 参考文献 ~~~~~~~~~~~ Note:28814.1 - Handling Oracle Block Corruptions in Oracle7/8/8i/9i Note:61685.1 - Extracting Data from a Corrupt Table using ROWID Range Scans in