12 Backup, Restore and Recover Databases
Review backup, restore, and recovery operations for your databases.
- About Database Backup and Recovery Options
Backup your databases in Oracle Database Appliance and use the restore and recover features to restore a database to another system or to recover database files. - Creating a Mount Point for NFS Backup Location
Create a mount point for the Network File System (NFS) location, to set up the NFS backup and recovery option. - Configuring Agent Proxy Settings for Object Store Access
If the Object Store IP address is accessible through proxy setup only from the Oracle Database Appliance server, then define the proxy setting for the agent, so that the agent can access the Object Store. - Creating a Database Backup Policy
Use the Web Console to create a policy to backup a database to an internal or external Oracle Fast Recovery Area (FRA) location or to the Object Store. - Updating a Database with a Backup Policy
Attach a backup policy to a database to define the database backup attributes and destination. - Updating a Database Backup Policy
Use the Web Console to update the recovery window or change the crosscheck option for a database backup policy. - Backing Up a Database
Apply a backup policy to a database, create a manual backup, update a database backup schedule, or update an archive log backup. - Viewing Backup Reports
A report is generated when a database backup is performed. The backup report lists the type, location, and date and timestamp of the backup. - Recovering a Database
Understand the recovery options available for recovering a database. - Deleting Backups
Delete older, obsolete level 0, level 1 and long term backups. - Deleting a Backup Policy
Use the Web Console to delete a database backup policy. - Using the CLI to Backup, Restore, and Recover
Use the command-line interface to create a database backup policy.
About Database Backup and Recovery Options
Backup your databases in Oracle Database Appliance and use the restore and recover features to restore a database to another system or to recover database files.
It is important to create a backup recovery strategy to protect the databases in Oracle Database Appliance from data loss due to a physical problem with a disk that causes a failure of a read from or write to a disk file that is required to run the database, or due to user error. You can create a backup policy in the Web Console or from the command-line interface.
The following backup options are available:
-
Backup to an Oracle Fast Recovery Area (FRA) disk (Internal FRA)
-
Backup to Oracle Cloud Infrastructure Object Storage (Oracle Object Storage)
-
Backup to a Network File System (NFS) location (External FRA)
You can use the backup, restore, and recovery features with databases that have backup policy attached to them in the system. You can choose to manage your backups, and set up your backup, restore, and recovery option.
The backup feature enables you to create a backup policy with your backup parameters, including backup level and location. For new and existing databases, you can create and attach a backup policy to a database to perform a daily backup. Once a backup policy is attached to a database, the dcs-agent
schedules daily automatic backups for the database. The default schedule is a level 0 backup every Sunday and a level 1 backup Monday through Saturday. You can edit or disable the schedule.
The dcs-agent
generates and saves a backup report for each backup. The backup report contains the metadata required to recover or restore a database.
Note:
You cannot backup databases that use Transparent Data Encryption (TDE).
Recovering a database in Oracle Database Appliance is a full or whole database recovery using RMAN. You can recover from a Backup Report, a point-in-time (PITR), a System Change Number (SCN), or from the latest backup. For recovery of data block, tablespaces, data files, PDBs, see the Oracle Database Backup and Recovery Reference Guide.
Backup Policy
The backup policy defines the backup details. When you create a backup policy, you define the destination for the database backups, either Internal FRA (Disk) or External FRA (NFS location), or Cloud Object Storage, and you define the attributes such as the backup level and the recovery window.
If you use the Oracle Object Storage for backup and recovery, you must have an ObjectStore Resource ID or Name.
You can assign the backup policy to the database when you create the database. You can attach a backup policy to an existing database or update a backup policy.
Backup Levels
The backup policy that you create defines the backup level:
-
Level 0: The backup captures all blocks in the datafile. By default, level 0 backups occur every Sunday. You can customize your backup settings through the Web Console or the command-line. A level 0 backup is a full backup and is used as the parent for a level 1 backup.
-
Level 1: The backup is an incremental backup that captures only those blocks that change between backups in each datafile. By default, a level 1 backup occurs daily, Monday through Saturday, and captures images of each block in a datafile that changed. Level 1 backups are differential backups. The backup includes blocks from the most recent previous level 1 or level 0 backup.
-
LongTerm: The backup is a long-term, or archival backup. Use LongTerm to create a backup that is all-inclusive and exempt from the backup retention policy. The backup is all-inclusive because every file needed to restore and recover the database is backed up to a single location. The backup is exempt from the retention policy that is defined in the recovery window. For long term backups, you must use non-FRA locations for backup destinations using the backup policy options.
-
Archivelog: This is a backup of all archivelogs not yet backed up to the backup destination, such as Internal FRA, External FRA (NFS location), or Object Store.
The AutoScheduler creates a level 0 backup on Level 0 Backup Day, by default, on Sunday, and level 1 on the remaining days of the week. You can display a list of scheduled backups, edit your backup schedule, or disable a scheduled backup.
Backup to Disk
When you backup to disk, you are using the Oracle Fast Recovery Area (FRA) of the disk. FRA is a storage directory that allows backup and recovery operations on Oracle databases. The directory contains archived redo logs, backup pieces and copies, and the control file.
Advantages to backing up to disk are as follows:
-
Quick recovery from backups stored on disk
-
Ability to PITR restore the database
-
Automate management of recovery related files (like archived logs)
Note:
When you backup to disk, data is not encrypted and passwords are not allowed. In addition, backup to disk requires a lot of disk space (up to two to three times the size of the database).The following is a high-level overview of the workflow for backup and recovery when using a disk:
-
Create a backup policy to define the backup location (disk), backup level, and recovery window.
-
Create a database and attach the backup policy to the database. When the backup policy is associated with a database, backups are automatically created.
-
Manage obsolete backups.
-
Recover the database from a backup on the disk.
Backup to External FRA (Network File System)
Specifying a Network File System (NFS) location for backups, enables you to safely and securely store or retrieve a database backup at any time.
The advantages of using NFS backup location are:
-
With NFS, you can access remote files, locally, by mounting local file systems on a network.
-
Provides a centralized backup location, without requiring manual refresh.
-
Supports enhanced security options using firewalls and Kerberos.
-
Support for encrypted backups using passwords. You optionally, set the backup password, and provide the same during restore operation.
The following is a high-level overview of the workflow for backup and recovery when using an NFS location:
-
Create a mount point for the NFS location.
The mount point must be accessible from both nodes. The
oracle
user must have read/write permissions to the NFS location. If the request is being made to a remote server, ensure that it is running. See Creating a Mount Point for NFS Backup Location for the procedure to create a mount point. -
Create a backup policy specifying the NFS location, and the recovery window for NFS destination.
-
Associate the database with this backup policy, either during database creation, or by updating the backup policy for the database.
-
Backups are automatically created, and you can also run manual backups. You can specify manual backup options in the Web Console or using ODACLI commands.
-
Manage obsolete backups.
-
Restore from backup. When you save your backups to NFS, you can restore the database to the same system or to a different system.
-
Recover the database from a backup on NFS.
Backup to Oracle Object Storage
Oracle Object Storage is a highly secure, scalable storage platform that enables you to safely and securely store or retrieve a database backup at any time. Data and the associated metadata are stored as an object in a logical container (bucket). Oracle Database Appliance creates a Backup Report and a unique ID to identify each backup.
Oracle Object Storage is tightly integrated with Oracle Cloud Infrastructure Identity and Access Management. The data, user-defined metadata associated with the data, and encryption keys are automatically encrypted using 256-bit Advanced Encryption Standard (AES- 256). The encryption keys are rotated frequently and cannot be disabled. By default, only authenticated users that have explicitly been granted access to specific resources can access data stored in Oracle Object Storage. Data is uploaded and downloaded over SSL endpoints using the HTTPS protocol.
When you backup to Oracle Object Storage, you are using your backup policy and your Oracle ObjectStoreSwift credentials. The credentials are stored in an encrypted Oracle wallet. You can attach the credentials to one or more backup policies.
Note:
Credentials are validated when you create the backup policy that uses Oracle Object Storage. The credentials are not validated against the URL and tenancy.Advantages to using Oracle Object Storage are as follows:
-
Backups are encrypted using the password for non-TDE databases.
Note:
Save the password that you use during backups in a safe location, you must provide the password during recovery operations. -
Quick recovery from backups. With the Oracle Object Storage, you can safely and securely use the Web Console to store or retrieve data directly from within the cloud platform, at any time.
-
Automate management of recovery related files (like archived logs)
-
Oracle Object Storage is not directly accessed by the operating system, instead it uses APIs to access the storage at the application level.
The following is a high-level overview of the workflow for backup and recovery when using Oracle Object Storage:
-
Create an Object Store object with your credentials.
-
Create a backup policy to define the backup location (Object Store), Object Store Credentials Name, the container (bucket) name where you want to store backups, and the recovery window.
-
Create a database and attach the backup policy as part of creating the database. When the backup policy is associated with a database, backups are automatically created.
-
Manage obsolete backups.
-
Restore from backup. When you save your backups to Oracle Object Storage, you can restore the database to the same system or to a different system.
-
Recover the database from a backup on Oracle Object Storage.
Note:
Before you can use this backup option, you must create an Oracle Cloud Infrastructure Object Storage account. When you create the account, you define the account credentials, end point URL, and bucket. Go to the Oracle Store and sign up for Oracle Cloud Infrastructure Object Storage.Backup Reports
A backup report is generated for each backup and is similar to, but does not replace, a recovery catalog. The report contains the Oracle Database Appliance information and metadata needed to restore or recover a database. The Backup Report is designed to keep track of all of the information required to restore or recover a database.
The following is an example of a level 1 backup report:
{
"id" : "2d82460c-d648-4e75-8c7d-72cc90bc442a",
"dbResId" : "b5fc646e-01a6-4c8b-8286-7633346c4329",
"tag" : null,
"dbId" : "2717054291",
"dbName" : "HRDbO",
"dbUniqueName" : "HRDbOu",
"backupType" : "REGULAR-L1",
"keepDays" : null,
"backupLocation" : "https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/dbaasimage/backupbucket",
"cfBackupHandle" : "c-2717054291-20171108-04",
"spfBackupHandle" : "c-2717054291-20171108-04",
"pitrTimeStamp" : "November 08, 2017 12:43:14 PM UTC",
"pitrSCN" : "1175058",
"resetLogsTimeStamp" : "November 08, 2017 09:55:34 AM UTC",
"resetLogsSCN" : "1112268",
"oraHomeVersion" : "12.2.0.1.170814 (26723265, 26609817)",
"sqlPatches" : "25811364,26609817",
"backupLogLoc" : "https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/dbaasimage/backupbucket/scaoda702c1n1/rmanlog/HRDbOu/2717054291/2017-11-08/rman_backup_2017-11-08_12-42-41.0545.log",
"tdeWalletLoc" : null,
"dbConfigLoc" : "https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/dbaasimage/backupbucket/scaoda702c1n1/dbconfig/HRDbOu/2717054291/2017-11-08/DBCONFIG_TAG20171108T124407_2017-11-08_12-44-07.0533.tar.gz",
"name" : "Backup_Report_HRDbO",
"createTime" : "November 08, 2017 12:42:08 PM UTC",
"state" : {
"status" : "CONFIGURED"
},
"updatedTime" : "November 08, 2017 12:44:12 PM UTC",
"backupReportLogDetail" : "https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/dbaasimage/backupbucket/scaoda702c1n1/rmandetaillogreport/HRDbOu/2717054291/2017-11-08/rman_list_backup_detail_2017-11-08_12-44-04.0362.log",
"dbInfo" : {
"dbClass" : "OLTP",
"dbType" : "RAC",
"dbShape" : "odb1",
"dbEdition" : "EE",
"dbStorage" : "ASM"
},
"dbDataSize" : "1542M",
"dbRedoSize" : "16403M"
}
About Recovery Options
The recovery in Oracle Database Appliance always performs a full database restore or recover. The recovery options are LATEST, PITR, SCN, and BackupReport.
The following types of recovery are available:
-
LATEST: Performs a complete recovery (valid backups and all required archived logs and online redo logs must be available)
-
PITR: Point-in-Time Recovery that performs a recovery to a specified timestamp within the current incarnation of database
-
SCN: SCN-based recovery that performs a recovery is an incomplete recovery to a specified SCN within the current incarnation of database.
-
BackupReport: Performs a recovery based on the Backup Report timestamp. The BackupReport option is similar to PITR, except that the recovery uses the Backup Report timestamp instead of a specified timestamp.
Point-in-Time Database Recovery
Point-in-Time Recovery (PITR) recovers the database to a specific point-in-time. You can use a timestamp or a backup report for this type of recovery.
A point-in-time recovery is often used for the following situations:
-
You want to recover the database to an SCN before a user or administrative error.
-
Complete database recovery failed because all necessary archived redo logs were not available.
-
A database upgrade fails.
-
You are creating a test database or a reporting database from production database backups.
System Change Number Recovery
A system change number (SCN) is a stamp that defines a committed version of a database at a point in time. Oracle assigns every committed transaction a unique SCN. You can recover a database to the latest time or to an SCN.
The database is restored from backups created before the target time, and then applies incremental backups and logs to re-create all changes between the time of the data file backups and the end point of recovery. When the end point is specified as an SCN, the database applies the redo logs and stops after each redo thread or the specified SCN, whichever occurs first. When the end point is specified as a time, the database internally determines a suitable SCN for the specified time and then recovers to this SCN.
SCN is a primary mechanism to maintain data consistency in Oracle database. With each execution, there is an increase in the count of the SCN. The following are some examples of areas that use SCN:
-
Redo records. Every redo record has an SCN version of the redo record in the redo header (redo records can have non-unique SCN). Given redo records from two threads (as in the case of RAC), recovery will order them in SCN order, essentially maintaining a strict sequential order.
-
Data block. Every data block has block SCN (block version). In addition to that, a change vector in a redo record also has expected block SCN. This means that a change vector can be applied to one and only version of the block. Code checks if the target SCN in a change vector is matching with the block SCN before applying the redo record. If there is a mismatch, corruption errors are thrown.
-
Read consistency. Every query has query environment which includes an SCN at the start of the query. A session can see the transactional changes only if that transaction commit SCN is lower then the query environment SCN.
-
Commit. Every commit generates an SCN (commit SCN) that marks a transaction boundary. Group commits are possible too.
Obsolete Database Backups
It is important to remove older backups once they become obsolete. The type of backup and the recovery window that you define in the database backup policy determines when obsolete database backups are deleted.
For level 0 and level 1 backups, run the command odacli delete-backup
for a given Database Resource Identifier to delete obsolete backups based on the defined recovery window.
For Longterm backups, create a JSON input file and use the command odacli delete-backup
for a given Backup Report to delete the backups from Oracle Object Storage.
-
Disk: 1-14 days
-
Object Storage: 1-31 days
Related Topics
Parent topic: Backup, Restore and Recover Databases
Creating a Mount Point for NFS Backup Location
Create a mount point for the Network File System (NFS) location, to set up the NFS backup and recovery option.
- Follow these steps on the source machine:
- Follow these steps on the client machine:
Related Topics
Parent topic: Backup, Restore and Recover Databases
Configuring Agent Proxy Settings for Object Store Access
If the Object Store IP address is accessible through proxy setup only from the Oracle Database Appliance server, then define the proxy setting for the agent, so that the agent can access the Object Store.
Parent topic: Backup, Restore and Recover Databases
Creating a Database Backup Policy
Use the Web Console to create a policy to backup a database to an internal or external Oracle Fast Recovery Area (FRA) location or to the Object Store.
Follow these steps to create a backup policy from the Web Console:
dcs-agent
schedules daily automatic backups for the database.
Parent topic: Backup, Restore and Recover Databases
Updating a Database with a Backup Policy
Attach a backup policy to a database to define the database backup attributes and destination.
Parent topic: Backup, Restore and Recover Databases
Updating a Database Backup Policy
Use the Web Console to update the recovery window or change the crosscheck option for a database backup policy.
Parent topic: Backup, Restore and Recover Databases
Backing Up a Database
Apply a backup policy to a database, create a manual backup, update a database backup schedule, or update an archive log backup.
odacli create-backup
for a specified Database.
Follow these steps to backup a database from the Web Console:
Parent topic: Backup, Restore and Recover Databases
Viewing Backup Reports
A report is generated when a database backup is performed. The backup report lists the type, location, and date and timestamp of the backup.
Parent topic: Backup, Restore and Recover Databases
Recovering a Database
Understand the recovery options available for recovering a database.
Parent topic: Backup, Restore and Recover Databases
Deleting Backups
Delete older, obsolete level 0, level 1 and long term backups.
For level 0 and level 1 backups, the recovery window defined in the Backup Configuration determines when the backup is obsolete. The ranges are as follows:
-
Backup to disk: between 1 and 14 days
-
Backup to the Oracle Object Storage: between 1 and 31 days
For Long Term backups to the Oracle Object Storage, view the Backup Report for a database to determine when the backup is obsolete. To delete Long Term Backup, the Database Resource ID or Database name and the Backup Report are required.
Follow these steps to delete database backups:
Parent topic: Backup, Restore and Recover Databases
Deleting a Backup Policy
Use the Web Console to delete a database backup policy.
Parent topic: Backup, Restore and Recover Databases
Using the CLI to Backup, Restore, and Recover
Use the command-line interface to create a database backup policy.
- Preparing for Database Backup to Disk
Use the command-line interface to create a policy to backup a database to the Oracle Fast Recovery Area (FRA) of a disk. - Preparing for Database Backup to NFS Location
Use the command-line interface to create a policy to backup a database to an External FRA (NFS Location). - Preparing for Database Backup to Oracle Cloud
Create a backup configuration to backup a database to Oracle Cloud Infrastructure Object Storage. - Backing Up a Database with the CLI
Create a level 0, level 1, or LongTerm database backup with the command-line interface. - Recovering a Database with the CLI
Recover the database to the system using a Backup Report, point-in-time recovery (PITR), a system change number (SCN), or from the latest backup time. - Restoring a Database with the CLI
Restore a database to a system from Oracle Object Storage using a Backup Report and the command-line interface.
Parent topic: Backup, Restore and Recover Databases
Preparing for Database Backup to Disk
Use the command-line interface to create a policy to backup a database to the Oracle Fast Recovery Area (FRA) of a disk.
You can create a backup policy using the Web Console or the command-line interface. Most of the backup and recovery commands enable you to provide either a resource name or resource ID to identify the database.
Backup to disk or the Backup to Internal FRA option in the Web Console, requires a lot of disk space (up to two to three times the size of the database).
Follow these steps to create a backup policy through the command-line interface:
Parent topic: Using the CLI to Backup, Restore, and Recover
Preparing for Database Backup to NFS Location
Use the command-line interface to create a policy to backup a database to an External FRA (NFS Location).
You can create a backup policy using the Web Console or the command-line interface. Most of the backup and recovery commands enable you to provide either a resource name or resource ID to identify the database.
Backup to NFS location or the Backup to External FRA option in the Web Console, requires creation of an NFS mount point.
Follow these steps to create a backup policy through the command-line interface:
Related Topics
Parent topic: Using the CLI to Backup, Restore, and Recover
Preparing for Database Backup to Oracle Cloud
Create a backup configuration to backup a database to Oracle Cloud Infrastructure Object Storage.
Before you can backup to Oracle Object Storage, you must sign up for an Oracle Cloud Infrastructure Object Storage account and know your Oracle Object Storage credentials. When you create an Oracle ObjectStoreSwift object, the command creates and stores the credential details in the system and stores the password in an encrypted Oracle wallet. The Oracle wallet contains your tenant name, user name, and defines the end point URL.
Go to the Oracle Store to sign up for Oracle Cloud Infrastructure Object Storage.
Parent topic: Using the CLI to Backup, Restore, and Recover
Backing Up a Database with the CLI
Create a level 0, level 1, or LongTerm database backup with the command-line interface.
You can create a database backup in the Web Console or with the command-line interface. When you attach a backup configuration file to a database, the dcs-agent
automatically schedules daily backups for the database. The day and time are based on the Oracle Database Appliance time zone. The AutoSchedule triggers a level 0 Backup every Sunday and a level 1 the other 6 days of the week. Use the command odacli update-schedule
to disable or change the scheduled backup time.
To create a Long Term database backup, or a level 0 or level 1 backup outside of the automatic backups, use the command odacli create-backup
.
Note:
To recover a database, there must be a level 0 backup taken, so that the backup report contains information about the base backup. Restoring a database to the same system with a different DB Name and DB Unique Name or to another system does not always require a long term database backup report. You can use archivelog, or level 0, or level 1 backup reports as well. If you use the archivelog backup report , a prior database backup must exist.To restore a database to another system, you must have a long term database backup in Oracle Object Storage.Parent topic: Using the CLI to Backup, Restore, and Recover
Recovering a Database with the CLI
Recover the database to the system using a Backup Report, point-in-time recovery (PITR), a system change number (SCN), or from the latest backup time.
Recovering a database in Oracle Database Appliance is a full RMAN database recovery.
Recovering from a backup report requires JSON input for the backup report.
Parent topic: Using the CLI to Backup, Restore, and Recover
Restoring a Database with the CLI
Restore a database to a system from Oracle Object Storage using a Backup Report and the command-line interface.
When you restore a database, environment and validation checks and setup tasks are performed. Restoring a database requires a number of tasks and configuration details, such as creating database storage, Oracle Home, recreating the control file, registering the database, and establishing RMAN restore and recovery. An Oracle Database Appliance backup report is generated for each backup and contains the metadata required to restore a database. The report is designed to help you to quickly and efficiently restore a database.
You can restore a database from one appliance to another appliance, or to the same appliance when the source database is deleted:
-
To restore to a different system, copy the backup report generated by the command
odacli create-backup
to the other machine's\bin
folder and use the commandodacli irestore-database
with the backup report. -
To restore to the same system, delete the source database and use the backup report generated by the command
odacli create-backup
.
Follow these steps to restore a database using the command-line (CLI):
Parent topic: Using the CLI to Backup, Restore, and Recover