In the following example, the location where the RMAN backup was downloaded from in the Amazon S3 environment is /oracle/backup/: The following commands perform the following high-level steps while restoring the database: You can check the progress of the RMAN restore using the following queries: The self-managed Oracle instance has sysdba access; you can customize it according to your organizational policies and standards. As a result, AWS cant include these items in backup for security reasons. If you have questions or suggestions, leave them in the comment section. You can also automate RMAN backup on RDS for Oracle instance and upload backup files to Amazon S3. For this post, we enable the archive log mode on the RDS for Oracle instance and increase the archive log retention period to 24 hours. Prepare the environment to initiate the restore. You must choose the Linux-x86-64 bit platform for hosting a self-managed database because Amazon RDS for Oracle runs on this platform. For more details of all parameters of the rdsadmin.rdsadmin_rman_util package, refer to Performing a full database backup. This helps you focus your efforts on where you can make the biggest difference in your business by offloading the undifferentiated heavy lifting of database infrastructure management. The command returns a task ID. For instructions, see the user guide. Click here to return to Amazon Web Services homepage, Amazon Relational Database Service (Amazon RDS) for Oracle, Restore an Amazon RDS for Oracle instance to a self-managed instance, Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service (Amazon S3), Amazon Virtual Private Cloud(Amazon VPC), Automate Amazon RDS backups using the Oracle RMAN utility, Amazon Quantum Ledger Database (Amazon QLDB), Configure the RDS for Oracle instance with Amazon S3 integration using an. In this post, our S3 bucket name is.
We use the AWS Command Line Interface (AWS CLI) to complete this process. In this post, we provided step-by-step guidance on restoring Amazon RDS for Oracle to a self-managed environment using the RMAN duplicate method, which doesnt require a recovery catalog or connection to the target. Create a database directory in the RDS for Oracle instance with the following code: Amazon RDS stores the RMAN backup in this directory. You can remove the backup pieces from the EBS volumes by using the fremove command. Configure the archive log with the following code: Take an RMAN backup for the entire RDS for Oracle database, along with archive log and control file. Enable archive log retention to 24 hours. You can upgrade the DST manually on your self-managed server to solve this issue by applying DST-related patches to ORACLE_HOME. Because the archive logs are required for a consistent point-in-time restoration, its important that the archive logs are retained for at least the duration of the backup. Refer the README of the given PSU or RU for more details. To follow along with this post, you should have the following prerequisites: In this section, we walk you through the steps needed on the Amazon RDS side. In this section, we walk through the steps to complete in your self-managed environment. He provides guidance and technical assistance to customers thus enabling them to build scalable, highly available and secure solutions in AWS Cloud. Its imperative that your RDS for Oracle instance has sufficient free space to accommodate the RMAN backup pieces. Cross-check the archive logs by running the following command: Run the following command to take the RMAN backup of the entire database with two channels: To get the log file name, use the following query: Run the following query to open the log file and check for any errors.
In this method, we take an RMAN backup of the RDS for Oracle instance by using the custom package rdsadmin.rdsadmin rman util as discussed in Step by Step Guide to restore an Amazon RDS for Oracle instance to a self-managed Instance. It takes care of installation, storage provisioning, management, OS and database patching, backup and restore automatically. Replace the file name obtained from the previous query and add it in this query. The archive logs are retained in the underlying Amazon Elastic Block Store (Amazon EBS) volumes. This command doesnt create a backup of any data file. You can obtain the database name on the Amazon RDS console on the Configuration tab. You can check the free storage space of your RDS for Oracle instance by referring to the Amazon CloudWatch metric FreeStorageSpace. Replace the file name obtained from the previous query and add it in the next query. We use the custom bucket name as input to the parameter p_bucket_name and specify the database directory name in the parameter p_directory_name. Familiarity with the following AWS services: An S3 bucket with a globally unique name. Its a best practice to check for the integrity of the database structure, data block, and redo logs. You can use the Amazon RDS rdsadmin.rdsadmin_rman_util package, RMAN, and Amazon S3 integration to restore a physical copy of Amazon RDS for Oracle in a self-managed environment like Amazon EC2 or any other self-managed servers. You can use Oracle native export and import for this specific use case. Transfer the backup pieces to your S3 bucket. The target location is the respective mount point and directories created in the target server for hosting the data files and redo log files. The customizations implemented in Amazon RDS for Oracle are achieved by the RDSADMIN user, so you can safely drop this user in a self-managed environment. Start the auxiliary instance using the modified parameter file. In our case, we use a bucket named aws2p900rmanbackup: Prepare a dummy parameter file for the target database instance by providing a new instance name in the DB_NAME parameter, the control file location, and the most important parameters for RMAN duplication like db_file_name_convert and log_file_name_convert. Confirm that the files are uploaded successfully.
You can change any parameters depending on your environment. On the Amazon RDS side, you perform the following high-level steps: In the self-managed environment, you perform the following steps: If youre using Amazon RDS for Oracle with transparent data encryption (TDE) enabled, you receive the following error when you try to access the encrypted columns in the restored database: The error occurs when TDE wallet is used to encrypt data. Take the RMAN backup of Amazon RDS for Oracle using. To start the auxiliary instance using the dummy parameter file, enter the following code: The following command changes the database name and restores the data files from the backup to the location indicated by DB_FILE_NAME_CONVERT, updates the new location of the data files in the control file, and recovers the database. Navigate to the directory where you want to store the RMAN backup pieces for the RDS for Oracle instance. Instead, it checks for the validity of the data files and updates the v$database_block_corruption view if it finds any corruption. Create a database directory to keep the RMAN backups. We welcome your feedback. Radhika Chakravarty is a Database Solutions Architect with Amazon Web Services. She works with customers and partners by providing technical assistance to design and implement cloud migration projects, helping them to migrate and modernize their existing databases to AWS Cloud. Make sure the Oracle binaries and database are at the same Patch Release Update (PSU) or Release Update (RU) level as Amazon RDS for Oracle: 2022, Amazon Web Services, Inc. or its affiliates. After you restore the database, perform the following steps on the self-managed instance: If ORACLE_HOME is lagging on the PSU or RU level, apply the same PSU or RU used by the RDS for Oracle instance to ORACLE_HOME of the self-managed instance. With Amazon S3 integration, you can transfer files between an RDS for Oracle instance and an S3 bucket. The procedure restores the database, performs a database rename, and starts it on a self-managed server in OPEN mode automatically. As discussed in Restore an Amazon RDS for Oracle instance to a self-managed instance, there are a variety of reasons to restore a copy of your RDS for Oracle instance to a self-managed environment to test out new application code developments or changes. For instructions to set up Amazon S3 integration between your RDS for Oracle instance and the S3 bucket created for copying backup files, refer to Amazon S3 integration. After you upload the backup pieces, theyre ready to be downloaded to a self-managed instance like Amazon EC2. Refer to Automate Amazon RDS backups using the Oracle RMAN utility for more details on this. Use the following code to check the log file, making sure to insert the task ID. All rights reserved. Finally, we restore the backup pieces to the target using the RMAN duplicate method. Download the RMAN backup pieces from the S3 bucket to your local server. Validate the database files (an optional but recommended step). Arnab Saha is a Database Administrator with the Support Engineering team at Amazon Web Services. --recursive. Create an RDS for Oracle instance with Amazon S3 integration using an IAM role and option group.
Use the following command to download the RMAN backup pieces that are stored in that location: [ec2-user@ip-xxxx backup]$ aws s3 cp s3://<
Restore the database using the RMAN duplicate method.