事象
Windows の環境で、コールドバックアップからリストアを実行中、以下のようなエラーが発生してインスタンスの起動に失敗することがある。
2021-03-12T02:45:18.986192+09:00
Errors in file C:\ORACLE\diag\rdbms\orcl\trace\orcl_lgwr_3467.trc:
ORA-00321: ログstring(スレッドstring)のログ・ファイル・ヘッダーを更新できません
ORA-00312: オンライン・ログstring スレッドstring: 'F:\ORADATA\ORCL\REDO1\REDOLOG.LOG'
ORA-27091: I/Oをキューできません。
ORA-27041: ファイルをオープンできません
OSD-04002: ファイルをオープンできません
O/S-Error: (OS 5) アクセスが拒否されました。
2021-03-12T02:45:19.002193+09:00
Errors in file C:\ORACLE\diag\rdbms\orcl\trace\orcl_lgwr_3467.trc:
ORA-00321: ログstring(スレッドstring)のログ・ファイル・ヘッダーを更新できません
2021-03-12T02:45:19.005196+09:00
Errors in file C:\ORACLE\diag\rdbms\orcl\trace\orcl_ora_2654.trc:
ORA-00321: ログ1(スレッド)のログ・ファイル・ヘッダーを更新できません
ORA-00312: オンライン・ログ1 スレッド1: 'E:\ORADATA\ORCL\REDO1\REDOLOG.LOG'
ORA-00312: オンライン・ログ1 スレッド1: 'F:\ORADATA\ORCL\REDO1\REDOLOG.LOG'
USER (ospid: ): terminating the instance due to ORA error
原因
O/S-Error: (OS 5) アクセスが拒否されました。 は、OS レベルで書き込みができないメッセージだ。
そのため、該当のオラクルユーザーにバックアップファイルへのアクセス権限(Full Control)が付与されているか確認する必要がある。
基本的にはコールドバックアップ取得時のフォルダとファイルには、ファイルを移動する前と同じ権限の設定をしていれば問題ない。
フォルダへの権限はあるけどREDOログファイルへのアクセス権限が抜けているという場合、上記のようなエラーが発生することがあるので、ファイル単位でのアクセス設定の確認をするのも一つの手だ。