Oracleがインストールされているシステムで Exit Code -311が発生する

概要

Oracleがインストールされたシステムでバックアップを実行すると終了コード-311が発生します。

--- AIP Task Log ---
10/08/2015 14:00:23.718 com exception caught(0x8000ffff) in VssStart
10/08/2015 14:00:23.780 [10/08/2015 14:00:23.718] OUTPUT:
ERROR: Selected writer 'Oracle VSS Writer - ORCL' is in failed state!
- Status: 7 (VSS_WS_FAILED_AT_PREPARE_BACKUP)
- Writer Failure code: 0x800423f4 (<Unknown error code>)
- Writer ID: {26d02976-b909-43ad-af7e-62a4f625e372}
- Instance ID: {28d56957-6fa8-4a0e-9e62-ab293d6ed7f2}
:
:
10/08/2015 14:00:24.030 Exit Code: -311

--- Windows Application Log ---
Log Name:         Application
Source:           Oracle.VSSWriter.ORCL
Event ID:       44
Level:           Error

Description:
VSS-00044: Database in NOARCHIVELOG mode must be in a consistent state for backup.
Cause : The database was open read/write or mounted after a SHUTDOWN IMMEDIATE or SHUTDOWN ABORT.
Action : Either mount the database in a consistent state or open it read-only to back up the database files.

Additional info :
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
Oracle VSS writer version 11.2.0.0.0 Beta
Error at line : 4566
Failure on PrepareForBackup event

原因

Oracle VSSライターを使用する場合は、ARCHIVELOGモードが必要です。
OracleのデフォルトのインストールはNOARCHIVELOGモードのため、Oracle VSSライターは動作しません。

回避策

1) アーカイブログモードに変更する

モードの変更手順です。

>sqlplus / as sysdba

SQL> shutdown immediate
SQL> startup mount
SQL> alter database archivelog;
SQL> alter database open;

参考:
https://docs.oracle.com/cd/E57425_01/121/ADMIN/archredo.htm#i1006246

2) ノーアーカイブログモードを変更しない

Oracle VSS Writerをアンインストールします。

oravssw /q /stop
oravssw <SID> /d

バックアップスケジュールの高度なオプションでOracleの停止スクリプトを設定します。

- スナップショット実行前に実行するバッチスクリプト

net stop <OracleServiceSID>
net stop <TNSListener Service>

- スナップショット実行後に実行するバッチスクリプト

net start <TNSListener Service>
net start <OracleServiceSID>



?akb&p=1447

Table of Contents