如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com
Oracle 数据库 – 企业版 – 版本 8.0.5.0 到 12.1.0.2 [版本8.0.5 to 12.1]
本文的信息适用于任何平台
症状
Oracle文件中的OS块
- OS 块头在第一个数据文件块中,用于Oracle存储操作系统信息。
- 是零块,不是Oracle 块1中的数据文件头。
- 零块中的损坏不会破坏数据,低于11g 的版本,dbverify/rman检测不出, 11g 版本中的Dbverify 需要加强,以检测损坏。
- DBF大小可以用来检查块0的一致性。
- 当该块损坏时,数据库有时会被打开,不出现任何错误,因为块0只被某些特定的数据库操作打开,例如,‘CREATE CONTROLFILE’或11g 版本中Database OPEN 。
症状
- 当特定数据文件的OS块头无效时,创建控制文件可能会报告错误ORA-27047:
ORA-27047 : 不能读取文件中中的块头。
HPUX中的例子:
ORA-1503: 创建控制文件失败
ORA-1565: 识别文件‘/oradata/users.dbf’ 中的错误
ORA-27047: 不能读取文件中的块头
HP-UX Error: 22: 参数无效
Additional information: 2
- 低于11g 版本中的DBVerify不能报告数据文件中的损坏, 11g版本中 DBVerify报告错误 “DBV-00107: 未知的报头格式
- 出现错误ORA-01157 ORA-27048,数据库升级(OPEN MIGRATE) 或 NORMAL OPEN 会失败:
ORA-01157: 不能识别/锁定数据文件1 – 见DBWR 跟踪文件
ORA-01110: 数据文件 1: ‘/oracle/dbs/system.dbf’
ORA-27048: skgfifi: 文件头信息失效
原因
数据文件中的OS 块头 (块 0)损坏。
- 损坏由Oracle工具DBF大小确定:
$ dbfsize /oradata/users.dbf
块头幻数是坏的
其他由DBF大小确定的错误有:
/oradata/users.dbf: 块头文件大小是坏的; 尝试RAW文件格式…
/oradata/users.dbf: 块头幻数是坏的
- 这可以通过数据文件的一个无效的复制引起。实例是使用OS命令dd复制原始设备和文件系统中的文件时。参考HPUX中的 Bug 4307836 (作为关闭不作为错误)
- 可能由文件系统损坏引起。
- 可以由在Note:373595.1中描述的NetBackup引起。
- 也可能由 Bug 4721022 / Bug 4724358 引起。 见 Note 4724358.8
解决方法
使用好的控制文件副本打开数据库文件,并重新设置数据文件大小。
- 重置数据文件大小将重新格式化 OS块头。
修改数据库数据文件 ‘/oradata/users.dbf’ resize <new size>;
运行DBF大小,以确认该块被修复:
$ dbfsize /oradata/users.dbf
数据库文件: /oradata/users.dbf
数据库文件类型: 文件系统
数据库文件大小: 51200 8192 字节块
- 如果由文件系统损坏导致,在文件系统上运行fsck 可以修复损坏。
- 另一种选择是从备份复原/恢复受感染的文件。
Comment