Java runtime 1.8.0.91 | Oracle EBS R12 (12.0.6)

May 2, 2016

Hi guys

You could run into a situation after the latest Java client runtime update, your R12 instance failing to load forms, complaining about the lower version of JRE. This is mainly due to the fact that, if your Windows OS is 64Bit, the latest java runtime update installs both 64Bit & 32Bit and most of the R12 environments run against 32Bit JRE.

Internet explorer (the only one browser that runs the JRE properly for EBS R12) loads the 64Bit java runtime by default from a 64Bit Windows OS & eventually the forms will fail to load.

At present the only possible solution to address this situation is to uninstall the 64bit version of java runtime, using “Programs and features” or “Add remove programs” based on the version of Windows you are using.

Hope this helps few out there :)

regards,

rajesh

 

 


Oracle R12 Cloning | dbTier "ouicli.pl INSTE8_APPLY 1"

October 28, 2015

Hi guys

There could be thousands (exaggerated) reasons why a Oracle cloning process could go all bad. I’m not an application DBA, however, have enough experience with the architecture, technology as I interact with it everyday as a part of my job.

Few months back, I started doing something what a DBA should do, cloning. My prior attempts were mostly at home, using virtual machines and test instances and they were NOT as mission critical as what we do at work.

So, after the storage device was revamped with new partition structures I was asked to do a cloning for the production instance. Let me explain how the application was deployed prior the storage restructuring

  1. We had the database tier on mount point /u05
  2. Application on /u06 mount point

So, I recreated the same mount points and started the cloning process for dbTier and the process got terminated at 2% and the log files shown me an error that I was not familiar with.

“ouicli.pl INSTE8_APPLY 1”

Google searches fetched me hundreds of results for “ouicli.pl INSTE8_APPLY”, however the error codes were mostly for 255 or “-1” and apparently I didn’t have any clue what was going wrong.

So I unzipped the tar ball for database tier once again, and the cloning process got aborted at 2%,  and I was getting nervous as I was expected to make the instance online by early morning 7AM

Most of the reference materials were explaining about non-existent Oracle inventory locations, and I confirmed that it was not the case from my part (Obviously, I was overlooking at this constrain itself!)

After half a dozen times tasting failure, finally I tried to see what was written inside the oraInst.loc file

 

 
oraprod@erp-prod:/home/oraprod>cd $ORACLE_HOME 
oraprod@erp-prod:/u05/oraprod/PROD/db/tech_st/10.2.0>cat oraInst.loc 
inventory_loc=/u01/oraprod/PROD/db/tech_st/10.2.0/admin/oui/PROD_erp-prod/oraInventory 

and I realized that inventory location was wrongly pointing towards an non-existing mount point and physical location!

I modified the oraInst.loc content with the correct mount point

 
inventory_loc=/u05/oraprod/PROD/db/tech_st/10.2.0/admin/oui/PROD_erp-prod/oraInventory 

and the cloning process went ahead without giving another errors.

We had an instance that was running from last 6 years, which was only once cloned from a cold backup during the storage device change, and somehow the inventory location remain unchanged with the repositories.

I hope this finding could help few newbies like me out there

 

regards,

rajesh


Oracle EBS R12, Install/Clone over Oracle/Red Hat Linux 7.x

June 30, 2015

Hi guys

References: http://www.slideshare.net/tianpan/oracle-ebs-r1213installationlinux64bitpantian

(and dozens of EBS R12 related blogs and oracle community posts)

 

As far I could recollect, Oracle EBS R12.0.x & R12 12.1.x are not certified yet for Linux 7, let it be Red Hat Linux or Oracle enterprise Linux. Does the certification path really make guys like us trying to clone, install EBS R12 over yet to be certified platforms? Well, my case, I always did attempt & succeeded to a certain levels. Starting with Oracle 10g over Windows 7, 8 etc.

This time, my attempt was to clone our existing EBS R12 12.0.6 instance from Red Hat linux Enterprise 5 64Bit to Oracle Enterprise linux 7 64Bit.

I can’t say whether it is a rightful thing for you or for your environment. For me it was a fun project, that I achieved to a maximum satisfactory level.

Environment: Source System

Red Hat Linux 5.11 64Bit, 48GB physical memory, HBA interfaced external storage, single node EBS R12 12.0.6 with Oracle database 10.2.0.3 database

Environment: Target System

1. Oracle VirtualBox VM with 4 processors, 10GB memory, Oracle Enterprise linux 7.1 with GUI on demand

VDI fixed size of 1.3T holding both application tier & database tier files copied from source system

2. A Desktop machine with i7 Processor, 4.5 TB Storage, 16GB physical RAM for real hardware performance testing

 

How to?

Oracle Enterprise Linux 7 is not certified for EBS R12.0.x , hence I was unable to find the pre-requisites install for EBS R12 for the OS. The hacks started from this point onward

(Please make sure that you fully updated your OEL 7.1 box prior the attempts listed below)

As root switch the directory to

cd /etc/yum.repos.d

Go to

http://public-yum.oracle.com/

and install the ol6 repo following instructions provided

Open the ol6 repo file using gedit/vim and enable the add-on repo

install pre-requisites for EBS R12 by issuing the following command

yum install oracle-ebs-server-R12-preinstall -y

Once the installation completed, you will notice that you have two new users created

oracle

applmgr

If your cloned instance was having different user names for both application and database, create same usernames and add them to relevant groups

for example applprod to oinstall group and oraprod to dba, oinstall groups (mandatory)

Special note: If you are attempting these hacks for Production instances, sorry buddy, YOU will never be supported by Oracle as they have recently confirmed to me through a private message that they don’t have any plans to certify 12.0.x versions on OEL 6 or 7

Prior you attempt to clone or install the 12.0.6 instance over OEL 6, 7 make sure that you have taken care of few things prior the attempt. There are few OS level files formatting mandatory for Oracle applications, those caused me almost 3 weeks of reading various blog posts, and NOT a single solution to address a weird error associated with “Error: Missing ormi[s]://<host>:<port>” error while shutting down the application services using adstpall.sh script file! And the reason was default formatting of /etc/hosts file by OEL 7 installation!

 

The /etc/hosts file must be formatted like below with your OEL/RHEL 7.x installation

127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.10.15 erp-prodbak.xyz.com erp-prodbak #Your box
192.168.10.16 erp-prod.xyz.com erp-prod #Your production server, if at all required

Rest of the network related mandatory elements specified in the reference documents could be ignored, or you may format them as well. If you are going to touch your /etc/resolv.conf file at all, make sure that after changing the content of the resolv.conf, you make it read-only by issuing the following command

chattr +i resolv.conf

else after a reboot, this file be rewritten by the networking admin services

Now let us refer to the /etc/sysctl.conf & /etc/security/limits.conf files, which are setting system level parameters for the application. While I noticed that the previously configured parameters were causing performance degradation once after the clone, I just copied these elements from a 12.1.3 vision instance and replaced to find that, my cloned instance started flying, giving me much better performance than our Production instance that has the latest hardware and 48GB physical memory!

Once again, thoroughly check the below parameters, if something looks not appropriate for your environment, refrain from updating

as a precaution, do a backup for both the above mentioned files

cp /etc/sysctl.conf /etc/sysctl.conf.original
cp /etc/security/limits.conf /etc/security/limits.conf.original

Now using your favorite editor, replace the content of you sysctl.conf file with following


# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.

# Disabled IPV6 on all interfaces for JAVA 1.5

# net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.all.disable_ipv6 = 1
# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes

# Controls the default maxmimum size of a mesage queue

# Controls the maximum shared segment size, in bytes

# Controls the maximum number of shared memory segments, in pages

# 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.msgmax is 8192
kernel.msgmax = 8192

# Oracle-Validated setting for kernel.msgmnb is 65536
kernel.msgmnb = 65536

# 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 kernel.shmall is 1073741824
kernel.shmall = 1073741824

# Oracle-Validated setting for kernel.shmmax is 4398046511104 on x86_64 and 4294967295 on i386 architecture. Refer Note id 567506.1
kernel.shmmax = 4398046511104

# Oracle-Validated setting for kernel.sysrq is 1
kernel.sysrq = 1

# 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.min_free_kbytes is 51200 to avoid OOM killer
vm.min_free_kbytes = 51200

Save the file and issue the following command


sysctl -p

Now, change the limits.conf file with following content

# /etc/security/limits.conf
#
#Each line describes a limit for a user in the form:
#&lt;domain&gt; &lt;type&gt; &lt;item&gt; &lt;value&gt;
#Where:
#&lt;domain&gt; can be:
# - an user name
# - a group name, with @group syntax
# - the wildcard *, for default entry
# - the wildcard %, can be also used with %group syntax,
# for maxlogin limit
#&lt;type&gt; can have the two values:
# - "soft" for enforcing the soft limits
# - "hard" for enforcing hard limits
#&lt;item&gt; can be one of the following:
# - core - limits the core file size (KB)
# - data - max data size (KB)
# - fsize - maximum filesize (KB)
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open files
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
# - cpu - max CPU time (MIN)
# - nproc - max number of processes
# - as - address space limit
# - maxlogins - max number of logins for this user
# - maxsyslogins - max number of logins on the system
# - priority - the priority to run user process with
# - locks - max number of file locks the user can hold
# - sigpending - max number of pending signals
# - msgqueue - max memory used by POSIX message queues (bytes)
# - nice - max nice priority allowed to raise to
# - rtprio - max realtime priority
#&lt;domain&gt; &lt;type&gt; &lt;item&gt; &lt;value&gt;

#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
# End of file

#oraprod #Oracle user

#applprod #Application user

# Oracle-Validated setting for nofile soft limit is 131072
oraprod soft nofile 131072

applprod soft nofile 131072

# Oracle-Validated setting for nofile hard limit is 131072
oraprod hard nofile 131072

applprod soft nofile 131072

# Oracle-Validated setting for nproc soft limit is 131072
oraprod soft nproc 131072

applprod soft nproc 131072

# Oracle-Validated setting for nproc hard limit is 131072
oraprod hard nproc 131072

applprod hard nproc 131072

# Oracle-Validated setting for core soft limit is unlimited
oraprod soft core unlimited

applprod soft core unlimited

# Oracle-Validated setting for core hard limit is unlimited
oraprod hard core unlimited

applprod hard core unlimited

# Oracle-Validated setting for memlock soft limit is 50000000
oraprod soft memlock 50000000

applprod soft memlock 50000000

# Oracle-Validated setting for memlock hard limit is 50000000
oraprod hard memlock 50000000

applprod hard memlock 50000000

 

Install unzip version 5 from https://oss.oracle.com/el4/unzip/unzip.html

(This is mandatory as 12.0.x doesn’t support unzip version above 5, and your cloning will fail with error notifying unzip is not supported)

Source the libdb.so.2 library file to /usr/lib from your source system, as the libgdbm.so.4.0.0 soft link hack will not work. If the libdb.so.2 is already a soft link in your source system, move the source file “libgdbm.so.2.0.0” from source to target box and create the soft link.

Now go ahead and enjoy the cloning/installation of your R12 12.0.x, or R12.1.x releases over OEL/RHEL 7.x (CENTOS is GNU release of RHEL, so you may experiment with that distro as well, nothing guaranteed though)

Please be warned, I have read many places that, many modules do not work with Linux 6,7 releases. Hence, the entire exercises you painfully executed may turn futile at later stages, and once again, if you have a live Oracle support, do not attempt such with your Production instance!

Enjoy guys :)

 

for Windows7bugs

rajesh