Most production database and e-business suite application servers do not allow access to the public-yum repository. If your company happens to be super secure, they may not even allow the development servers to access any of the servers outside their local network. The following set of instructions are instrumental if you happen to fall into either one of these situations.

In this blog, I will step you through the process to provision an E-Business Suite application server. The steps are incredibly easy and allows you to leverage the existing DVD or ISO image that we downloaded from edelivery.oracle.com. We assume that you have already installed Oracle Enterprise 5 Update 10 but these examples are applicable to any flavor of Oracle Linux 5/6 or even Red Hat 5/6 operating systems (not as clean cut but stay tuned as we will show you how you can do this). We strongly encourage the minimalistic installation of Linux. Not only does it make your environment more secure, but it also makes your environment easier to manage and update/upgrade. In addition, we assume that you have downloaded the EBS Pre Installation RPMs and required prerequisites from the
Linux Preparation for Oracle E-Business Suite R12 Installation blog article.

We heavily leverage yum so that we can easily mitigate the issues with RPM dependencies and install the RPMs that we need without issues. We start the process by building a local yum repository from the DVD image. First mount the DVD:

————————————————————————————————————————

# cd /mnt
# mkdir oel510
# mount /dev/cdrom /mnt/oel510 -t iso9660 -o ro

————————————————————————————————————————
Second, view the file that we need to create a local yum repository of the DVD

# cat /mnt/oel510/.discinfo

[root@ebs2 yum.repos.d]# cat /mnt/oel510/.discinfo
1380762881.301333
Oracle Linux Server 5.10
x86_64
1,2,3,4,5
Server/base
Server/RPMS
Server/pixmaps

————————————————————————————————————————
Leveraging the mediaid number from the DVD .discinfo file, we can create a custom repo file in /etc/yum.repos.d

[root@ebs2 yum.repos.d]# cat vna.repo
[viscosity]
mediaid=1380762881.301333
name=Local Viscosity Repo
baseurl=file:///mnt/oel510/Server
enabled=1
gpgcheck=no

————————————————————————————————————————————————————————————
Test our local yum repository by installing the libXp RPM. This happens to be a required prerequisite for the openmotif21 RPM so we will kill two birds with one stone.

[root@ebs2 yum.repos.d]# yum install libXp
Loaded plugins: rhnplugin, security
This system is not registered with ULN.
You can use up2date --register to register.
ULN support will be disabled.
viscosity                                                                                        | 1.1 kB     00:00     
viscosity/primary                                                                                | 1.5 MB     00:00     
viscosity                                                                                                     3365/3365
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package libXp.i386 0:1.0.0-8.1.el5 set to be updated
---> Package libXp.x86_64 0:1.0.0-8.1.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================
 Package                  Arch                      Version                          Repository                    Size
========================================================================================================================
Installing:
 libXp                    i386                      1.0.0-8.1.el5                    viscosity                     22 k
 libXp                    x86_64                    1.0.0-8.1.el5                    viscosity                     23 k

Transaction Summary
========================================================================================================================
Install       2 Package(s)
Upgrade       0 Package(s)

Total download size: 45 k
Is this ok [y/N]: y
Downloading Packages:
------------------------------------------------------------------------------------------------------------------------
Total                                                                                    35 MB/s |  45 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : libXp                                                                                            1/2 
  Installing     : libXp                                                                                            2/2 

Installed:
  libXp.i386 0:1.0.0-8.1.el5                                libXp.x86_64 0:1.0.0-8.1.el5                               

Complete!

————————————————————————————————————————————————————————————
Install the 2 RPMs that are prerequisites for the Oracle EBS Pre Install RPM. We will leverage the rpm -ihv command to manually install the two RPMs:

[root@ebs2 ~]# rpm -ihv openmotif21-2.1.30-11.EL5.i386.rpm xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386.rpm
Preparing...                ########################################### [100%]
   1:xorg-x11-libs-compat   ########################################### [ 50%]
   2:openmotif21            ########################################### [100%]

————————————————————————————————————————
Important Notes:
1. yum local install or yum install will fail due to missing public key check
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Public key for oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64.rpm is not installed
2. You can still leverage the oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64.rpm but need to add an option to the yum command to disable gpg signature checking. Issue the “yum -h” command for all the options.

————————————————————————————————————————
Leveraging the oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64.rpm and with the localinstall option, we will be able to fully take advantage of the EBS pre install RPM even if our EBS server does not have access to the public yum repository:

[root@ebs2 ~]# yum --nogpgcheck localinstall  oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64.rpm
Loaded plugins: rhnplugin, security
This system is not registered with ULN.
You can use up2date --register to register.
ULN support will be disabled.
Setting up Local Package Process
Examining oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64.rpm: oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64
Marking oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package oracle-ebs-server-R12-preinstall.x86_64 0:1.0.0-4.el5 set to be updated
--> Processing Dependency: /usr/bin/odbcinst for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: /usr/lib/gcc/i386-redhat-linux/4.1.1/libstdc++.a for package: oracle-ebs-server-R12-preinstall
Importing additional filelist information
--> Processing Dependency: /usr/lib/libaio.so for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: /usr/lib/libc.so for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: /usr/lib/libodbccr.so for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: /usr/lib64/libodbccr.so for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: elfutils-libelf-devel for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: elfutils-libelf-devel-static for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: gcc for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: gcc-c++ for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: glibc-devel for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: glibc-headers for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: libaio-devel for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: libgdbm.so.2 for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: libstdc++-devel for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: sysstat for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: xorg-x11-xinit for package: oracle-ebs-server-R12-preinstall
--> Running transaction check
---> Package elfutils-libelf-devel.x86_64 0:0.137-3.el5 set to be updated
---> Package elfutils-libelf-devel-static.x86_64 0:0.137-3.el5 set to be updated
---> Package gcc.x86_64 0:4.1.2-54.el5 set to be updated
---> Package gcc-c++.x86_64 0:4.1.2-54.el5 set to be updated
---> Package gdbm.i386 0:1.8.0-28.el5 set to be updated
---> Package glibc-devel.i386 0:2.5-118 set to be updated
---> Package glibc-headers.x86_64 0:2.5-118 set to be updated
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers
--> Processing Dependency: kernel-headers for package: glibc-headers
---> Package libaio-devel.i386 0:0.3.106-5 set to be updated
---> Package libstdc++-devel.i386 0:4.1.2-54.el5 set to be updated
---> Package sysstat.x86_64 0:7.0.2-12.0.1.el5 set to be updated
---> Package unixODBC.x86_64 0:2.2.11-10.el5 set to be updated
--> Processing Dependency: unixODBC-libs = 2.2.11-10.el5 for package: unixODBC
--> Processing Dependency: libodbcinst.so.1()(64bit) for package: unixODBC
--> Processing Dependency: libodbc.so.1()(64bit) for package: unixODBC
---> Package unixODBC-devel.i386 0:2.2.11-10.el5 set to be updated
--> Processing Dependency: libtdsS.so.1 for package: unixODBC-devel
--> Processing Dependency: liboraodbcS.so.1 for package: unixODBC-devel
--> Processing Dependency: libesoobS.so.1 for package: unixODBC-devel
--> Processing Dependency: libboundparam.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbcnnS.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbcminiS.so.1 for package: unixODBC-devel
--> Processing Dependency: liboplodbcS.so.1 for package: unixODBC-devel
--> Processing Dependency: libmimerS.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbcdrvcfg1S.so.1 for package: unixODBC-devel
--> Processing Dependency: libgtrtst.so.1 for package: unixODBC-devel
--> Processing Dependency: libsapdbS.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbctxtS.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbccr.so.1 for package: unixODBC-devel
--> Processing Dependency: libnn.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbcinst.so.1 for package: unixODBC-devel
--> Processing Dependency: libtemplate.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbcdrvcfg2S.so.1 for package: unixODBC-devel
---> Package unixODBC-devel.x86_64 0:2.2.11-10.el5 set to be updated
---> Package xorg-x11-xinit.x86_64 0:1.0.2-15.el5 set to be updated
--> Processing Dependency: xauth for package: xorg-x11-xinit
--> Running transaction check
---> Package kernel-headers.x86_64 0:2.6.18-371.el5 set to be updated
---> Package unixODBC-libs.i386 0:2.2.11-10.el5 set to be updated
---> Package unixODBC-libs.x86_64 0:2.2.11-10.el5 set to be updated
---> Package xorg-x11-xauth.x86_64 1:1.0.1-2.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================
 Package                          Arch   Version             Repository                                            Size
========================================================================================================================
Installing:
 oracle-ebs-server-R12-preinstall x86_64 1.0.0-4.el5         /oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64  63 k
Installing for dependencies:
 elfutils-libelf-devel            x86_64 0.137-3.el5         viscosity                                             24 k
 elfutils-libelf-devel-static     x86_64 0.137-3.el5         viscosity                                             64 k
 gcc                              x86_64 4.1.2-54.el5        viscosity                                            5.3 M
 gcc-c++                          x86_64 4.1.2-54.el5        viscosity                                            3.8 M
 gdbm                             i386   1.8.0-28.el5        viscosity                                             28 k
 glibc-devel                      i386   2.5-118             viscosity                                            2.1 M
 glibc-headers                    x86_64 2.5-118             viscosity                                            601 k
 kernel-headers                   x86_64 2.6.18-371.el5      viscosity                                            1.5 M
 libaio-devel                     i386   0.3.106-5           viscosity                                             12 k
 libstdc++-devel                  i386   4.1.2-54.el5        viscosity                                            2.8 M
 sysstat                          x86_64 7.0.2-12.0.1.el5    viscosity                                            188 k
 unixODBC                         x86_64 2.2.11-10.el5       viscosity                                            291 k
 unixODBC-devel                   i386   2.2.11-10.el5       viscosity                                            738 k
 unixODBC-devel                   x86_64 2.2.11-10.el5       viscosity                                            793 k
 unixODBC-libs                    i386   2.2.11-10.el5       viscosity                                            551 k
 unixODBC-libs                    x86_64 2.2.11-10.el5       viscosity                                            554 k
 xorg-x11-xauth                   x86_64 1:1.0.1-2.1         viscosity                                             32 k
 xorg-x11-xinit                   x86_64 1.0.2-15.el5        viscosity                                             26 k

Transaction Summary
========================================================================================================================
Install      19 Package(s)
Upgrade       0 Package(s)

Total size: 19 M
Total download size: 19 M
Is this ok [y/N]: y
Downloading Packages:
------------------------------------------------------------------------------------------------------------------------
Total                                                                                   4.7 GB/s |  19 MB     00:00     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : unixODBC-libs                                                                                   1/19 
  Installing     : unixODBC                                                                                        2/19 
  Installing     : xorg-x11-xauth                                                                                  3/19 
  Installing     : xorg-x11-xinit                                                                                  4/19 
  Installing     : sysstat                                                                                         5/19 
  Installing     : gdbm                                                                                            6/19 
  Installing     : unixODBC-libs                                                                                   7/19 
  Installing     : libstdc++-devel                                                                                 8/19 
  Installing     : unixODBC-devel                                                                                  9/19 
  Installing     : unixODBC-devel                                                                                 10/19 
  Installing     : kernel-headers                                                                                 11/19 
  Installing     : glibc-headers                                                                                  12/19 
  Installing     : glibc-devel                                                                                    13/19 
  Installing     : libaio-devel                                                                                   14/19 
  Installing     : gcc                                                                                            15/19 
  Installing     : gcc-c++                                                                                        16/19 
  Installing     : elfutils-libelf-devel                                                                          17/19 
  Installing     : elfutils-libelf-devel-static                                                                   18/19 
  Installing     : oracle-ebs-server-R12-preinstall                                                               19/19 

Installed:
  oracle-ebs-server-R12-preinstall.x86_64 0:1.0.0-4.el5                                                                 

Dependency Installed:
  elfutils-libelf-devel.x86_64 0:0.137-3.el5              elfutils-libelf-devel-static.x86_64 0:0.137-3.el5             
  gcc.x86_64 0:4.1.2-54.el5                               gcc-c++.x86_64 0:4.1.2-54.el5                                 
  gdbm.i386 0:1.8.0-28.el5                                glibc-devel.i386 0:2.5-118                                    
  glibc-headers.x86_64 0:2.5-118                          kernel-headers.x86_64 0:2.6.18-371.el5                        
  libaio-devel.i386 0:0.3.106-5                           libstdc++-devel.i386 0:4.1.2-54.el5                           
  sysstat.x86_64 0:7.0.2-12.0.1.el5                       unixODBC.x86_64 0:2.2.11-10.el5                               
  unixODBC-devel.i386 0:2.2.11-10.el5                     unixODBC-devel.x86_64 0:2.2.11-10.el5                         
  unixODBC-libs.i386 0:2.2.11-10.el5                      unixODBC-libs.x86_64 0:2.2.11-10.el5                          
  xorg-x11-xauth.x86_64 1:1.0.1-2.1                       xorg-x11-xinit.x86_64 0:1.0.2-15.el5                          

Complete!

For additional insight into preparing an EBS server, please visit this blog entry:
Linux Preparation for Oracle E-Business Suite R12 Installation

For insight into building Oracle Linux 6 server, please visit this blog entry:
Oracle Linux 6 Installation and Configuration Step-By-Step


Download the following RPMS:
1. openmotif21-2.1.30-11.EL5.i386.rpm –> for OEL 5 customers
openmotif21-2.1.30-11.EL6.i686.rpm –> for OEL 6 customers
2. xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386.rpm

From:
http://oss.oracle.com/projects/compat-oracle/files/Enterprise_Linux/

The openmotif package version must be 2.1.30 (for example, openmotif-2.2.3-10.RHEL4.5 is not supported).

========================================================================================================================

1.
First install the openmotif21 RPM. openmotif21 has a dependency on the libXp rpm so do a yum install of it first. Then use the traditional rpm -ihv command to install openmotif21 RPM.

[root@ebs1 ~]# rpm -ihv openmotif21-2.1.30-11.EL5.i386.rpm
error: Failed dependencies:
     libXp.so.6 is needed by openmotif21-2.1.30-11.EL5.i386
[root@ebs1 ~]# yum install libXp
Loaded plugins: rhnplugin, security
This system is not registered with ULN.
You can use up2date --register to register.
ULN support will be disabled.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package libXp.i386 0:1.0.0-8.1.el5 set to be updated
---> Package libXp.x86_64 0:1.0.0-8.1.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================
 Package                 Arch                     Version                            Repository                    Size
========================================================================================================================
Installing:
 libXp                   i386                     1.0.0-8.1.el5                      el5_latest                    22 k
 libXp                   x86_64                   1.0.0-8.1.el5                      el5_latest                    23 k

Transaction Summary
========================================================================================================================
Install       2 Package(s)
Upgrade       0 Package(s)

Total download size: 45 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): libXp-1.0.0-8.1.el5.i386.rpm                                                              |  22 kB     00:00    
(2/2): libXp-1.0.0-8.1.el5.x86_64.rpm                                                            |  23 kB     00:00    
------------------------------------------------------------------------------------------------------------------------
Total                                                                                   321 kB/s |  45 kB     00:00    
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 1e5e0159
el5_latest/gpgkey                                                                                | 1.4 kB     00:00    
Importing GPG key 0x1E5E0159 "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>" from http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : libXp                                                                                            1/2
  Installing     : libXp                                                                                            2/2

Installed:
  libXp.i386 0:1.0.0-8.1.el5                                libXp.x86_64 0:1.0.0-8.1.el5                              

Complete!
[root@ebs1 ~]# rpm -ihv openmotif21-2.1.30-11.EL5.i386.rpm
Preparing...                ########################################### [100%]
   1:openmotif21            ########################################### [100%]

========================================================================================================================

2.
Install the xorg-x11-libs-compat RPM

[root@ebs1 ~]# rpm -ihv xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386.rpm
Preparing...                ########################################### [100%]
   1:xorg-x11-libs-compat   ########################################### [100%]

========================================================================================================================

3.
The Linux Pre-Install RPM for Oracle E-Business Suite R12 on Oracle Linux 5 and 6 is now available for use by customers.

The package (oracle-ebs-server-R12-preinstall) is now available from the Oracle public yum repository. We recommended that you leverage the Pre-Install RPM on top of a ‘minimal’ RPM installation to run Oracle E-Business Suite Release 12. This RPM provides all required RPM packages for both the EBS application and database tier. You can significantly reduce your provisioning time of the Linux environment to install, upgrade or clone EBS R12 node. This RPM is applicable for both EBS 12.1 and 12.2 versions

[root@ebs1 ~]# yum install oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64.rpm
Loaded plugins: rhnplugin, security
This system is not registered with ULN.
You can use up2date --register to register.
ULN support will be disabled.
Setting up Install Process
Examining oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64.rpm: oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64
Marking oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package oracle-ebs-server-R12-preinstall.x86_64 0:1.0.0-4.el5 set to be updated
--> Processing Dependency: /usr/bin/odbcinst for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: /usr/lib/gcc/i386-redhat-linux/4.1.1/libstdc++.a for package: oracle-ebs-server-R12-preinstall
Importing additional filelist information
--> Processing Dependency: /usr/lib/libaio.so for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: /usr/lib/libc.so for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: /usr/lib/libodbccr.so for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: /usr/lib64/libodbccr.so for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: elfutils-libelf-devel for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: elfutils-libelf-devel-static for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: gcc for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: gcc-c++ for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: glibc-devel for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: glibc-headers for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: libaio-devel for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: libgdbm.so.2 for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: libstdc++-devel for package: oracle-ebs-server-R12-preinstall
--> Processing Dependency: sysstat for package: oracle-ebs-server-R12-preinstall
--> Running transaction check
---> Package elfutils-libelf-devel.x86_64 0:0.137-3.el5 set to be updated
---> Package elfutils-libelf-devel-static.x86_64 0:0.137-3.el5 set to be updated
---> Package gcc.x86_64 0:4.1.2-54.el5 set to be updated
---> Package gcc-c++.x86_64 0:4.1.2-54.el5 set to be updated
---> Package gdbm.i386 0:1.8.0-28.el5 set to be updated
---> Package glibc-devel.i386 0:2.5-118.el5_10.2 set to be updated
--> Processing Dependency: glibc = 2.5-118.el5_10.2 for package: glibc-devel
---> Package glibc-headers.x86_64 0:2.5-118.el5_10.2 set to be updated
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers
--> Processing Dependency: kernel-headers for package: glibc-headers
---> Package libaio-devel.i386 0:0.3.106-5 set to be updated
---> Package libstdc++-devel.i386 0:4.1.2-54.el5 set to be updated
---> Package sysstat.x86_64 0:7.0.2-12.0.1.el5 set to be updated
---> Package unixODBC.x86_64 0:2.2.11-10.el5 set to be updated
--> Processing Dependency: unixODBC-libs = 2.2.11-10.el5 for package: unixODBC
--> Processing Dependency: libodbc.so.1()(64bit) for package: unixODBC
--> Processing Dependency: libodbcinst.so.1()(64bit) for package: unixODBC
---> Package unixODBC-devel.i386 0:2.2.11-10.el5 set to be updated
--> Processing Dependency: libtemplate.so.1 for package: unixODBC-devel
--> Processing Dependency: libesoobS.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbcinst.so.1 for package: unixODBC-devel
--> Processing Dependency: libtdsS.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbccr.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbcdrvcfg2S.so.1 for package: unixODBC-devel
--> Processing Dependency: libgtrtst.so.1 for package: unixODBC-devel
--> Processing Dependency: libsapdbS.so.1 for package: unixODBC-devel
--> Processing Dependency: libnn.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbcnnS.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbctxtS.so.1 for package: unixODBC-devel
--> Processing Dependency: liboplodbcS.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbcdrvcfg1S.so.1 for package: unixODBC-devel
--> Processing Dependency: libboundparam.so.1 for package: unixODBC-devel
--> Processing Dependency: libmimerS.so.1 for package: unixODBC-devel
--> Processing Dependency: libodbcminiS.so.1 for package: unixODBC-devel
--> Processing Dependency: liboraodbcS.so.1 for package: unixODBC-devel
---> Package unixODBC-devel.x86_64 0:2.2.11-10.el5 set to be updated
--> Running transaction check
--> Processing Dependency: glibc = 2.5-118 for package: nscd
---> Package glibc.i686 0:2.5-118.el5_10.2 set to be updated
--> Processing Dependency: glibc-common = 2.5-118.el5_10.2 for package: glibc
---> Package glibc.x86_64 0:2.5-118.el5_10.2 set to be updated
---> Package kernel-headers.x86_64 0:2.6.18-371.8.1.0.1.el5 set to be updated
---> Package unixODBC-libs.i386 0:2.2.11-10.el5 set to be updated
---> Package unixODBC-libs.x86_64 0:2.2.11-10.el5 set to be updated
--> Running transaction check
---> Package glibc-common.x86_64 0:2.5-118.el5_10.2 set to be updated
---> Package nscd.x86_64 0:2.5-118.el5_10.2 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================
 Package                      Arch   Version                 Repository                                            Size
========================================================================================================================
Installing:
 oracle-ebs-server-R12-preinstall
                              x86_64 1.0.0-4.el5             /oracle-ebs-server-R12-preinstall-1.0.0-4.el5.x86_64  63 k
Installing for dependencies:
 elfutils-libelf-devel        x86_64 0.137-3.el5             ol5_u10_base                                          24 k
 elfutils-libelf-devel-static x86_64 0.137-3.el5             ol5_u10_base                                          64 k
 gcc                          x86_64 4.1.2-54.el5            ol5_u10_base                                         5.3 M
 gcc-c++                      x86_64 4.1.2-54.el5            ol5_u10_base                                         3.8 M
 gdbm                         i386   1.8.0-28.el5            ol5_u10_base                                          28 k
 glibc-devel                  i386   2.5-118.el5_10.2        el5_latest                                           2.1 M
 glibc-headers                x86_64 2.5-118.el5_10.2        el5_latest                                           601 k
 kernel-headers               x86_64 2.6.18-371.8.1.0.1.el5  el5_latest                                           1.5 M
 libaio-devel                 i386   0.3.106-5               ol5_u10_base                                          12 k
 libstdc++-devel              i386   4.1.2-54.el5            ol5_u10_base                                         2.8 M
 sysstat                      x86_64 7.0.2-12.0.1.el5        ol5_u10_base                                         188 k
 unixODBC                     x86_64 2.2.11-10.el5           ol5_u10_base                                         291 k
 unixODBC-devel               i386   2.2.11-10.el5           ol5_u10_base                                         738 k
 unixODBC-devel               x86_64 2.2.11-10.el5           ol5_u10_base                                         793 k
 unixODBC-libs                i386   2.2.11-10.el5           ol5_u10_base                                         551 k
 unixODBC-libs                x86_64 2.2.11-10.el5           ol5_u10_base                                         554 k
Updating for dependencies:
 glibc                        i686   2.5-118.el5_10.2        el5_latest                                           5.4 M
 glibc                        x86_64 2.5-118.el5_10.2        el5_latest                                           4.8 M
 glibc-common                 x86_64 2.5-118.el5_10.2        el5_latest                                            16 M
 nscd                         x86_64 2.5-118.el5_10.2        el5_latest                                           177 k

Transaction Summary
========================================================================================================================
Install      17 Package(s)
Upgrade       4 Package(s)

Total size: 46 M
Total download size: 46 M
Is this ok [y/N]: y
Downloading Packages:
(1/20): libaio-devel-0.3.106-5.i386.rpm                                                          |  12 kB     00:00    
(2/20): elfutils-libelf-devel-0.137-3.el5.x86_64.rpm                                             |  24 kB     00:00    
(3/20): gdbm-1.8.0-28.el5.i386.rpm                                                               |  28 kB     00:00    
(4/20): elfutils-libelf-devel-static-0.137-3.el5.x86_64.rpm                                      |  64 kB     00:00    
(5/20): nscd-2.5-118.el5_10.2.x86_64.rpm                                                         | 177 kB     00:00    
(6/20): sysstat-7.0.2-12.0.1.el5.x86_64.rpm                                                      | 188 kB     00:00    
(7/20): unixODBC-2.2.11-10.el5.x86_64.rpm                                                        | 291 kB     00:00    
(8/20): unixODBC-libs-2.2.11-10.el5.i386.rpm                                                     | 551 kB     00:00    
(9/20): unixODBC-libs-2.2.11-10.el5.x86_64.rpm                                                   | 554 kB     00:00    
(10/20): glibc-headers-2.5-118.el5_10.2.x86_64.rpm                                               | 601 kB     00:00    
(11/20): unixODBC-devel-2.2.11-10.el5.i386.rpm                                                   | 738 kB     00:00    
(12/20): unixODBC-devel-2.2.11-10.el5.x86_64.rpm                                                 | 793 kB     00:00    
(13/20): kernel-headers-2.6.18-371.8.1.0.1.el5.x86_64.rpm                                        | 1.5 MB     00:00    
(14/20): glibc-devel-2.5-118.el5_10.2.i386.rpm                                                   | 2.1 MB     00:01    
(15/20): libstdc++-devel-4.1.2-54.el5.i386.rpm                                                   | 2.8 MB     00:01    
(16/20): gcc-c++-4.1.2-54.el5.x86_64.rpm                                                         | 3.8 MB     00:02    
(17/20): glibc-2.5-118.el5_10.2.x86_64.rpm                                                       | 4.8 MB     00:02    
(18/20): gcc-4.1.2-54.el5.x86_64.rpm                                                             | 5.3 MB     00:03    
(19/20): glibc-2.5-118.el5_10.2.i686.rpm                                                         | 5.4 MB     00:03    
(20/20): glibc-common-2.5-118.el5_10.2.x86_64.rpm                                                |  16 MB     00:08    
------------------------------------------------------------------------------------------------------------------------
Total                                                                                   1.3 MB/s |  46 MB     00:34    
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating       : glibc-common                                                                                    1/25
  Updating       : glibc                                                                                           2/25
  Installing     : unixODBC-libs                                                                                   3/25
  Installing     : unixODBC                                                                                        4/25
  Installing     : libstdc++-devel                                                                                 5/25
  Installing     : sysstat                                                                                         6/25
  Installing     : unixODBC-devel                                                                                  7/25
  Installing     : libaio-devel                                                                                    8/25
  Installing     : kernel-headers                                                                                  9/25
  Updating       : nscd                                                                                           10/25
  Installing     : glibc-headers                                                                                  11/25
  Updating       : glibc                                                                                          12/25
  Installing     : unixODBC-libs                                                                                  13/25
  Installing     : gdbm                                                                                           14/25
  Installing     : glibc-devel                                                                                    15/25
  Installing     : unixODBC-devel                                                                                 16/25
  Installing     : gcc                                                                                            17/25
  Installing     : gcc-c++                                                                                        18/25
  Installing     : elfutils-libelf-devel-static                                                                   19/25
  Installing     : elfutils-libelf-devel                                                                          20/25
  Installing     : oracle-ebs-server-R12-preinstall                                                               21/25
  Cleanup        : nscd                                                                                           22/25
  Cleanup        : glibc                                                                                          23/25
  Cleanup        : glibc                                                                                          24/25
  Cleanup        : glibc-common                                                                                   25/25

Installed:
  oracle-ebs-server-R12-preinstall.x86_64 0:1.0.0-4.el5                                                                

Dependency Installed:
  elfutils-libelf-devel.x86_64 0:0.137-3.el5              elfutils-libelf-devel-static.x86_64 0:0.137-3.el5            
  gcc.x86_64 0:4.1.2-54.el5                               gcc-c++.x86_64 0:4.1.2-54.el5                                
  gdbm.i386 0:1.8.0-28.el5                                glibc-devel.i386 0:2.5-118.el5_10.2                          
  glibc-headers.x86_64 0:2.5-118.el5_10.2                 kernel-headers.x86_64 0:2.6.18-371.8.1.0.1.el5               
  libaio-devel.i386 0:0.3.106-5                           libstdc++-devel.i386 0:4.1.2-54.el5                          
  sysstat.x86_64 0:7.0.2-12.0.1.el5                       unixODBC.x86_64 0:2.2.11-10.el5                              
  unixODBC-devel.i386 0:2.2.11-10.el5                     unixODBC-devel.x86_64 0:2.2.11-10.el5                        
  unixODBC-libs.i386 0:2.2.11-10.el5                      unixODBC-libs.x86_64 0:2.2.11-10.el5                         

Dependency Updated:
  glibc.i686 0:2.5-118.el5_10.2       glibc.x86_64 0:2.5-118.el5_10.2      glibc-common.x86_64 0:2.5-118.el5_10.2    
  nscd.x86_64 0:2.5-118.el5_10.2    

Complete!
[root@ebs1

========================================================================================================================

The oracle-ebs-server-R12-preinstall RPM creates the oracle and applmgr unix accounts. oracle will be if you configure the node to include the the database and application tiers.

[root@ebs1 ~]# cat /etc/passwd |tail -5
avahi-autoipd:x:100:101:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
oracle:x:54321:54321::/home/oracle:/bin/bash
applmgr:x:54322:54321::/home/applmgr:/bin/bash

========================================================================================================================

The oracle-ebs-server-R12-preinstall RPM sets the hard and soft shell resource limits according to Oracle’s recommended values in /etc/security/limits.conf in Oracle Linux 5 and /etc/security/limits.d/ in Oracle Linux 6:

# oracle-ebs-server-R12-preinstall setting for nofile soft limit is 4096
oracle   soft   nofile    4096
applmgr   soft   nofile    4096

# oracle-ebs-server-R12-preinstall setting for nofile hard limit is 65536
oracle   hard   nofile    65536
applmgr   hard   nofile    65536

# oracle-ebs-server-R12-preinstall setting for nproc soft limit is 16384
oracle   soft   nproc    16384
applmgr   soft   nproc    16384

# oracle-ebs-server-R12-preinstall setting for nproc hard limit is 16384
oracle   hard   nproc    16384
applmgr   hard   nproc    16384

# oracle-ebs-server-R12-preinstall setting for core soft limit is unlimited
oracle   soft   core    unlimited
applmgr   soft   core    unlimited

# oracle-ebs-server-R12-preinstall setting for core hard limit is unlimited
oracle   hard   core    unlimited
applmgr   hard   core    unlimited

# oracle-ebs-server-R12-preinstall setting for memlock soft limit is 50000000
oracle   soft   memlock    50000000
applmgr   soft   memlock    50000000

# oracle-ebs-server-R12-preinstall setting for memlock hard limit is 50000000
oracle   hard   memlock    50000000
applmgr   hard   memlock    50000000

# oracle-ebs-server-R12-preinstall setting for stack soft limit is 10240
oracle   soft   stack    10240
applmgr   soft   stack    10240

# oracle-ebs-server-R12-preinstall setting for stack hard limit is 32768
oracle   hard   stack    32768
applmgr   hard   stack    32768

========================================================================================================================

Most importantly, the EBS preinstall RPM updates the kernel parameters in /etc/sysctl.conf to Oracle recommended values:

# oracle-ebs-server-R12-preinstall setting for fs.file-max is 6815744
fs.file-max = 6815744

# oracle-ebs-server-R12-preinstall setting for kernel.msgmni is 2878
kernel.msgmni = 2878

# oracle-ebs-server-R12-preinstall setting for kernel.msgmax is 8192

# oracle-ebs-server-R12-preinstall setting for kernel.msgmnb is 65536
kernel.msgmnb = 65536

# oracle-ebs-server-R12-preinstall setting for kernel.sem is '256 32000 100 142'
kernel.sem = 256 32000 100 142

# oracle-ebs-server-R12-preinstall setting for kernel.shmmni is 4096
kernel.shmmni = 4096

# oracle-ebs-server-R12-preinstall setting for kernel.shmall is 1073741824

# oracle-ebs-server-R12-preinstall setting for kernel.shmmax is 4398046511104 on x86_64 and 4294967295 on i386 architecture.
# Refer Note id 567506.1
kernel.shmmax = 4398046511104

# oracle-ebs-server-R12-preinstall setting for kernel.sysrq is 1
kernel.sysrq = 1

# oracle-ebs-server-R12-preinstall setting for net.core.rmem_default is 262144
net.core.rmem_default = 262144

# oracle-ebs-server-R12-preinstall setting for net.core.rmem_max is 4194304
net.core.rmem_max = 4194304

# oracle-ebs-server-R12-preinstall setting for net.core.wmem_default is 262144
net.core.wmem_default = 262144

# oracle-ebs-server-R12-preinstall setting for net.core.wmem_max is 1048576
net.core.wmem_max = 1048576

# oracle-ebs-server-R12-preinstall setting for fs.aio-max-nr is 3145728
fs.aio-max-nr = 3145728

# oracle-ebs-server-R12-preinstall setting for net.ipv4.ip_local_port_range is 9000 65500
net.ipv4.ip_local_port_range = 9000 65500

========================================================================================================================

The DNS resolver parameters are updated in /etc/resolv.conf to the minimum recommended values. You may need to re-visit these values based on your corporate environment:

[root@ebs1 ~]# cat /etc/resolv.conf
search viscosity.com
nameserver 192.168.1.1
#oracle-ebs-server-R12-preinstall setting for attempts is 5
options attempts:5
#oracle-ebs-server-R12-preinstall setting for timeout is 15
options timeout:15

========================================================================================================================

The EBS preinstall RPM also disables numa in the /etc/grub.conf kernel commandline:

[root@ebs1 ~]# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Oracle Linux Server (2.6.39-400.209.1.el5uek)
     root (hd0,0)
     kernel /vmlinuz-2.6.39-400.209.1.el5uek ro root=/dev/VolGroup00/LogVol00 rhgb quiet numa=off
     initrd /initrd-2.6.39-400.209.1.el5uek.img
title Oracle Linux Server-base (2.6.18-371.el5)
     root (hd0,0)
     kernel /vmlinuz-2.6.18-371.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet numa=off
     initrd /initrd-2.6.18-371.el5.img

========================================================================================================================

If you are running Oracle Linux 6, it disables Transparent Huge Pages (THP). THP is not quite ready for prime time yet.


We see more and more customers migrating from Red Hat Enterprise Linux to Oracle Linux. Companies like Dell are moving from Red Hat to Oracle Linux. Oracle Linux is optimized for Oracle workloads and all of Oracle hardware and engineered systems runs on Oracle Linux. Oracle Linux has the proven track record for performance and stability.

Not only can we run Oracle Databases on Oracle Linux but more and more customers are shifting their applications and middleware to Oracle Linux.

When you install and configure Oracle Linux, the screens do not look any different than the screens that you see for a Red Hat Linux installation. The following step-by-step set of instructions can be used to install Oracle Linux 6:

OL6.0 Installation and Configuration.pdf


Oracle Multitenant plugin
the file names in the multitenant manifest or in the full transportable database import command must match all files exactly for the operation to complete

There are some difficulties when OMF/ASM is used, files are copied, and a physical standby database is in place. There have been improvements made to the multitenant plugin operation on both the primary and standby environments, however at this time additional work must still be done on the standby database when a full transportable database import operation is performed.

RMAN has been enhanced so that, when copying files between databases it recognizes the GUID and acts accordingly when writing the files.

* If the clone/auxiliary instance being connected to for clone operations is a CDB root, the GUID of the RMAN target database is used to determine the directory structure to write the datafiles. Connect to the CDB root as the RMAN clone/auxiliary instance when the source database should be a 12c non-CDB or PDB that is going to be migrated and plugged into a remote CDB as a brand new PDB. This will ensure that the files copied by RMAN will be written to the GUID directory of source database for the migration.

* If the clone/auxiliary instance being connected to for clone operations is a PDB, the GUID of the auxiliary PDB will be used to determine the directory structure to write the datafiles. Connect to the destination PDB as the RMAN clone auxiliary instance when the source database is a 12c non-CDB or PDB that requires a cross platform full transportable database import and the data and files will be imported into an existing PDB. This will ensure the files copied by RMAN will be written to the GUID directory of the PDB target database for the migration.

Posted in ASM

Optionally modify the XML configuration file to point to the local repository:

# vi /var/lib/ambari-server/resources/stacks/HDPLocal/2.0.6/repos/repoinfo.xml 

Configure the Ambari server with the default options

# ambari-server setup -s
Using python  /usr/bin/python2.6
Initializing...
Setup ambari-server
Checking SELinux...
SELinux status is 'enabled'
SELinux mode is 'permissive'
WARNING: SELinux is set to 'permissive' mode and temporarily disabled.
OK to continue [y/n] (y)? 
Customize user account for ambari-server daemon [y/n] (n)? 
Adjusting ambari-server permissions and ownership...
Checking iptables...
Checking JDK...
To download the Oracle JDK you must accept the license terms found at http://www.oracle.com/technetwork/java/javase/terms/license/index.html and not accepting will cancel the Ambari Server setup.
Do you accept the Oracle Binary Code License Agreement [y/n] (y)? 
Downloading JDK from http://public-repo-1.hortonworks.com/ARTIFACTS/jdk-6u31-linux-x64.bin to /var/lib/ambari-server/resources/jdk-6u31-linux-x64.bin
JDK distribution size is 85581913 bytes
jdk-6u31-linux-x64.bin... 100% (81.6 MB of 81.6 MB)
Successfully downloaded JDK distribution to /var/lib/ambari-server/resources/jdk-6u31-linux-x64.bin
Installing JDK to /usr/jdk64
Successfully installed JDK to /usr/jdk64/jdk1.6.0_31
Downloading JCE Policy archive from http://public-repo-1.hortonworks.com/ARTIFACTS/jce_policy-6.zip to /var/lib/ambari-server/resources/jce_policy-6.zip
Successfully downloaded JCE Policy archive to /var/lib/ambari-server/resources/jce_policy-6.zip
Completing setup...
Configuring database...
Enter advanced database configuration [y/n] (n)? 
Default properties detected. Using built-in database.
Checking PostgreSQL...
Running initdb: This may take upto a minute.
About to start PostgreSQL
Configuring local database...
Connecting to the database. Attempt 1...

Configuring PostgreSQL...
Restarting PostgreSQL
Ambari Server 'setup' completed successfully.

As the root user, start the Ambari Server from the command line interface.

# ambari-server start
Using python  /usr/bin/python2.6
Starting ambari-server
Ambari Server running with 'root' privileges.
Server PID at: /var/run/ambari-server/ambari-server.pid
Server out at: /var/log/ambari-server/ambari-server.out
Server log at: /var/log/ambari-server/ambari-server.log
Ambari Server 'start' completed successfully.

In this blog I want to illustrate the benefits of deploying PDB with RAC Services.  Although the key ingredient is the Service, RAC provides the final mile for scalability and availability.  In my mind I would not implement PDB w/o RAC

Anyways here we go…

The goal is to illustrate that Database [RAC] Services integration with PDBs provides seamless management and availability.

Initially, we have only the PDB$SEED. 

SQL> select * from v$pdbs;


CON_ID       DBID     CON_UID GUID                             NAME                           OPEN_MODE  RES OPEN_TIME                                                              CREATE_SCN TOTAL_SIZE
---------- ---------- ---------- -------------------------------- ------------------------------ ---------- --- --------------------------------------------------------------------------- ---------- ----------
2 4080865680 4080865680 F13EFFD958E24857E0430B2910ACF6FD PDB$SEED                       READ ONLY  NO  17-FEB-14 01.01.13.909 PM                                                 1720768  283115520

Let's create a PDB from the SEED (I have shown this from an earlier Blog post)

SQL> CREATE PLUGGABLE DATABASE pdbhansolo admin user hansolo identified by hansolo roles=(dba);

Pluggable database created.

Now we have the new PDB listed.

SQL> select * from v$pdbs;

CON_ID     DBID       CON_UID     GUID                            NAME                           OPEN_MODE  RES OPEN_TIME                                                              CREATE_SCN TOTAL_SIZE
---------- ---------- ---------- -------------------------------- ------------------------------ ----------- ----------------------------------------------------------------------- ---------- ----------
2          4080865680 4080865680 F13EFFD958E24857E0430B2910ACF6FD PDB$SEED                       READ ONLY  NO  17-FEB-14 01.01.13.909 PM                                                 1720768  283115520
         3 3403102439 3403102439 F2A023F791663F8DE0430B2910AC37F7 PDBHANSOLO                     MOUNTED        17-FEB-14 01.27.08.942 PM                                                 1846849          0

But notice that its in "MOUNTED" status. Even if I restart the whole CDB, the new PDB will not come up in OPEN READ WRITE mode. If we want to have the
PDB available on startup. Here's how we go about resolving it.

When we create or plug in a new PDB, a default Service gets created, as with previous versions, it is highly recommended not to connect to Service. Oracle took this one step forward and forced users to create a user generated Service. So let's associate a user Service with that PDB. Notice that there's a "-pdb" flag in the add service command.

$ srvctl add service -d dagobah -s hoth -pdb pdbhansolo


[oracle@rac02 ~]$ srvctl config service -d dagobah -verbose
Service name: Hoth
Service is enabled
Server pool: Dagobah
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Global: false
Commit Outcome: false
Failover type:
Failover method:
TAF failover retries:
TAF failover delay:
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: NONE
Edition:
----> Pluggable database name: pdbhansolo
Maximum lag time: ANY
SQL Translation Profile:
Retention: 86400 seconds
Replay Initiation Time: 300 seconds
Session State Consistency:
Preferred instances: Dagobah_1
Available instances: 

And the Service is registered with the listener

     
[oracle@rac02 ~]$ lsnrctl stat

LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 17-FEB-2014 13:34:41

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.1.0 - Production
Start Date                17-FEB-2014 12:59:46
Uptime                    0 days 0 hr. 34 min. 54 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/12.1.0/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/rac02/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.41.11)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.41.21)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=rac02.viscosityna.com)(PORT=5500))(Security=(my_wallet_directory=/u02/app/oracle/product/12.1.0/db/admin/Dagobah/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM3", status READY, has 2 handler(s) for this service...
Service "Dagobah" has 1 instance(s).
  Instance "Dagobah_1", status READY, has 1 handler(s) for this service...
Service "DagobahXDB" has 1 instance(s).
  Instance "Dagobah_1", status READY, has 1 handler(s) for this service...
Service "Hoth" has 1 instance(s).
  Instance "Dagobah_1", status READY, has 1 handler(s) for this service...
----> Service "pdbhansolo" has 1 instance(s).
  Instance "Dagobah_1", status READY, has 1 handler(s) for this service...
Service "r2d2" has 1 instance(s).
  Instance "Dagobah_1", status READY, has 1 handler(s) for this service...
The command completed successfully

Now let's test this. I close the PDB and I also stopped the CDB (probably not necessary, but what the heck :-))

SQL> alter session set container=cdb$root;

Session altered.

SQL> alter pluggable database pdbhansolo close;

[oracle@rac02 ~]$ srvctl stop database -d dagobah

[oracle@rac02 ~]$ lsnrctl stat

LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 18-FEB-2014 15:36:49

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.1.0 - Production
Start Date                18-FEB-2014 12:57:30
Uptime                    0 days 2 hr. 39 min. 19 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/12.1.0/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/rac02/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.41.11)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.41.21)(PORT=1521)))
Services Summary...
Service "+APX" has 1 instance(s).
  Instance "+APX3", status READY, has 1 handler(s) for this service...
Service "+ASM" has 1 instance(s).
  Instance "+ASM3", status READY, has 2 handler(s) for this service...
The command completed successfully


[oracle@rac02 ~]$ srvctl start database -d dagobah

[oracle@rac02 ~]$ lsnrctl stat

LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 18-FEB-2014 15:37:39

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.1.0 - Production
Start Date                18-FEB-2014 12:57:30
Uptime                    0 days 2 hr. 40 min. 9 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/12.1.0/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/rac02/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.41.11)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.41.21)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=rac02.viscosityna.com)(PORT=5500))(Security=(my_wallet_directory=/u02/app/oracle/product/12.1.0/db/admin/Dagobah/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "+APX" has 1 instance(s).
  Instance "+APX3", status READY, has 1 handler(s) for this service...
Service "+ASM" has 1 instance(s).
  Instance "+ASM3", status READY, has 2 handler(s) for this service...
Service "Dagobah" has 1 instance(s).
  Instance "Dagobah_1", status READY, has 1 handler(s) for this service...
Service "DagobahXDB" has 1 instance(s).
  Instance "Dagobah_1", status READY, has 1 handler(s) for this service...
Service "Hoth" has 1 instance(s).
  Instance "Dagobah_1", status READY, has 1 handler(s) for this service...
----> Service "pdbhansolo" has 1 instance(s).
  Instance "Dagobah_1", status READY, has 1 handler(s) for this service...</strong>
Service "r2d2" has 1 instance(s).
  Instance "Dagobah_1", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@rac02 ~]$

SQL> select NAME,OPEN_MODE from v$pdbs;

NAME                           OPEN_MODE
------------------------------ ----------
PDB$SEED                       READ ONLY
-----> PDBHANSOLO                     READ WRITE

Now I can connect to this PDB using my lovely EZConnect string

sqlplus hansolo/hansolo@rac02/hoth

The key here is that RAC Service of PDBHANSOLO (non-default) becomes an important aspect of PDB auto-startup. Without the use the non-default service the PDB does not open 'read write' automatically. So where does RAC fit in here. Well if I have say a 6 node RAC cluster, I can have some PDSB-Services not started on certain nodes, this effectively prevents access to those PDB from certain nodes, thus I can have a certain pre-defined workload distribution. That's a topic for my next Blog and Oracle Users Group presentation :-)



I am aggressively preparing for demos for my 2 hour deep dive session at IOUG Collaborate 2014: Session 974: 04/08/14 – 01:45 PM – 04:00 PM (Level 3, Lido 3101B) Extreme Oracle DB-Infrastructure-As-A-Service. Co-presenting with me with me will be Nitin Vengurlekar

We will cover all the topics from Linux as a Service to RAC as a Service to ASM as a Service and finish at Database as a Service.

From a RAC perspective, here’s a sample screen of what we will discuss. We have similar screen shots for ASM, Data Guard, RMAN and Linux:

[oracle@rac01 rac]$ ./rac
# ------------------------------------------------------------------------- #
#                RAC Menu System - rac-clust                             
# ------------------------------------------------------------------------- #
#   First Node:	rac01	VIP:  rac01-vip.viscosity.com       
#  Second Node:	rac02	VIP:  rac02-vip.viscosity.com       
# ------------------------------------------------------------------------- #
#  00.  Sync DBI Scripts Across All RAC Nodes                               #
# ------------------------------------------------------------------------- #
#  01.  Prepare Source RAC Cluster for Cloning (sudo)                       #
#       Will shutdown the Cluster and Unlock the /u01/app/12.1.0/grid Home 
#  02.  Lock the Grid Home:  /u01/app/12.1.0/grid (sudo) 
# ------------------------------------------------------------------------- #
#  03.  Prepare Oracle Directories (sudo)                                   #
# ------------------------------------------------------------------------- #
#  04.  Extract GI Home from Tarball (sudo)                                 #
#  05.  Extract DB Home from Tarball (sudo)                                 #
# ------------------------------------------------------------------------- #
#  20.  Setup SSH User Equivalence for All RAC Nodes                        #
# ------------------------------------------------------------------------- #
#  30.  Cleanup and Deconfig Submenu (sudo)                                 #
# ------------------------------------------------------------------------- #
#  40.  Clone Grid Infrastructure - /u01/app/12.1.0/grid                                 
#  41.  Run orainstRoot.sh and root.sh serially on all RAC nodes            #
# ------------------------------------------------------------------------- #
#  50.  Execute config.sh in silent mode                                    #
# ------------------------------------------------------------------------- #
#  60.  Create DATA and FRA diskgroups
# ------------------------------------------------------------------------- #
#  70.  Clone Database Home - /u01/app/oracle/product/12.1.0/dbhome_1                               
# ------------------------------------------------------------------------- #
#  80.  Create RAC Database - VPROD                                
# ------------------------------------------------------------------------- #
# 100.  Post Database Tasks                                                 #
# ------------------------------------------------------------------------- #
#   x.  Exit                                                                #
# ------------------------------------------------------------------------- #
#   Enter Task Number:


04/08/14 – 12:30pm (Level 3, Toscana 3701) IOUG Cloud SIG meeting

Session 974: 04/08/14 – 01:45 PM – 04:00 PM (Level 3, Lido 3101B) Extreme Oracle DB-Infrastructure-As-A-Service
This session will be a 2hr Deep-Dive. Co-presenting with me with me will be Nitin Vengurlekar

Session 623: 04/09/14 12:15 PM – 12:45 PM (Level 3, Lido 3101B) Zero to Complete DBaaS in 1 hour

04/10/14 – 11:00am (Level 3, Lido 3101B,) Best Practices and Skill Sets

Session 444: 4/11/14 11:00 AM – 12:00 PM (Level 3, Lido 3101B) Who? What? Why? Oracle on Oracle’s Public Cloud – 360 Degrees

Posted by Charles Kim, Oracle ACE Director


VExpert2014

Honored to make vExpert for the second consecutive year. Congratulations to all vExpert 2014. I am proud to be part of this group.

We have 754 vExperts this year, which is impressive! Each of these vExperts have demonstrated significant contributions to the community and a willingness to share their expertise with others.