Challenge
Veeam Backup & Replication or Veeam Agent for Microsoft Windows jobs with Application-Aware Processing fail to process a Windows guest with Oracle database installed.The following sympthoms are observed.
The job fails with this or a similar error:
Creating VSS snapshot Error: Failed to create snapshot: Backup job failed. Cannot create a shadow copy of the volumes containing writer's data. A VSS critical writer has failed. Writer name: [Oracle VSS Writer - ORCL]. Class ID: [{26d02976-b909-43ad-af7e-62a4f625e372}]. Instance ID: [{f58dfa7d-06fa-485c-87fb-29649223a590}]. Writer's state: [VSS_WS_FAILED_AT_PREPARE_BACKUP]. Error code: [0x800423f4].
At the same time, you observe a critical event with EventID 44 in the "Application" windows event log on the machine
Log Name: Application Source: Oracle.VSSWriter.ORCL Date: 5/30/2018 5:04:03 AM Event ID: 44 Task Category: (255) Level: Error Keywords: Classic User: N/A Computer: DB.VEEAM.LOCAL 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.
Cause
This error appears only for databases operating in NOARCHIVELOG mode.A database operating in NOARCHIVELOG mode cannot be backed up when it’s in an inconsistent state.
The Oracle VSS Writer detects the database state before creating a shadow copy, and won’t allow to do this if the database is in inconsistent state.
Solution
This VSS failure is triggered by Oracle VSS Writer component.If you want to keep the database in NOARCHIVELOG mode. there is no proper fix from the Veeam configuration side, as this component is provided by Oracle and does its own checks before database processing.
If you want to fully resolve the issue, you would want to returned it to a consistent state. This is a task suitable for a database administrator.
Another solution would be to switch the database to ARCHIVELOG mode.
More Information
However, there is a workaround to skip this Oracle VSS Writer failure.Please note that you’re doing all the next steps at your own risk and confirm that you’re using a different way to backup such databases or understand possible aftermath.
The following workaround can be applied:
1. Ask your DBA to remove Oracle VSS Writer which is responsible for this Oracle database
2. Instruct Veeam to stop processing Oracle information in this guest machine. On the guest machine, add a registry key of REG_DWORD type with a name DisableOracleProcessing and a value 1.
- If it is backed up by Veeam Backup & Replication, add the key to ‘HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam Backup and Replication’.
- If it is backed up by Veeam Agent for Windows, add the key to ‘HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam Endpoint Backup’ and restart Veeam Agent for Microsoft Windows service.
Using this workaround, you can skip this Oracle VSS Writer failure and make image-level backup of your system. However, please note the following restrictions:
- Your database files for this particular Oracle SID will be still in inconsistent state and may be unrecoverable.
- Database properties will not be collected for any database on this server, as a result no Oracle archived redo log backup or database restore using Veeam Explorer for Oracle is possible.
- If any other database doesn’t have VSS writer installed, database files for such databases may be in a crash-consistent state too.