Email: service@parnassusdata.com 7 x 24 online support!

    You are here

Oracle STARTUP時に ORA-1110,ORA-1114,ORA-27072,OSD-4008が発生

Oracle STARTUP時に ORA-1110,ORA-1114,ORA-27072,OSD-4008が発生

 

プロのOracle Databaseの復旧サービスを提供
携帯番号: +86 13764045638 メール:service@parnassusdata.com

 

 

[質問]
STARTUP時に Alertログファイルに ORA-1110,ORA-1114,ORA-27072,OSD-4008 が
発生しました。
データベースのオープンは問題なくできています。
STARTUPを実行したフロントにはエラーは返されません。

Alertログファイルへの出力例:

Windowsプラットフォーム
  ORA-01110: data file 7 E:\ORANT\ORADATA\USER01.DBF
   ORA-01114: IO error writing block to file 10 (block # 1)
   ORA-27072: skgfdisp: I/O error
   OSD-04008: WriteFile()エラー。ファイルへの書込みができません。
   O/S-Error: (OS 5) アクセスが拒否されました。

Unixプラットフォーム
   ORA-01110: data file 4: '/export/home/users.dbf'
   ORA-01114: IO error writing block to file 4 (block # 1)
   ORA-27041: unable to open file
   SVR4 Error: 13: Permission denied


[回答]
データベース起動時には、必ず全データファイル(ローカル管理一時表領域を除く)に
アクセスします。
このメッセージは、データベースファイルに対する書き込みを実行しようとした際に
OSエラーにより処理が失敗したことを示します。

このような現象の発生は Windowsプラットフォームで多く報告があります。
以下のような原因が考えられます。

 1.Windows:NTFS を使用している場合、アクセス権限の問題により発生する。
  各種データベースファイルに対して、各UESRは以下の権限が必要となります。
        Everyone         -->   変更(RWXD)
        Administrators   -->   Full Control
        System           -->   Full Control
   *特に差し支えなければ、Everyone-Full Control に設定されることをお勧めします。

 2.Windows:該当データファイルに対して、他のアプリケーションとのI/O競合が
    発生している。
  よくある例としては以下のようなアプリケーションとなります。
    -Norton Antivirus等のウィルスチェックソフト
    -バックアップツールソフト

 3.Unix:該当データファイルにwriteのパーミッションがない。
    Windows:該当データファイルの属性が読み取り専用になっている。
    ls -l での結果が以下のような場合を指します。
     -r--r-----   1 oracle  dba     3147776  6月 24日  13:06 users01.dbf
  
    通常は -rw-r----- です。


[対処]
本現象はOSエラーに起因して発生します。
このエラーの一般的な発生原因や、原因究明のための調査方法の詳細につきましては、
別途 OSベンダ様にお問合せ頂き、調査を行っていただくようお願いします。

なお、本現象が発生した後、そのままデータファイルの書き込みが不可能な状態で
あれば、運用を継続することはできません。
DBWRプロセス、CKPTプロセスなどが該当データファイルに書き込みができずに、
インスタンスがダウンをしたり、データベースハングを引き起こしたりします。
アーカイブログモード運用で該当データファイルがユーザ表領域に属している
場合には、データファイルがOFFLINEになります。
また、shutdown normal も実施できなくなります。

このような状態となった場合には、該当ファイルへのアクセスが可能かどうかを
確認した上で、データベースのリカバリを実施してください。

実施例:
Unixであれば writeのパーミッションを与えてから以下を実行

SVRMGR> startup mount

SVRMGR> recover database
メディアのリカバリが完了しました。
SVRMGR> alter database open;
文が処理されました。


[最後に]
データファイルに書き込み権限が無い場合にデータベースが OPEN できてしまう点
については仕様改善を行い、将来のリリースにてエラーを出力するように
対応させて頂きました。
具体的な修正したリリース、及び修正予定のPSRは以下の通りとなります。

問題を修正したリリース:Oracle Database 11g Release 1(11.1.0.6)
問題を修正したPSR     :9.2.0.8, 10.1.0.5, 10.2.0.2

しかしながら、基本的には [対処] の通り、データファイルに書き込み権限を
与えることで対応願います。