I’ve written this article to share my thoughts and ideas regarding backup solutions for Oracle E-Business Suite running on AWS EC2 instances.
Case study: I have used two Oracle E-Business Suite installations running in the AWS cloud. Details below:
When thinking about some potential backup solutions, there are a few:
We’re going to dive into Option 3 in this particular article.
This is a reasonable question if we are considering Oracle E-Business Suite installation. Installation complexity is the reason. We would like a backup that we restore without actually re-installing Oracle E-Business Suite infrastructure.
To remind complexity of the Oracle E-Business Suite installation or migration process sharing a link to one of my previous posts: HOW TO MIGRATE ORACLE APPLICATIONS 11.5.10.2 FROM ON-PREMISES SUNOS FLEET TO LINUX ON AWS.
If we look at the configuration of E-Business Suite 11.5.10.2 running on Oracle Linux 5.9, there is an additional concern. When the installation on AWS was performed, Oracle Linux 5.9 was available as per the following link: Launch an Oracle Linux Instance in AWS.
Reviewing available public images of the same owner after a while revealed that Oracle Linux 5.9 is not available anymore. It is important to preserve all installation layers to avoid the time-consuming work of obtaining or finding the necessary operating system image.
The above statement is even more important for legacy archive systems with older operating system versions. Oracle Linux 5.9 is the latest certified combination for Oracle E-Business Suite 11.5.10.2 therefore chosen.
There are a few ways Amazon Machine Image (AMI) can be created for EC2 instances. Remember that a set of permissions are needed to perform AMI creation. If a backup activity is not performed by a user with administrator right, some roadblocks are possible.
I will not discuss roles and policies in this article as this is a good topic for separate posts addressing permission-related questions.
Let’s review a few of them.
------- Obtains AWS CLI version
aws --version
------- Configure AWS CLI (key file will be needed here)
aws configure
------- Create AMI from EC2 instance
aws ec2 create-image --instance-id i-xxxxxxxxxxxxxxxxx --name "eBS_Lab_Backup-`date +"%d.%m.%Y-%H.%M.%S"`" --description "Daily backup of eBS Lab" --no-reboot
------- Describe snapshots of EBS (Elastic Block Store) volumes
aws ec2 describe-snapshots --owner-ids self
aws ec2 describe-snapshots --owner-ids self | grep -ie SnapshotId -ie Progress -ie VolumeSize
------- Describe/list created AMIs
aws ec2 describe-images --image-ids ami-xxxxxxxxxxxxxxxxx
aws ec2 describe-images --owners self
------- Restore EC2 instance from previously created AMIs
aws ec2 run-instances --image-id ami-xxxxxxxxxxxxxxxxx --count 1 --instance-type t2.large --key-name XXX-XXX-Key --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=eBS_Lab_Backup-13.03.2023-18.14.19-RESTORE}]'
------- Describe/list restored EC2 instances and corresponding volumes
aws ec2 describe-instances --region eu-west-1
aws ec2 describe-volumes
You can find a complete AWS CLI command line interface reference here: AWS CLI Command Reference.
Last but not least, backups should be tested regularly. Regular restores ensure your data is safe and the applied backup solution is working.
Options are the same as creation regarding restoring EC2 instances from AMI (Amazon Machine Image).
Note additional post steps for restoring Oracle E-Business Suite. The restore process is tested for versions: 11.5.10.2 / 12.0 / 12.1. Work in progress on version 12.2 involves ADOP and a dual file system.
------- On target instance after restore (1) update /etc/hosts file with new IP (NEW_IP host.domain host) - check NEW_IP using ifconfig (2) hostnamectl set-hostname host.domain from source (3) clean opmn persistence (for Oracle E-Business Suite 12.0 and 12.1) set environment and run below rm -rf $INST_TOP/ora/10.1.3/j2ee/oacore/persistence/* rm -rf $INST_TOP/ora/10.1.3/j2ee/oafm/persistence/* rm -rf $INST_TOP/ora/10.1.3/j2ee/forms/persistence/* rm -rf $INST_TOP/ora/10.1.3/opmn/logs/states/.opmndat (4) clean log files from $INST_TOP find $INST_TOP -name *.log | xargs ls -lptr find $INST_TOP -name *.log | xargs rm (5) update fnd_nodes with actual IP address set pagesize 999 linesize 999 select SERVER_ADDRESS, HOST, DOMAIN from fnd_nodes; update fnd_nodes set SERVER_ADDRESS = 'NEW_IP' where HOST='your_hostname'; commit;
I do hope you enjoyed this article, and I do hope you found the information helpful. Please let me know if you have any questions; I would be happy to help. I wish you all the best in your IT administering endeavours.
Ready to optimize your Oracle EBS for the future?