Objective:
The objective is to migrate the EBS instance from a server running Linux 5 to a new server running Linux 7.
Environment Details:
EBS R12.1.3, Database 11.2.0.4
Mount points: Database: /ddb02, Application: /dap01
Create Users and Groups on the new server.
[root@ebs01 ~]# groupadd dba
[root@ebs01 ~]# groupadd oinstall
[root@ebs01 ~]# groupadd oper
[root@ebs01 ~]# groupadd asmdba
[root@ebs01 ~]# groupadd asmoper
[root@ebs01 ~]# useradd -g dba -G oinstall,oper,asmdba,asmoper -m oradev
[root@ebs01 ~]# useradd -g dba -G oinstall,oper -m appldev
[root@ebs01 ~]# groups oradev
oradev : dba oinstall oper asmdba asmoper
[root@ebs01 ~]# groups appldev
appldev : dba oinstall oper
Assign passwords to the users:
[root@ebs01 ~]# passwd oradev
[root@ebs01 ~]# passwd appldev
Give appropriate ownership and permissions to the mount points.
[root@ebs01 /]# chown -R oradev:dba ddb02
[root@ebs01 /]# chown -R appldev:dba dap01
Take TAR backups of the existing database and application.
Create Central Inventory for the new server.
Copy the oraInventory from old server to the new server.
[root@ebs01 ddb02]# chown -R oradev:dba oraInventory/
Required Packages
The following packages (or versions of packages) are not part of the OS distribution media and must be downloaded separately (from http://oss.oracle.com/projects/compat-oracle/files/Enterprise_Linux/) for both Oracle Linux 7 and RHEL 7 and installed manually on the application tier:
• compat-libstdc++-296-2.96-144.0.2.el7.i686
• openmotif21-2.1.30-11.el7.i6861
• xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386
Additionally, the following rpm needs to be installed from the Oracle Linux 7 or RHEL 7 distribution media on the application tier:
• libXrender-0.9.8-2.1.el7.i686
The following packages must be installed from the Oracle Linux 7 or RHEL 7 distribution media on both the application and database tiers:
• binutils-2.23.52.0.1-16.el7.x86_64
• compat-db47-4.7.25-27.el7.i686
• gcc-4.8.2-16.el7.x86_64
• gcc-c++-4.8.2-16.el7.x86_64
• glibc-2.17-55.el7.i686
• glibc-2.17-55.el7.x86_64
• glibc-common-2.17-55.el7.x86_64
• glibc-devel-2.17-55.el7.i686
• glibc-devel-2.17-55.el7.x86_64
• libgcc-4.8.2-16.el7.i686
• libgcc-4.8.2-16.el7.x86_64
• libstdc++-devel-4.8.2-16.el7.i686
• libstdc++-devel-4.8.2-16.el7.x86_64
• libstdc++-4.8.2-16.el7.i686
• libstdc++-4.8.2-16.el7.x86_64
• libXi-1.7.2-2.1.el7.i686
• libXp-1.0.2-2.1.el7.i686
• libXp-1.0.2-2.1.el7.x86_64
• libaio-0.3.109-12.el7.i686
• libaio-0.3.109-12.el7.x86_64
• libgomp-4.8.2-16.el7.x86_64
• make-3.82-21.el7.x86_64
• gdbm-1.10-8.el7.i686
• gdbm-1.10-8.el7.x86_64
• sysstat-10.1.5-4.el7.x86_64
• util-linux-2.23.2-16.el7.x86_64
• unzip-5.52-3.0.1.el5.x86_642
• compat-libstdc++-33-3.2.3-71.el7.i686
Additionally, the following RPMs are required for the database tier running 11gR2 or higher (users must upgrade the bundled 11gR1 DB to 11gR2 or higher either before or after installing EBS 12.1) on the database tier:
• compat-libcap1-1.10-7.el7.x86_64
• compat-libstdc++-33-3.2.3-71.el7.x86_64
• elfutils-libelf-devel-0.158-3.el7.x86_64
• libaio-devel-0.3.109-12.el7.x86_64
• xorg-x11-utils-7.5-13.1.el7.x86_64
SELinux (Security Enhanced Linux)
SELinux is a security enhancement to Linux allowing system administrators finer control over access to system resources by users and applications.
[root@ebs01 ~]# sestatus
SELinux status: disabled
Java Requirements
Note: Oracle Linux and Red Hat Enterprise Linux 7 users should upgrade their JDK versions to officially certified versions (1.7.0_67 or higher).
[root@ebs01 ~]# java -version
openjdk version "1.8.0_65"
OpenJDK Runtime Environment (build 1.8.0_65-b17)
OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)
Kernel Settings
The following table lists the kernel settings that should be set for the OS:
Edit the /etc/sysctl.conf file to configure your kernel settings to the minimum values shown below. After editing the file, use the "sysctl -p" command or restart the system to invoke the new settings.
Parameter Value
kernel.semmsl 2561
kernel.semmns 320001
kernel.semopm 1001
kernel.semmni 1421
kernel.shmall 20971524
kernel.shmmax Half the size of the physical memory (in bytes), and at least 21474836482
kernel.shmmni 4096
kernel.msgmax 8192
kernel.msgmnb 65535
kernel.msgmni 2878
fs.file-max 131072
net.ipv4.ip_local_port_range 10000 65000
net.ipv4.tcp_tw_recycle 05
net.core.rmem_default 262144
net.core.rmem_max 4194304
net.core.wmem_default 262144
net.core.wmem_max 262144
Verifying Host Names
Use the following to verify host name settings:
For Oracle Linux 4, 5, 6 and 7, and Red Hat Enterprise Linux 4, 5, 6 and 7:
127.0.0.1 localhost.localdomain localhost
[ip_address] [node_name].[domain_name] [node_name]
[root@ebs01 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.51 ebs01.dbaarena.local ebs01
HOSTNAME=[node_name].[domain_name]
[root@ebs01 ~]# cat /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME= ebs01.dbaarena.local
Modifying the Number of Open File Descriptors
Open the /etc/security/limits.conf file and change the existing values for "hard" and "soft" parameters as follows. Restart the system after making changes.
Note: If the current value for any parameter is higher than the value listed in this document, then do not change the value of that parameter.
* hard nofile 65535
* soft nofile 4096
* hard nproc 16384
* soft nproc 2047
OS Library Patch for Oracle HTTP Server (on Oracle Linux 5, RHEL 5, Oracle Linux 6, RHEL 6, Oracle Linux 7 and RHEL 7 only)
Download and apply the patch 6078836 from My Oracle Support to fix an issue with the Oracle HTTP Server (missing libdb.so.2) bundled with the E-Business Suite technology stack.
Note that this patch (which includes a required operating system library) must be applied before installing Oracle E-Business Suite.
[root@ebs01 OEL_7]# unzip p6078836_101330_LINUX.zip
[root@ebs01 OEL_7]# cd 6078836/
[root@ebs01 6078836]# ls -ltr
total 16
-rw-r--r-- 1 root root 5825 Oct 4 2007 libdb.so.2
-rw-rw-r-- 1 root root 4819 Oct 4 2007 README.txt
[root@ebs01 6078836]# mv /usr/lib/libdb.so.2 /usr/lib/libdb.so.2.6078836
mv: cannot stat â/usr/lib/libdb.so.2â: No such file or directory
[root@ebs01 6078836]# cp libdb.so.2 /usr/lib
[root@ebs01 6078836]# ls -l /usr/lib/libdb.so.2
-rw-r--r-- 1 root root 5825 Jun 2 11:15 /usr/lib/libdb.so.2
Link to Berkeley DB library for HTTP server (on Oracle Linux 7 and RHEL 7 only)
Perform the following command (as root on your system) to create a required link to the Berkeley DB library::
[root@ebs01 6078836]# cd /usr/lib
[root@ebs01 lib]# ln -s libdb-4.7.so libdb-4.3.so
[root@ebs01 lib]# ls -l /usr/lib/libdb-4.3.so
-rw-r--r-- 1 root root 5825 Jun 2 11:15 /usr/lib/libdb.so.2
Upgrade E-Business Suite, apply E-Business Suite patches (Oracle Linux 7 and RHEL 7 only)
Apply the following EBS patches on the source environment:
Restore the Database and Application files
Copy the DB Tier and Application Tier files from source to target system.
Change the hostname and IP Address of the new target machine same as the old server
Modify the bash profiles for both the database and application users
Start the Database
SQL> startup
ORACLE instance started.
Total System Global Area 1068937216 bytes
Fixed Size 2260088 bytes
Variable Size 985662344 bytes
Database Buffers 67108864 bytes
Redo Buffers 13905920 bytes
Database mounted.
Database opened.
Start the listener
[oradev@ebs01 ~]$ lsnrctl start DEV
Start the Application Services
Run cmclean.sql
[appldev@ebs01 ~]$ sqlplus apps/***
SQL> @cmclean.sql
[appldev@ebs01 ~]$ adstrtal.sh apps/***
[appldev@ebs01 ~]$ adopmnctl.sh status
You are running adopmnctl.sh version 120.6.12010000.5
Checking status of OPMN managed processes...
Processes in Instance: EBSDEV_ebs01.ebs01.dbaarena.local
---------------------------------+--------------------+---------+---------
ias-component | process-type | pid | status
---------------------------------+--------------------+---------+---------
OC4JGroup:default_group | OC4J:oafm | 13886 | Alive
OC4JGroup:default_group | OC4J:forms | 13818 | Alive
OC4JGroup:default_group | OC4J:oacore | 13685 | Alive
HTTP_Server | HTTP_Server | 13628 | Alive
adopmnctl.sh: exiting with status 0
Check the O.S Version
[root@ebs01 ~]# cat /etc/oracle-release
Oracle Linux Server release 7.2
[root@ebs01 ~]# uname
Linux
[root@ebs01 ~]# uname -a
Linux ebs01.dbaarena.local 3.8.13-98.7.1.el7uek.x86_64 #2 SMP Wed Nov 25 13:51:41 PST 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@ebs01 ~]# uname -r
3.8.13-98.7.1.el7uek.x86_64
[root@ebs01 ~]# getconf LONG_BIT
64
[root@ebs01 ~]# java -version
openjdk version "1.8.0_65"
OpenJDK Runtime Environment (build 1.8.0_65-b17)
OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)
Known Issues
Error:
While starting the application services, Apache services do not start.
Error in the log file:
/dap01/appldev/EBSDEV/apps/tech_st/10.1.3/Apache/Apache/bin/httpd: error while loading shared libraries: libdb-4.3.so: cannot open shared object file: No such file or directory
Cause:
This is caused by having an older Oracle HTTP Server installed on a newer Operating System. For the OPatch issue, Perl is expecting to find the /usr/lib/libdb-3.3.so library, but it is missing.
The following command locates a higher version of the library (for example, /usr/lib/libdb-4.1.so)
/libdb ls -al /usr/lib *.so
Note that the error can be a newer library, depending which is found and used from the operating system. (e.g., libdb-4.2.so, libdb-4.3.so, libdb-4.4.so, etc).
The correct libdb filename to use should depend on output of ldd httpd, for example:
cd $ORACLE_HOME/Apache/Apache/bin
ldd httpd | grep libdb
libdb.so.2 => /usr/lib/libdb.so.2 (0x00868000)
•In this case, libdb.so.2 is expected
•In this case, having libdb-3.3.so will not help
Solution:
To resolve the patching problem, create a symbolic link from /usr/lib/libdb-3.3.so to the higher version of the library.
After locating the applicable higher version of libdb on your system, the following is an example command to be run:
ln -s /usr/lib/libdb-4.1.so /usr/lib/libdb-3.3.so
or
ln -s /usr/lib/libdb-4.3.so /usr/lib/libdb-3.3.so
Stop the database, application and listener.
[root@ebs01 ~]# ldconfig -v
[root@ebs01 oelmount]# yum install libdb*
[root@ebs01 oelmount]# yum install libdb-4.7.so
[root@ebs01 6078836]# ls -l /usr/lib/libdb.so.2
-rw-r--r-- 1 root root 5825 May 23 09:49 /usr/lib/libdb.so.2
[root@ebs01 lib]# ls -l libdb-4.3.so
lrwxrwxrwx 1 root root 12 May 23 09:51 libdb-4.3.so -> libdb-4.7.so
[appldev@ebs01 ~]$ cd $ORACLE_HOME/Apache/Apache/bin
[appldev@ebs01 bin]$ ldd httpd | grep libdb
libdb.so.2 => /lib/libdb.so.2 (0xf76c7000)
libdb-4.3.so => /lib/libdb-4.3.so (0xf7389000)
Start the database, listener and application services.