在做rman备份时用户经常可能遇到ORA-19566错误,Exceeded Limit Of 0 Corrupt Blocks,该错误说明在备份过程中遇到坏块(一般就是ORA-1578 所指物理坏块):
RMAN-06554: WARNING: file 15 is in backup mode RMAN-06554: WARNING: file 16 is in backup mode RMAN-06554: WARNING: file 17 is in backup mode RMAN-06554: WARNING: file 18 is in backup mode RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of backup command on ch1 channel at 09/01/2007 19:38:44 ORA-19566: exceeded limit of 0 corrupt blocks for file 使用dbv工具检测也会发现坏块 dbv file=new.dbf blocksize=16384 DBVERIFY: Release 9.2.0.4.0 - Production on Thu Aug 30 18:06:59 2007 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. DBVERIFY - Verification starting : FILE = new.dbf Page 91880 is influx - most likely media corrupt *** Corrupt block relative dba: 0x048166e8 (file 18, block 91880) Fractured block found during dbv: Data in bad block - type: 0 format: 0 rdba: 0x00000000 last change scn: 0x0000.00000000 seq: 0x0 flg: 0x00 consistency value in tail: 0x00000001 check value in block header: 0x0, block checksum disabled spare1: 0x0, spare2: 0x0, spare3: 0x0 *** DBVERIFY - Verification complete Total Pages Examined : 128000 Total Pages Processed (Data) : 10475 Total Pages Failing (Data) : 0 Total Pages Processed (Index): 1154 Total Pages Failing (Index): 0 Total Pages Processed (Other): 645 Total Pages Processed (Seg) : 0 Total Pages Failing (Seg) : 0 Total Pages Empty : 115725 Total Pages Marked Corrupt : 1 Total Pages Influx : 1
但是实际使用脚本去定位坏块所在数据段segment时却找不到:
SELECT tablespace_name, segment_type, owner, segment_name FROM dba_extents WHERE file_id = 18 and 91880 between block_id AND block_id + blocks - 1;
这一般说明坏块是游离的,不位于任何数据段segment上,可以通过3种方法来修复坏块:
- block recover
- 通过在游离块上建立数据对象来绕过该问题
- 通过resize数据文件 来绕过该问题。
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]
Leave a Reply