Examples of Hotcopy Errors

Hotcopy operations may fail in different ways but can often be remedied. Here, we list the most common errors and what they mean.

If there is a failure during execution of a hot copy command then you must start a new hotcopy operation. You cannot resume the failed operation. A failure can result from the backup set being moved during the hot copy, an unexpected termination of the SM, or from a disk failure.

No such file or directory

Suppose that the directory /volumes/backups does not exist. Execution of a hot copy command with the backup set /volumes/backups/test-2022-04-18 will fail and you would see a message such as the following:

nuocmd hotcopy database --db-name test --backup-dirs 0 /volumes/backups/test-2022-04-18 --type full
'hotcopy database' failed: Failure while performing hot-copy: Error while sending engine request: Failed to create backup set /volumes/backups/test-2022-04-18: No such file or directory

No archives specified

If you attempt to run a hot copy command without specifying a value for --default-backup-dir or --backup-dirs:

nuocmd hotcopy database --db-name rcm-dev --type full
'hotcopy database' failed: Failure while performing hot-copy: No archives specified for hot-copy and no default backup location
  • Note that --default-backup-dir causes all SMs to perform a hot copy at the same time and is rarely what you want in a production system. It is conveneient in test systems with only one or two SMs.

No RUNNING SMs found due to illegal archive ID

If you attempt to run a hot copy command using an invalid archive ID, the hot copy operation fails in the following way:

nuocmd hotcopy database --db-name test --backup-dirs 42 /volumes/backups/test-2022-04-18 --type full
'hotcopy database' failed: Failure while performing hot-copy: No RUNNING SMs found for database dbName=test
  • Note that the error message means there is no SM running for an archive with id 42 (since there is no archive with id 42), not that no SMS are running at all.

Permission denied using backup set directory

A hot copy operation can fail because of a permission error. Two possible conditions:

  • The backup set directory does not exist and cannot be created

    nuocmd hotcopy database --db-name test --backup-dirs 1 /volumes/backups/test-2022-04-18 --type full
    'hotcopy database' failed: Failure while performing hot-copy: Error while sending engine request: Failed to create backup set  /volumes/backups/test-2022-04-18: Permission denied
  • The backup set exists, but nothing can be created within it due to the wrong access permissions. For example:

    nuocmd hotcopy database --db-name test --backup-dirs 1 /volumes/backups/test-2022-04-18 --type full
    'hotcopy database' failed: Failure while performing hot-copy: Error while sending engine request: Failed to create backup set temp directory /volumes/backups/test-2022-04-18/tmp/: Permission denied

Failure of SM during HotCopy

A hot copy operation fails if the SM engine process fails for any reason. The hot copy will have started successfully, so use nuocmd get hotcopy-status to check its progress:

nuocmd get hotcopy-status --coordinator-start-id 5 --hotcopy-id 5001619d-8f80-40fd-9e47-0bf7da1e02f0
HotCopyResponse(begin_timestamp=2019-06-18 11:50:56, coordinator_start_id=5, end_timestamp=2019-06-18 11:51:08, id=5001619d-8f80-40fd-9e47-0bf7da1e02f0, message=Hot copy failed: Node 1 failed, status=failed)

Wrong database ID

A hot copy operation fails if the SM engine process attempts to create a new backup on another database backup set directory:

nuocmd hotcopy database --db-name db4 --type incremental --backup-dirs 2 /volumes/backups/test-2022-04-18'
hotcopy database' failed: Failure while performing hot-copy: Error while sending engine request: Destination backup set /volumes/backups/test-2022-04-18 was created from a different archive
  • Once a full hot copy has run successfully, only the new backup set can be used by subsequent incremental or journal backups, until the next full hot copy runs.

    • Exception: an incremental hot copy may target the previous backup set while a full hot copy is running but not completed.

Trying to run Incremental Backup before invoking Full Backup

A hot copy operation fails if an incremental backup is invoked before a full backup has been completed. For example:

nuocmd hotcopy database --db-name test --backup-dirs 1 /volumes/backups/test-2022-04-18 --type incremental----
'hotcopy database' failed: Failure while performing hot-copy: Error while sending engine request: Cannot create incremental element.
No full hot copy exists in backup set

Trying to run Journal Backup before invoking Full Backup

A hot copy operation fails if journal backup is invoked but no full backup has been started for a given backup-set. However once the full backup has started journal backups can be run.

nuocmd hotcopy database --db-name test --backup-dirs 1 /volumes/backups/test-2022-04-18 --type journal
'hotcopy database' failed: Failure while performing hot-copy: Error while sending engine request: Cannot create journal element. No full hot copy exists in backup set

Trying to run Journal Backup against a Previous Backup Set

Once you have run a full hot copy to create a new backup set, you may only run a journal backup against the newly created backup set, whether the full hot has completed or not. For example, suppose a full hot copy runs every day and today’s backup set is /volumes/backups/test-2022-04-18. Trying to run a journal hot copy against yesterday’s backup set (/volumes/backups/test-2022-04-17) produces:

nuocmd hotcopy database --db-name rcm-dev --default-backup-dir /volumes/backups/test-2022-04-17  --type journal
'hotcopy database' failed: Failure while performing hot-copy: Error while sending engine request: Backup set ids in backup set /volumes/backups/test-2022-04-17 and archive do not match, journal hot copy is not allowed
This is not true of incremental hot copy. It is useful to be able to run an incremental hot copy against the most recent previous hot copy, if an ongoing full hot copy will take longer to run than the time between incrementals.
There is nothing to stop you running incremental hot copy against any valid backup set (a backup set containing a full hot copy). There is normally no need to use more than the most recent two backup sets - in our example above test-2022-04-18 and test-2022-04-17.

It is up to you to manage backup sets and ensure your incremental and journal hot copies run against the correct backup sets.