Comment on page
Oracle to AWS Migration
Migrating Oracle databases to the AWS cloud through IT-Conductor can be accomplished using a process definition. This automation feature in the platform simplifies the migration process from the provisioning of virtual machines (VMs) in the cloud environment to the installation of the application server on AWS.
To access the process definition developed for this demo scenario, navigate to the Tenant Service Grid > Process Definitions > Migrate Oracle to AWS.

Figure 1: Migrate Oracle to AWS Process Definition (Initial State)
Also, we used our tenant called “OZSoft” but the process can be cloned and applied to any customer after being onboarded to IT-Conductor as a tenant. IT-Conductor creates and clones the Git repository for each tenant who needs to leverage these types of automation runbooks.
Now, let's look into each step/activity of this process definition in detail.
In this activity, a VM will be provisioned in AWS via Terraform script. Below is a sample terraform script.
module "common_infrastructure" {
source = "./modules/common_infrastructure"
infrastructure = var.infrastructure
vms = var.vms
}
module "vms" {
source = "./modules/vms"
infrastructure = var.infrastructure
vms = var.vms
subnet_mgmt = module.common_infrastructure.subnet_mgmt
sshkey = var.sshkey
}
# Generate output files
module "output_files" {
source = "./modules/output_files"
infrastructure = var.infrastructure
vms = var.vms
aws_instances = module.vms.aws_instances
sshkey = var.sshkey
}
In the execution log below, you can see that the following resources are created:
- local_file
- aws_ebs_volume
- aws_instance
- aws_volume_attachment

Figure 2: Provision VM Execution Log
Once the VM is deployed, we need to update the IP address (of the newly deployed VM) in the /oracle_hosts.yml file.
In this activity, the Oracle database files required for the migration will be installed and configured.
Below are the tasks that will be performed upon execution:
- Ensure Storage Management software is installed
- Create disk Partitions
- Create or extend Volume Groups
- Create Logical Volumes
- Create File Systems
- Mount and make fstab entries
- Update host files
- Stop/disable firewalld
- Enable ssh access through password
- Restart SSHD
- Mount network share
- Update sysctl.conf
- Run sysctl command
- Deploy 99-sap.conf file
- Deploy inifile.ora_user.params file
- Start SWPM
- Make /oracle/OOO/121 directory
- Make /oracle/stage/121 directory
- Create Symbolic link
- Deploy db_OOO.rsp file
- Change permission for /oracle

Figure 3: Prepare Oracle VM Execution Log
In this activity, Oracle SAR files will be extracted, the environment for DB_SID will be set, and Oracle RDBMS will be installed.

Figure 4: Install Oracle Execution Log
After installing Oracle RDBMS, the MOPatch needs to be updated.
In this activity, the following tasks will be performed:
- Set env OHRDBMS
- Set env IHRDBMS
- Set env SBPFUSER
- Move OPatch
- Unzip OPatch
- Unzip sapbundle
- Move MOPatch
- Apply MOPatch

Figure 5: Patch Oracle Execution Log
In this activity, the log mode will be checked.
SELECT log_mode FROM v$database
If the database will be in the archive log mode, then it will get log_size from v$log.
Else, it will first switch to the archive log mode and then initialize the parameter.

Figure 6: Primary Server Setup Subprocess
During the task Modify Initialize Parameters, the SET STANDBY_FILE_MANAGEMENT will be set into AUTO.
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
In this activity, the Standby DB server will be set up. Below are the tasks that will be performed upon execution:
- Make DBS directory
- Make parameter file
- Update param file
- copy listener.ora
- copy tnsnames.ora
- Stop DB
- Start DB
- Check with tnsping ozooo with command
- Check with tnsping ozooo-dg with command
- Make password file

Figure 7: Standby Server Setup Execution Log
In this activity, the enable_broker.sh file will be deployed using the following command:
sudo su - oraooo -c 'sh /tmp/enable_broker.sh

Figure 8: Enable Broker (AWS) Execution Log
In this activity, the following SQL command will be used to enable the broker on the source on-prem server:
ALTER SYSTEM SET dg_broker_start=true;

Figure 9: Enable Broker SQL Execution Log
In this activity, the data guard broker configuration will be removed by running a shell script that can be executed by ora<sid> user.
---
- hosts: vms-linux
gather_facts: false
become: true
become_user: root
roles:
- role: on-prem/remove-broker
In this activity, the broker will be removed from the AWS server.
---
- hosts: vms-linux
gather_facts: false
become: true
become_user: root
roles:
- role: remove-broker

Figure 10: Remove Broker (AWS) Execution Log
In this activity, the broker data guard will be removed from the on-prem server.
---
- hosts: vms-linux
gather_facts: false
become: true
become_user: root
roles:
- role: on-prem/enable-broker
In this activity, a SQL command will be used to remove brokers on the on-prem server.
alter system set dg_broker_start=false scope=both;
alter database drop standby logfile group 10;
alter database drop standby logfile group 11;
alter database drop standby logfile group 12;
alter database drop standby logfile group 13;

Figure 11: Remove Broker SQL Execution Log
In the final activity, the application servers will be installed.
Below are the tasks that will be performed upon execution:
- Stop DB
- Delete listener.ora
- Delete tnsnames.ora
- Copy initOOO
- Copy spfileOOO
- Deploy change_db_role.sh file
- Run change DB role query
- Install SAP APP Instance

Figure 12: Migrate Oracle to AWS Process Definition (End State)
Last modified 2d ago