Pages

Thursday, August 22, 2013

OUICLI.PL Fails While Running Adcfgclone On Oracle EBS R12 If Global Inventory Does Not Exist

Oracle Applications Manager - Version 12.0 to 12.0.4 [Release 12]
Information in this document applies to any platform.
Checked for relevance on 19-MAR-2013

SYMPTOMS
While running adcfgclone.pl for cloning Database tier or Application tier in R12, the following error occurs:
Executing script in InstantiateFile:
/db/tech_st/10.2.0/perl/bin/perl -I
/db/tech_st/10.2.0/perl/lib/5.8.3 -I
/db/tech_st/10.2.0/perl/lib/site_perl/5.8.3 -I
/db/tech_st/10.2.0/appsutil/perl
/db/tech_st/10.2.0/appsutil/clone/ouicli.pl

script returned:
****************************************************
Beginning OUI CLI cloning for s_db_oh
/db/tech_st/10.2.0/appsutil/jre/bin/java -classpath /db/tech_st/10.2.0/appsutil/java:/db/tech_st/10.2.0/oui/jlib/OraInstaller.jar:/db/tech_st/10.2.0/appsutil/java/xmlparserv2.jar oracle.apps.ad.clone.util.OracleHomeCloner -OUICLI -e /db/tech_st/10.2.0/appsutil/.xml -nolink -oaVar s_db_oh -homestub db -log /db/tech_st/10.2.0/appsutil/log//ohclone.log
NON-COMPLIANT: /db/tech_st/10.2.0//oraInst.loc does not point to an inventory inside the current ORACLE_HOME
Rapid Clone only supports oraInst.loc at that location if its content points to an inventory inside the same ORACLE_HOME
Please make the necessary changes to the following file:
/db/tech_st/10.2.0//oraInst.loc
running OUI CLI home cloning:
/db/tech_st/10.2.0/oui/bin/runInstaller -clone -silent -force -nolink -waitForCompletion -invPtrLoc /db/tech_st/10.2.0/admin/oui//oraInst.loc ORACLE_HOME=/db/tech_st/10.2.0/ ORACLE_HOME_NAME=_DB__apps1__db_tech_st_10_2_0 -J-Doracle.installer.noLink=true
Finished OUI CLI cloning for s_db_oh with return code: 0

.end std out.

.end err out.
Note:  the above error message was encountered while running adcfgclone for Database tier.  The message will eventually differ if the adcfgclone errors out with application tier.

CHANGES

CAUSE

The instance doesn't contain a global inventory or oraInst.loc is not available under its default locations. The following are the default locations for oraInst.loc under respective platforms.
AIX and LINUX under : /etc/oraInst.loc
Other UNIX machines : /var/opt/oracle/oraInst.loc
WINDOWS (Registry): HKEY_LOCAL_MACHINE \Software\Oracle\INST_LOC
The oraInst.loc in the $INST_TOP points to the oraInventory of the $INST_TOP in the source instance so the registration of the oracle home fails.
Before cloning R12, the oraInst.loc must point to any directory
location where the user has access (ie: /u01/TEST/oraInventory). If not using global inventory pointers for respective OS e.g /etc/oraInst.loc for linux(if that file does not exist), then the respective $ORACLE_HOME/oraInst.loc will be used instead.  If that is the case, $ORACLE_HOME/oraInst.loc MUST point to a location INSIDE that ORACLE_HOME.
Say, the base install directory is /u01/R12 then following are the inventory pointers for RDBMS ORACLE_HOME, 10.1.2 ORACLE_HOME and 10.1.3 ORACLE_HOME :
RDBMS Inventory pointer :
inventory_loc=/u01/R12/db/tech_st/10.2.0/oraInventory
10.1.2 Inventory pointer :
inventory_loc=/u01/R12/apps/tech_st/10.1.2/oraInventory
10.1.3 Inventory pointer :
inventory_loc=/u01/R12/apps/tech_st/10.1.3/oraInventory
$ORACLE_HOME/oraInst.loc can not point to an external location like somewhere under $INST_TOP which is the case for the above test cases for 10.1.2 and 10.1.3 :
inventory_loc=/inst/apps//admin/oraInventory
That's the reason the above mentioned error is encountered.
This is done to allow multiple clones to be run on the same machine at the same time with different users without worrying to receive permission issues or different users trying to access the same oraInventory.

SOLUTION

Please apply the following solution:
1.  Clean the failed clone on target system.
2.  Re-Copy the respective folders from source to target.
3.  For database tier cloning:
a.  Make a directory called oraInventory inside
b. Edit oraInst.loc in the as follows:
inventory_loc=/oraInventory
c. Now run:
adcfgclone.pl dbTier
4.  For application tier cloning:
a. Make a directory called oraInventory inside 10.1.2 home and 10.1.3 home respectively.
b. Edit oraInst.loc in the <10 .1.3_oracle_home=""> as follows :
inventory_loc=<10 .1.3_oracle_home="">/oraInventory
c. Edit oraInst.loc in the <10 .1.2_oracle_home=""> as follows :
inventory_loc=<10 .1.2_oracle_home="">/oraInventory
d. Now run:
adcfgclone.pl appsTier.

No comments:

Post a Comment