Oracle to AWS Migration – Oracle Database and Oracle EBS R12!

Recently, Laniakea team was tasked with migrating entire Oracle infrastructure onto AWS cloud. Below we have listed some of the critical decisions you will have to make before starting the migration to any cloud.

Few of the very important tasks are as below.
* Type of EC2 instance
* Way of copying Data
* OS Certification for Oracle EBS and databases
* Security
* VPC Configuration
* VPN Configuration
* RPM Install as recommended by Oracle
* EBS Volume type
* Hostname change or not
* RMAN backup/restore of databases

Once you have EC2 instances ready, depending upon their use(APPs Tier or DB Tier), you will have to prep the Linux servers. Please go through each step based on your OS version. We had to chose RHEL 6.2 due to compatibility to the on-prem servers. The database server was installed with 6.2 and Apps servers were installed with RHEL 5.7.

Add volumes
mkfs -t ext4 /dev/xvdf and xvdfg
ls -al /dev/disk/by-uuid/

modify /etc/hosts

vi /etc/sysconfig/network

hostname name

service network restart

add swap space

dd if=/dev/zero of=/var/myswap bs=1M count=2048
mkswap /var/myswap
swapon /var/myswap

create cd /var/tmp/.oracle folder
mkdir .oracle
chmod -R 777 .oracle/

Modify sysctl

# For 11g, Oracle-Validated setting for fs.file-max is 6815744
# # For 10g, uncomment ‘fs.file-max = 327679’, and comment ‘fs.file-max = 6553600’ entry and re-run sysctl -p
# # fs.file-max = 327679
fs.file-max = 6815744

# Oracle-Validated setting for kernel.msgmni is 2878
kernel.msgmni = 2878

# Oracle-Validated setting for kernel.sem is ‘250 32000 100 142’
kernel.sem = 250 32000 100 142

# Oracle-Validated setting for kernel.shmmni is 4096
kernel.shmmni = 4096

# Oracle-Validated setting for net.core.rmem_default is 262144
net.core.rmem_default = 262144

# For 11g, Oracle-Validated setting for net.core.rmem_max is 4194304
# For 10g, uncomment ‘net.core.rmem_max = 2097152’, comment ‘net.core.rmem_max = 4194304’ entry and re-run sysctl -p
# net.core.rmem_max = 2097152
net.core.rmem_max = 4194304

# Oracle-Validated setting for net.core.wmem_default is 262144
net.core.wmem_default = 262144

# For 11g, Oracle-Validated setting for net.core.wmem_max is 1048576
# For 10g, uncomment ‘net.core.wmem_max = 262144’, comment ‘net.core.wmem_max = 1048576’ entry for this parameter and re-run sysctl -p
# net.core.wmem_max = 262144
net.core.wmem_max = 1048576

# Oracle-Validated setting for fs.aio-max-nr is 3145728
fs.aio-max-nr = 3145728

# For 11g, Oracle-Validated setting for net.ipv4.ip_local_port_range is 9000 65500
# For 10g, uncomment ‘net.ipv4.ip_local_port_range = 1024 65000’, comment ‘net.ipv4.ip_local_port_range = 9000 65500’ entry and re-run sysctl -p
# net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.ip_local_port_range = 9000 65500

# Oracle-Validated setting for vm.lower_zone_protection on rhel4/oel4 is 100
#vm.lower_zone_protection = 100

# Oracle-Validated setting for vm.min_free_kbytes is 51200 to avoid OOM killer
vm.min_free_kbytes = 51200

Create /etc/oratab and /etc/oraInventory and change ownership to oracle/applmgr

Add yum repository

APPS Tier was installed with RHEL 5.

RHEL 5

remove rh-amazon-rhui-client rpm

yum.oracle.com_repo_OracleLinux_OL6_latest_x86_64.repo 10.0.1.214:/etc/yum.repos.d/

[yum.oracle.com_repo_OracleLinux_OL6_latest_x86_64] name=added from: http://yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64
baseurl=http://yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64
enabled=1

yum repolist all
yum-config-manager — enable yum.oracle.com_repo_OracleLinux_OL6_latest_x86_64

yum update — setopt=protected_multilib=false — skip-broken — nogpgcheck

cd <12.1_INSTALL_DIR>/apps/tech_st/10.1.2/lib
$ cp -p -R stubs stubsORIG
$ cd stubs
$ cp <PATCH_INSTALL_DIR>/12415211/files/lib/stubs/libgcc_s-2.3.2-stub.so .
$ ln -s libgcc_s-2.3.2-stub.so libgcc_s.so.1
$ ln -s libgcc_s.so.1 libgcc_s.so
$ cd <12.1_INSTALL_DIR>/apps/tech_st/10.1.3/lib
$ cp -p -R stubs stubsORIG
$ cd stubs
$ cp <PATCH_INSTALL_DIR>/12415211/files/lib/stubs/libgcc_s-2.3.2-stub.so .
$ ln -s libgcc_s-2.3.2-stub.so libgcc_s.so.1
$ ln -s libgcc_s.so.1 libgcc_s.so

For discoverer.

# mv /usr/lib/libXtst.so.6 /usr/lib/libXtst.so.6.ORG

# ln -s /usr/X11R6/lib/libXtst.so.6 /usr/lib/libXtst.so.6

ran adadmin — 1 2 3 options


/oracle/WG01_wgapp01/product/apps/tech_st/10.1.3/appsutil/clone/adlnkweboh.sh
/oracle/WG01_wgapp01/product/apps/tech_st/10.1.2/appsutil/clone/adlnktools.sh

changed JRE_LIB_DIR location to this — product/apps/tech_st/10.1.2/sysman/lib/env_sysman.mk

Create link for apache startup error

apachectl startssl: execing httpd
apps/tech_st/10.1.3/Apache/Apache/bin/httpd: error while loading shared libraries: libdb.so.2: cannot open shared object fi
ln -s /usr/lib/libgdbm.so.2.0.0 /usr/lib/libdb.so.2

remove *.lock files

cd /oracle/WG01_wgapp01/product/inst/apps/WG01_wgapp01/ora/10.1.3/j2ee/oacore/persistence/

For Below error during login

Remove *.lock files from all j2ee component
cd $INST_TOP/ora/10.1.3/j2ee/oacore/persistence

change /etc/security/limits.conf
applmgr soft nproc 131072
applmgr hard nproc 131072
applmgr soft memlock 134217728
applmgr hard memlock 134217728
applmgr soft nofile 65536
applmgr hard nofile 65536
applmgr soft core unlimited
applmgr hard core unlimited

Disable FIREWALL — iptables flush

$ORACLE_HOME/bin/eulapi -CONNECT /@ \
-GRANT_PRIVILEGE \
-USER SYSADMIN \
-PRIVILEGE administration \
-PRIVILEGE all_admin_privs \
-LOG

THE CLOUD
IS IN OUR DNA.

GET STARTED