Oracle E-Business Suite Migration from Linux 5 to Linux 7


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
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-
• 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:

  • Verify that the /etc/hosts file is formatted as follows:
  • localhost.localdomain localhost
    [ip_address] [node_name].[domain_name] [node_name]

    [root@ebs01 ~]# cat /etc/hosts localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 ebs01.dbaarena.local ebs01

  • Verify that the /etc/sysconfig/network file is formatted as follows:
  • HOSTNAME=[node_name].[domain_name]
    [root@ebs01 ~]# cat /etc/sysconfig/network
    # Created by anaconda
    HOSTNAME= ebs01.dbaarena.local

  • If the /etc/sysconfig/networking/profiles/default/network file exists, remove it.
  • If you changed any files in the previous steps, restart the system.
  • 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:

  • 19671435:R12.WIP.B
  • 19863797:R12.ENG.C
  • 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

    [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

    [root@ebs01 ~]# getconf LONG_BIT

    [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

    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

    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

    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
    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.

    Back to Top