Oracle-Scripted Backup and Restore
When a single Essbase instance is deployed to an Autonomous Transaction Processing database, you can use scripts provided by Oracle to back up the entire database and the Essbase block volumes.
- Oracle-Scripted Backup of an Essbase Instance
- Restore an Essbase Instance from an Oracle-Scripted Backup
Oracle-Scripted Backup of an Essbase Instance
These Oracle-provided scripts perform the following tasks:
- Configure your database to work with your object storage.
- Stop the Essbase services.
- Back up your database.
- Back up your Essbase data and config block volumes.
- Start the Essbase services.
Before beginning a backup, you may want to gracefully bring users off the system. Because the script stops your Essbase services. See Alter Application (especially enable/disable) and Alter System (especially logoff/ kill). If you use disable commands, you must reverse them with enable commands after completing your backup.
To initiate a backup of a single instance deployed using a single Autonomous Transaction Processing database, schedule the backup for a convenient time when users are not in the system and follow these steps:
Note:
If Essbase node has no Public IP, use the Bastion as a proxy.- Ensure that the required policies to manage backups are in place.
- Using the Oracle Cloud Infrastructure console main menu, navigate to your source compute and record the Internal FQDN and Hostname from the compute’s Instance Details page. Should your source compute be unreachable at the time you restore, you will need this information.
- ssh to your Essbase compute (as opc user).
Note:
If a Bastion is used, you may need to extend the default session length of 3 hours to meet the backup time needed for your quantity of data, or run the backup in background. - Run
sudo su - oracle
. - Run
cd /u01/vmtools
. - Run the script to configure your database to work with object storage. This is a one-time action.
./configure-backup-storage.sh
After you launch the script, you are prompted for three things:Enter database admin password:
Type the clear text password. Because the password is protected information, you will not see the text as you type at the command prompt.
Enter OCI Username:
To find the Oracle Cloud Infrastructure username:- In Oracle Cloud
Infrastructure, go to the upper right hand corner and click the profile menu icon
.
- Click on the user.
- Copy the profile name at the top of the page.
- Go back to the command prompt, paste, and press Enter.
- In Oracle Cloud
Infrastructure, go to the upper right hand corner and click the profile menu icon
-
Enter OCI Token:
Enter the auth token. Because the auth token is protected information, you will not see the text you type or paste at the command prompt.
- Run the backup script.
This backs up the data and config block volumes.
./backup.sh
Note:
The Essbase services are stopped by thebackup.sh
script and restarted after it finishes.
Restore an Essbase Instance from an Oracle-Scripted Backup
Note:
If Essbase node has no Public IP, use the Bastion as a proxy.- Skip steps 1, 2, and 11.
- Because you are recovering on the same host from which you took your backup, the target instance referenced in the steps below will be your source instance.
- Deploy a target Essbase stack using Oracle Marketplace.
- Use the source Oracle Identity Cloud Service confidential application.
- Use the source Autonomous Transaction Processing database and password.
- Use the source virtual cloud network and application subnet.
- If your source stack has a load balancer, do not deploy a target load balancer. You can change the backend set after deploying the target stack.
- Use the same Essbase system admin user name and password in the target as you used in the source.
- Use the same Oracle Identity Cloud Service Essbase admin user in the target stack as you used in the source stack. If this is not possible, make sure the source Essbase instance has at least one valid Oracle Identity Cloud Service user with the Essbase system administrator role. After you restore, you must login to the target instance as a valid Oracle Identity Cloud Service user who had Essbase system administrator role on the source instance.
- Manage the target instance login URL:
- If you have a source load balancer, manage its 'essbase’
backend set for use with the target compute. After allowing the Load
Balancer time to refresh its connection to the target compute, login to
the Essbase web interface to make sure your
target instance is deployed correctly before proceeding to restore from
backup.
- Remove the source compute backend.
- Add the target compute backend. Use port 443.
There is no need to update the Oracle Identity Cloud Service confidential application URLs, as the same load balancer IP is now routing to the target Essbase instance.
- If your source stack did not have a load balancer, update your Oracle Identity Cloud
Service Confidential Application with the new Redirect and Post Logout Redirect URLs with the target IP address.
Login to Oracle Identity Cloud Service and edit the source confidential application to ensure that the target IP address is substituted for the source IP address that was previously used.
- If you have a source load balancer, manage its 'essbase’
backend set for use with the target compute. After allowing the Load
Balancer time to refresh its connection to the target compute, login to
the Essbase web interface to make sure your
target instance is deployed correctly before proceeding to restore from
backup.
- Stop the target Essbase services first (as oracle user) and then stop the WebLogic services and the Node Manager (as opc user). Do not stop the Essbase compute in Oracle Cloud
Infrastructure.
Note:
If you are simulating recovery, make sure you also stop the source compute’s Essbase services. - Restore the source Autonomous Transaction Processing database from backup.
Be sure to select a source Autonomous Transaction Processing backup that was taken during a time when your source Essbase services were stopped; also, be sure that you have a source Essbase block volume backup from the same time.
After the restore finishes, audit your data using a database client like SQL Developer. For example, you can look at the ESSBASE_APPLICATION table within the <targetprefix>_ESSBASE schema to verify the restored applications.
- Temporarily disable
/etc/fstab
config and data block volume entries.- ssh to target compute (as opc user).
sudo vi /etc/fstab
- Insert a # in front of the
/u01/config
and/u01/data
entries. - Save the file.
- Detach
data and config block volumes from the target Essbase compute. Note the iSCSI caution and be sure to unmount and
disconnect each volume before detaching using the OCI console.
- To unmount:
- ssh to target the compute (as opc user).
lsblk
sudo umount /u01/config
- Repeat these steps to unmount the data block volume.
- To disconnect iSCSI:
- In the OCI console, select the target compute.
- Select resources > attached block volumes.
- From the Actions menu
for the config block volume, select iSCSI Commands & Information.
- Copy iSCSI commands for disconnect.
- ssh to the target compute (as opc user).
- Paste the disconnect commands you copied and press enter.
- Repeat these steps to disconnect the data volume.
- To detach:
- In the OCI console, select the target compute.
- Select resources > attached block volumes.
- From the Actions menu
for the config block volume select Detach.
- Repeat these steps to detach the data block volume.
- To unmount:
- Restore data and config block volumes from source block volume backup. Be sure to select the same Availability Domain as your target compute.
- Attach block volumes created in the previous step to the target compute. The volume Attachment Type should be iSCSI.
- Use the iSCSI commands listed in the OCI console to connect your newly attached target block volumes.
- Update
/etc/fstab
entries and mount the new block volumes.- ssh to the target compute (as opc user).
lsblk
to identify the name of the newly attached config and data volumes.sudo blkid
and record the UUID of the two newly attached volumes.sudo vi /etc/fstab
- Uncomment the config and data block volume entries.
- Replace the UUID in the existing config and data volume entries with the UUID of the
newly attached data and config volumes. Be sure not to change the mount
points
/u01/config
and/u01/data
. See Traditional fstab Options. - After saving the
/etc/fstab
file, issue the following commands:sudo systemctl daemon-reload
sudo mount -a
lsblk
to verify the mount points.
- Manage hosts:
- As opc user, update the target compute
/etc/hosts
file to map the source domain information to the target.Determine the fully qualified domain name of your source compute:
- Using the OCI console main menu, navigate to your source compute and record the Internal FQDN and Hostname from the compute's Instance Details page. If the source compute is not accessible, retrieve the record you saved during backup. See step 2 in Oracle-Scripted Backup of an Essbase Instance.
- Edit the
/etc/hosts
file on the target compute and append the source domain information to the entry containing the target compute.sudo vi /etc/hosts
The entry will have the format:
<Target Compute IP> <target compute FQDN> <target compute hostname> <source compute FQDN> <source compute hostname>
- As opc user, update the target compute
/etc/oci-hostname.conf
file. Set the PRESERVE_HOSTINFO setting to 3.sudo vi /etc/oci-hostname.conf
- As opc user, update the target compute
- Start the node manager (as opc user) first, and then start the Essbase services (as oracle user).
Note:
After successfully recovering into the target Essbase stack, you can delete the failed source compute node and do further cleanup to un-needed block volumes and backups.