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.
Process Definition
To access the process definition developed for this demo scenario, navigate to the Tenant Service Grid → Process Definitions → Migrate Oracle to AWS.

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.
Provision AWS VM
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

Once the VM is deployed, we need to update the IP address (of the newly deployed VM) in the /oracle_hosts.yml file.
Prepare Oracle VM
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

Install Oracle
In this activity, Oracle SAR files will be extracted, the environment for DB_SID will be set, and Oracle RDBMS will be installed.

Patch Oracle
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

Primary Server Setup (On-prem)
In this activity, the log mode will be checked.
SELECT log_mode FROM v$database
If the database is in the archive log mode, then it will get log_size from v$log.
Otherwise, it will first switch to the archive log mode and then initialize the parameter.

During the task Modify Initialize Parameters, the SET STANDBY_FILE_MANAGEMENT will be set into AUTO.
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
Standby Server Setup
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

Enable Broker (AWS)
In this activity, the enable_broker.sh file will be deployed using the following command:
sudo su - oraooo -c 'sh /tmp/enable_broker.sh

Enable Broker SQL (On-prem)
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;

Enable Broker Data Guard (On-prem)
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
Remove Broker (AWS)
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

Remove Broker Data Guard (On-prem)
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
Remove Broker SQL (On-prem)
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;

Install App Server (AWS)
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
End

Video
Last updated