Email: service@parnassusdata.com 7 x 24 online support!
解决Oracle ORA-01122, ORA-01251 或数据块报告损坏
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
适用于:
Oracle数据库 – 企业版 - 9.2.0.1 到10.2.0.1版本 平台:
IBM AIX on POWER Systems (64-bit)
IBM AIX Based Systems (64-bit)
AIX5L Based Systems (64-bit)
This problem affects all RDBMS releases on AIX5L Based Systems using data files on raw devices over the following OS maintenance levels.
bos.rte.lvm 5.2.0.97 (5200-09-03) and later
bos.rte.lvm 5.3.0.53 (5300-05-04) and later
症状
在读取一些数据文件的头部或读取控制文件时有时会报些错误,比如在启动数据库的过程中报下面这些错误:
在数据文件中:
ORA-01122:26号数据文件验证检查失败
ORA-01110:数据文件26:‘/dev/rccrac_data09'
ORA-01251: 编号26的文件读取的文件头版本未知
在控制文件中:
dump出来第0号文件的第1个块,dump出来的文件/oracle/app/oracle/admin/cc/udump/cc_ora_811272.trc
***
Corrupt block relative dba: 0x00000001 (file 0, block 1)
Fractured block found during control file header read
Data in bad block -
type: 0 format: 0 rdba: 0x00000000
last change scn: 0x0000.00000000 seq: 0x0 flg: 0x00
consistency value in tail: 0x00000000
check value in block header: 0x0, block checksum disabled
spare1: 0x0, spare2: 0x0, spare3: 0x0
dev对违规的数据文件也报告所有的坏块。比如:
DBVERIFY - Verification starting : FILE = /dev/rccrac_deutb
Page 1 is influx - most likely media corrupt
Corrupt block relative dba: 0x00000001 (file 0, block 1)
Fractured block found during dbv:
Data in bad block:
type: 0 format: 0 rdba: 0x00000000
last change scn: 0x0000.00000000 seq: 0x0 flg: 0x00
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x00000000
check value in block header: 0x0
变化
可以在系统重新启动后或在逻辑卷上更改后看到问题。
原因
问题是由于逻辑卷丢失了DS_LVZ属性。这会导致Oracle开始读取错误的偏移量的数据文件(4k).例如,考虑一个新的逻辑卷:
mklv -y'asm_tst_data' -t'jfs2' -a'e' -T O -w n -r n -S 64k asmtst 200 hdisk2 hdisk3 hdisk4
-T O标志的使用,表示对LM的DS_LVZ属性进行了设置。
命令:lslv -L asm_tst_data
应该有像“devicesubtype:ds_lvz”的设置。任何导致在卷组的变化的操作(例如,重新启动或varyoffvg)将消除逻辑卷的ds_lvz标识。这时,lslv -L将不再显示“devicesubtype:ds_lvz”。因此,Oracle会在不正确的偏移读数据文件和报告错误。
解决方案:
实现解决方案,请执行如下步骤: Problem is caused by defect IY94343 in AIX Operating System.
Solution is to apply fix: (see http://www-1.ibm.com/support/docview.wss?uid=isg1IY94343 )
Comments from link:
5200-10 - use AIX APAR IY94347
5300-06 - use AIX APAR IY94343
5300-07 - use AIX APAR IY94343
注意: 影响 local volumes (LVs) 可以用这个固定命令:
# chlv -T O <lv name>
这个命令重设devicesubtype:ds_lvz影响LVs。请不要在标准4KB LVs执行这个命令。LVs的设备也必须在一个关闭的状态。