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.
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.
Provision AWS VM
In this activity, a VM will be provisioned in AWS via Terraform script. Below is a sample terraform script.
In the execution log below, you can see that the following resources are created:
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.
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 or extend Volume Groups
Mount and make fstab entries
Enable ssh access through password
Deploy inifile.ora_user.params file
Make /oracle/OOO/121 directory
Make /oracle/stage/121 directory
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:
Figure 5: Patch Oracle Execution Log Primary Server Setup (On-prem)
In this activity, the log mode will be checked.
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.
Standby Server Setup
In this activity, the Standby DB server will be set up. Below are the tasks that will be performed upon execution:
Check with tnsping ozooo with command
Check with tnsping ozooo-dg with command
Figure 7: Standby Server Setup Execution Log Enable Broker (AWS)
In this activity, the enable_broker.sh file will be deployed using the following command:
Figure 8: Enable Broker (AWS) Execution Log 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:
Figure 9: Enable Broker SQL Execution Log 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.
Remove Broker (AWS)
In this activity, the broker will be removed from the AWS server.
Figure 10: Remove Broker (AWS) Execution Log Remove Broker Data Guard (On-prem)
In this activity, the broker data guard will be removed from the on-prem server.
Remove Broker SQL (On-prem)
In this activity, a SQL command will be used to remove brokers on the on-prem server.
Figure 11: Remove Broker SQL Execution Log Install App Server (AWS)
In the final activity, the application servers will be installed.
Below are the tasks that will be performed upon execution:
Deploy change_db_role.sh file
Figure 12: Migrate Oracle to AWS Process Definition (End State)