[Oracle] ORA-01115エラー発生! | Archive Redo Blog

Archive Redo Blog

DBエンジニアのあれこれ備忘録

あるテスト環境でデータの登録時に以下のようなエラーが発生しました。


java.io.IOException: ORA-01115: ファイル6(ブロック番号3050269)からの
読込みI/Oエラーが発生しました。
ORA-01110: データ・ファイル6: 'C:\ORACLE\ORADATA\ORCL\USERS01.DBF'
ORA-27091: skgfqio: I/Oをキューできません。
ORA-27070: skgfdisp: 非同期の読込み/書込みに失敗しました。
OSD-04006: ReadFile()に失敗しました。ファイルからの読込みができません
O/S-Error: (OS 23) データ エラー (巡回冗長検査 (CRC) エラー) です。

どうもデータファイルに障害が発生したようです。

DBVERIFYでデータファイルをチェックしてみると、やはり以下のようなエラーが発生します。

C:\>dbv file='C:\ORACLE\ORADATA\ORCL\USERS01.DBF' BLOCKSIZE=8192

DBVERIFY: Release 9.2.0.4.0 - Production on 金 Dec 24 15:35:52 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

DBVERIFY - 検証を開始します: FILE = C:\ORACLE\ORADATA\ORCL\USERS01.DBF

DBV-00102: FILE(C:\ORACLE\ORADATA\ORCL\USERS01.DBF)でファイルI/Oエラーが
発生しました(verification read操作中)(-2)

C:\>


ふむ...こういうときはどうしたらいいんでしょう?


滅多にお目にかからないケースだから対処にも困ります^^;

幸いにもデータベースは正常に稼働しており、ほかのデータには正常にアクセスできる状態だったので、既存のデータをエクスポートし、データベースを作り直して再度インポートするという安直な方法をとったのですが、先にRECOVERコマンドでメディア・リカバリを試した方がよかったかな?

次にこのエラーに出くわしたときは試してみよう^^