10 November, 2017

Oracle Applications (EBS) R12.2 Cloning process

R12.2 follows somewhat new process of Cloning on Application Tier. Although most of the clone steps are same as were in 11i/R12.1 but some of the steps are new. For example, you need to copy application file system two times, one from source application RUN file system to target RUN file system and then again from target RUN file system to target PATCH file system. Below we will cover both database and application tier clone although database cloning process is same as was in 11i/R12.1.
This document is divided into below sub-parts:


ENVIRONMENT
PART 1 : PREREQUISITE TASKS
PART 2 : PREPARE SOURCE SYSTEM
PART 3 : COPY APPLICATION TIER NODE
PART 4 : COPY DATABASE TIER NODE
PART 5 : CONFIGURE TARGET DATABASE SYSTEM
PART 6 : CONFIGURE TARGET APPLICATION SYSTEM
PART 7 : FINISHING TASKS
ISSUES FACED
REFERENCE


ENVIRONMENT

EBS version : R12.2.3
SOURCE SYSTEM:
Two node system ( 1 database node, 1 application node)
Source Database node: dbhost.corp.com
Source Database node OS user: oradba
Source Application node: apphost.corp.com
Source Application node OS user: appdba
Source Database ORACLE_SID: dba
Source Database ORACLE_HOME: /u01/oracle/findba/11.2.0
Source Application $RUN_BASE : /u01/oracle/findba/fs2
Source Application $PATCH_BASE : /u01/oracle/findba/fs1
Port Pool : 6 (RUN file system), 7 (PATCH file system)
TARGET SYSTEM:
Two node system ( 1 database node, 1 application node)
Target Database node: dbclonehost.corp.com
Target Database node OS user: oraclone
Target Application node: appclonehost.corp.com
Target Application node OS user: appclone
Target Database ORACLE_SID: clonedb
Target Database ORACLE_HOME: /d01/oracle/finclonedb/11.2.0
Target Application $RUN_BASE : /d01/oracle/finclonedb/fs2
Target Application $PATCH_BASE : /d01/oracle/finclonedb/fs1
Port Pool : 9 (RUN file system), 8 (PATCH file system)
Assumption:
· Both source and target EBS R12.2 system have 1 database node and 1 application node
· RMAN is used for taking source backup and to create target database. You can also use some other snapshot/mirroring advance technology for database backup.
· Oracle database software is already intalled on the Target database node.
· Source database is running in archive log enabled mode.

PART 1 : PREREQUISITE TASKS

1.1 Check for in-progress online patching cycle
On the Source system, there should not be any in-progress online patching cycle. Online patching should be done till cleanup stage and also fs_clone should be run to synchronize with the application file system RUN and PATCH.
You can check it easily by below command:
SQL> select ADOP_SESSION_ID,PREPARE_STATUS,APPLY_STATUS,FINALIZE_STATUS,CUTOVER_STATUS,CLEANUP_STATUS,ABORT_STATUS,STATUS,ABANDON_FLAG,NODE_NAME from AD_ADOP_SESSIONS order by ADOP_SESSION_ID;
ADOP_SESSION_ID P A F C C A S ABANDON_FLAG NODE_NAME
 --------------- - - - - - - - ------------ -------------------------------------------------------------------
 2 X Y N X Y X C apphost
 3 R N R N Y Y C apphost
 5 Y P N N Y Y C apphost
 6 Y P N N Y Y C apphost
 7 Y P N N Y Y C apphost
 8 X Y N X Y X C apphost
 10 Y P N N Y Y C apphost
 11 Y Y Y Y Y X C apphost

8 rows selected.
As can be seen above last online patching session (11) was done successfully till cleanup stage (marked as Y).
1.2 Check Disk Space on the Source system and Target
On the source system, as per Oracle recommendation require 6GB in /tmp and 6GB under $COMMON_TOP. adpreclone will create backup of important source instance file under $COMMON_TOP and it require minimum 6 GB space there.
On the target system file system space should match as that of source.

1.3 OS and Patch Level
Source and Target must be on the same Operating System (OS) and patch level
1.4 AD/TXK Patches
Apply the latest AD/TXK patches to the Source system.
You can check the lastet version by below SQL statement.
SQL> SELECT abbreviation,codelevel FROM AD_TRACKABLE_ENTITIES WHERE abbreviation in (‘txk’,’ad’);
ABBREVIA CODELEVEL
——– ———-
ad C.4
txk C.4
1.5 Maintain snapshot information
Log in to each Source Application Tier node as the APPLMGR user, and run “Update current view snapshot” in AD Administration.
adadmin > “2. Maintain Applications Files menu” > “4. Maintain snapshot information” > “2. Update current view snapshot” > “1. Update Complete APPL_TOP”
This process can take up to an hour.

PART 2 : PREPARE SOURCE SYSTEM

2.1 Prepare the Source System database tier for cloning
Log on to the Source database System as the oracle user, and run the following commands:
$ cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
$ perl adpreclone.pl dbTier
This process will take less than 5 minutes.
2.2 Prepare the Source System application tier for cloning
Log on to the run edition file system in the Source System as the applmgr user, and run the following commands on each node that contains an APPL_TOP:
First confirm if you are accessing run file system:
$ echo $FILE_EDITION
It should return the value:
run
Now run:
$ cd $INST_TOP/admin/scripts
$ perl adpreclone.pl appsTier
**require Apps User password and Weblogic AdminServer password
When run for the first time, this process can take up to 15 min and will add 3-4 GB more data under $COMMON_TOP.


What will adpreclone do on Application Tier?
In 12.2, the adpreclone.pl process on the application tier creates a complete compressed archive of the Oracle Fusion Middleware and its components
A compressed archive of the Oracle WebLogic Server home, Oracle Web Tier Utilities home, Oracle Common Utilities home and the Oracle E-Business Suite home:
<COMMON_TOP>/clone/FMW/FMW_Home.jar
A compressed archive of the Oracle E-Business Suite WebLogic domain:
<COMMON_TOP>/clone/FMW/WLS/EBSdomain.jar
The Oracle E-Business Suite WebLogic domain’s configuration template:
<COMMON_TOP>/clone/FMW/WLS/plan/moveplan.xml
A compressed archive of the Oracle Web Tier/Oracle HTTP Server configuration instance:
<COMMON_TOP>/clone/FMW/OHS/ohsarchive.jar
The Oracle HTTP Server configuration instance’s configuration template:
<COMMON_TOP>/clone/FMW/OHS/moveplan.xml


PART 3 : COPY APPLICATION TIER NODE

How Application tier copy process is different in R12.2 as compared to R12.1.3?
In R12.2 since we have two file systems, RUN and PATCH, the copy process is executed two times
1. Copy Application Tier node from the Source “Run Edition File System” to the Target “Run Edition File System”.
2. Copy the Application Tier node from the Target “Run Edition File System” to the Target “Patch Edition File System”.

3.1 BACKUP SOURCE APPLICATION TIER
Log on to run edition file system in the Source System application tier nodes as the applmgr user or equivalent user.
Copy the EBSapps application tier directory from the Source Node to the target run edition file system application tier node
EBSapps directory contains <APPL_TOP> , <COMMON_TOP> and <OracleAS Tools 10.1.2 ORACLE_HOME>. EBSapps directory to be copied is located under run edition file system ($RUN_BASE ).
In our case run edition file system is > /u01/oracle/findba/fs2
[appdba@apphost fs2]$ echo $RUN_BASE
/u01/oracle/findba/fs2
[appdba@apphost fs2]$ cd $RUN_BASE
[appdba@apphost fs2]$ ls -tlr
total 12
drwxr-x— 3 appdba dba 4096 May 21 20:15 inst <<< DO NOT COPY
drwxr-x— 5 appdba dba 4096 Jun 8 15:37 EBSapps <<<<<<< DIRECTORY TO COPY
drwxr-x— 13 appdba dba 4096 Jun 8 15:57 FMW_Home <<< DO NOT COPY
You can use tar command like below to make a compressed copy of this directory.
$ nohup tar cvfz /home/appdba/dba_APPS_`date +%m%d%y`.tar.gz /u01/oracle/findba/fs2/EBSapps &
Consult the UNIX man page for the tar command to check the parameters available on your platform.
REMEMBER: If the source run edition file system is the first file system (fs1), the target run edition file system will also be the first file system (fs1). Similarly, if the source run edition file system is the second file system (fs2) (like in our case), then the target run edition file system will also be the second file system (fs2). Therefore, when you perform a cloning task, you always clone and copy the source run edition file system to create the target run edition file system, but the directory location of the run edition file system can be pointing either to <s_base>/<sid>/fs1 or <s_base>/<sid>/fs2 based on the source run edition file system base directory.
3.2 STOP TARGET APPLICATION SYSTEM SERVICES
If target application system is still running, you can stop it with below commands.
$ cd $INST_TOP/admin/scripts
$ ./adstapall.sh apps/<apps_password>
3.3 CLEANUP TARGET APPLCIATION FILE SYSTEM
Remove application directory structure from under $RUN_BASE and $PATCH_BASE in the target application tier system.
3.4 COPY APPS FILESYSTEM BACKUP FROM SOURCE TO TARGET
scp the zip file generated in source application tier to the target application node.
Login to the source application tier and scp the apps backup file.
Example:
scp dba_apps_22apr13.tar.gz appclone@appclonehost: /tmp
3.5 RESTORE THE APPS FILESYSTEM ON TARGET NODE
Extract the backup by tar command
Example:
$ nohup tar xvfz /tmp/dba_apps_22apr13.tar.gz &

PART 4 : COPY DATABASE TIER NODE

For copying the database tier node from source to target database you can always follow the easiest approach of copying the database files from source to target database by first shutting down the source database system. But not all DBAs have the luxury to take down Production database just to refresh a non-production database. We also will not be taking down source database in our example and will go for RMAN hot backup cloning.
4.1 STOP TARGT DATABASE
Login to target Database node as oracle or equivalent user.
$ sqlplus / as sysdba
SQL> shutdown immediate
4.2 CLEANUP TARGET DATABASE FIILE
Delete all target data files. Also check control_file & log_file location and remove them too.
Use simple rm –rf command to delete these database files
4.3 TAKE RMAN BACKUP OF SOURCE DATABASE
In our system we have one UNIX crontab already running with below RMAN script which takes database backup overnight.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#! /bin/bash
. /u01/oracle/dba/db/tech_st/11.2.0/dba_dbhost.env/u01/oracle/dba/db/tech_st/11.2.0/bin/rman target=/ catalog=rman_user/<rman_user_password>@<catalog_SID> << EOFRUN
{
sql “alter system archive log current”;
allocate channel t1 DEVICE TYPE DISK FORMAT ‘/oradb/dba_backups/rman/%U’;
allocate channel t2 DEVICE TYPE DISK FORMAT ‘/oradb/dba_backups/rman/%U’;
allocate channel t3 DEVICE TYPE DISK FORMAT ‘/oradb/dba_backups/rman/%U’;
BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
CROSSCHECK BACKUP;
DELETE NOPROMPT OBSOLETE;
}
EXIT;
EOF
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Use similar kind of RMAN commands to take RMAN database backup of source system.
We have catalog database also but you may or may not have it and it doesn’t matter.
4.4 COPY RMAN BACKUP PIECES TO TARGET NODE
Example:
Login to source database server:
cd /<source_rman_bakcup_location>
scp <backup_pieces> oraclone@dbclonehost.corp.com:/backups/rman_dba_17SEP14
4.5 CREATE PARAMETER FILE ON TARGET NODE
You can use the target pfile backup if you kept. Backup and remove any spfile from $ORACLE_HOME/dbs directory in the target node if your earlier target database was using spfile.
Add/edit following entry in the init file if not already present.
DB_FILE_NAME_CONVERT=’source_db_location_path’,'<target_db_location_path>’
LOG_FILE_NAME_CONVERT=’source_log_location_path’,'<target_log_location_path>’
4.6 START TARGET DATABASE IN NOMOUNT MODE
Login to the target database node with oracle (or equivalent) user and start the database in nomount mode
$ sqlplus / as sysdba
SQL> startup nomount
4.7 CREATE DUPLICATE TARGET DATABASE BY RMAN
Start the RMAN session from the first target database node by oracle (or equivalent) user.
$ rman log=/home/oraclone/rman_22SEP14.log
RMAN> connect auxiliary /
RMAN> RUN
{
DUPLICATE TARGET DATABASE to clonedb BACKUP LOCATION ‘/oradb/dba_backups/rman’ NOFILENAMECHECK ;
}
Where /oradb/dba_backups/rman is the backup location where we kept the rman source database backup pieces.
RMAN process will create the duplicate database and opens it for you.

PART 5 : CONFIGURE TARGET DATABASE SYSTEM

5.1 DE-REGISTER THE CURRENT CONFIGURATION
As the APPS user, run the following command to de-register the current configuration:
Login from target database node:
$ sqlplus apps/<PASSWORD>
SQL> create table fnd_nodes_22ep14 as select * from fnd_nodes;
SQL> exec fnd_conc_clone.setup_clean;
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
5.2 EXECUTE AUTOCONFIG ON TARGET DATABASE NODE
On the target database node from the $ORACLE_HOME/appsutil/bin directory, execute AutoConfig on the database tier by running the adconfig.pl script.
$ cd $ORACLE_HOME/appsutil/bin
$ perl adconfig.pl dbTier
Check the AutoConfig log file located at below location for any errors.
<11gR2ORACLE_HOME>/appsutil/log/<CONTEXT_NAME>/<MMDDhhmm>
Also check the CONTEXT_FILE which will get generated under $ORACLE_HOME/apputil
You can now include the generated env file (under $ORACLE_HOME) path in the .profile of the oracle user so that all required environment variables get exported automatically on user login.
WORK LOG>
$ perl adcfgclone.pl dbTier
Copyright (c) 2011 Oracle Corporation
Redwood Shores, California, USA
Oracle E-Business Suite Rapid Clone
Version 12.2
adcfgclone Version 120.63.12020000.7.1202010.2
Enter the APPS password :
Running:
/d01/oracle/finclonedb/11.2.0/appsutil/clone/bin/../jre/bin/java -Xmx600M -cp /d01/oracle/finclonedb/11.2.0/appsutil/clone/jlib/java:/d01/oracle/finclonedb/11.2.0/appsutil/clone/jlib/xmlparserv2.jar:/d01/oracle/finclonedb/11.2.0/appsutil/clone/jlib/ojdbc5.jar oracle.apps.ad.context.CloneContext -e /d01/oracle/finclonedb/11.2.0/appsutil/clone/bin/../context/db/CTXORIG.xml -validate -pairsfile /tmp/adpairsfile_17336.lst -stage /d01/oracle/finclonedb/11.2.0/appsutil/clone 2> /tmp/adcfgclone_17336.err; echo $? > /tmp/adcfgclone_17336.res
Log file located at /d01/oracle/finclonedb/11.2.0/appsutil/clone/bin/CloneContext_0922153542.log
Provide the values required for creation of the new Database Context file.
Target System Hostname (virtual or normal) [dbclonehost] :
Target Instance is RAC (y/n) [n] :
Target System Database SID : clonedb
Target System Base Directory : /d01/oracle/finclonedb
Target System utl_file_dir Directory List : /usr/tmp
Number of DATA_TOP’s on the Target System [1] :
Target System DATA_TOP Directory 1 [/oradb/u06/oracle/findba/db/apps_st/data] : /oradb/d01/oracle/finclonedb/db/apps_st/data
Target System RDBMS ORACLE_HOME Directory [/d01/oracle/finclonedb/11.2.0] :
Do you want to preserve the Display [null] (y/n) : n
Target System Display [dbclonehost:0.0] : 0:0
Target System Port Pool [0-99] : 9
Checking the port pool 9
done: Port Pool 9 is free
Report file located at /d01/oracle/finclonedb/11.2.0/appsutil/temp/portpool.lst
Complete port information available at /d01/oracle/finclonedb/11.2.0/appsutil/temp/portpool.lst
Creating the new Database Context file from :
/d01/oracle/finclonedb/11.2.0/appsutil/template/adxdbctx.tmp
The new database context file has been created :
/d01/oracle/finclonedb/11.2.0/appsutil/clonedb_dbclonehost.xml
Log file located at /d01/oracle/finclonedb/11.2.0/appsutil/clone/bin/CloneContext_0922153542.log
Check Clone Context logfile /d01/oracle/finclonedb/11.2.0/appsutil/clone/bin/CloneContext_0922153542.log for details.
Running Rapid Clone with command:
Running:
perl /d01/oracle/finclonedb/11.2.0/appsutil/clone/bin/adclone.pl java=/d01/oracle/finclonedb/11.2.0/appsutil/clone/bin/../jre mode=apply stage=/d01/oracle/finclonedb/11.2.0/appsutil/clone component=dbTier method=CUSTOM dbctxtg=/d01/oracle/finclonedb/11.2.0/appsutil/clonedb_dbclonehost.xml showProgress contextValidated=true
Beginning database tier Apply – Mon Sep 22 15:38:36 2014
/d01/oracle/finclonedb/11.2.0/appsutil/clone/bin/../jre/bin/java -Xmx600M -DCONTEXT_VALIDATED=true -Doracle.installer.oui_loc=/d01/oracle/finclonedb/11.2.0/oui -classpath /d01/oracle/finclonedb/11.2.0/appsutil/clone/jlib/xmlparserv2.jar:/d01/oracle/finclonedb/11.2.0/appsutil/clone/jlib/ojdbc6.jar:/d01/oracle/finclonedb/11.2.0/appsutil/clone/jlib/java:/d01/oracle/finclonedb/11.2.0/appsutil/clone/jlib/oui/OraInstaller.jar:/d01/oracle/finclonedb/11.2.0/appsutil/clone/jlib/oui/ewt3.jar:/d01/oracle/finclonedb/11.2.0/appsutil/clone/jlib/oui/share.jar:/d01/oracle/finclonedb/11.2.0/appsutil/clone/jlib/oui/srvm.jar:/d01/oracle/finclonedb/11.2.0/appsutil/clone/jlib/ojmisc.jar oracle.apps.ad.clone.ApplyDBTier -e /d01/oracle/finclonedb/11.2.0/appsutil/clonedb_dbclonehost.xml -stage /d01/oracle/finclonedb/11.2.0/appsutil/clone -showProgress
APPS Password : Log file located at /d01/oracle/finclonedb/11.2.0/appsutil/log/clonedb_dbclonehost/ApplyDBTier_09221538.log
\ 50% completed
Completed Apply…
Mon Sep 22 15:41:49 2014
Starting database listener for clonedb:
Running:
/d01/oracle/finclonedb/11.2.0/appsutil/scripts/clonedb_dbclonehost/addlnctl.sh start clonedb
Logfile: /d01/oracle/finclonedb/11.2.0/appsutil/log/clonedb_dbclonehost/addlnctl.txt
You are running addlnctl.sh version 120.4
Starting listener process clonedb …
Listener clonedb has already been started.
addlnctl.sh: exiting with status 0
addlnctl.sh: check the logfile /d01/oracle/finclonedb/11.2.0/appsutil/log/clonedb_dbclonehost/addlnctl.txt for more information …

PART 6 : CONFIGURE TARGET APPLICATION SYSTEM

6.1 RUN ADCFGCLONE ON TARGET APPLICATION NODE RUN EDITION
Login to apps node by applmgr (or equivalent) user.
$ cd $COMMON_TOP/clone/bin
Example :
$ cd /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin
$ perl adcfgclone.pl appsTier
**require Apps User password and Weblogic AdminServer password
Work Log >
[appclone@appclonehost bin]$ perl adcfgclone.pl appsTier
Copyright (c) 2011 Oracle Corporation
Redwood Shores, California, USA
Oracle E-Business Suite Rapid Clone
Version 12.2
adcfgclone Version 120.63.12020000.30
Enter the APPS password :
Running:
/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -classpath /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/ojmisc.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/java:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.clone.util.OPWrapper -encryptpwd /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/../FMW/tempinfoApps.txt
Enter the Weblogic AdminServer password :
Running:
/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -classpath /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/ojmisc.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/java:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.clone.util.OPWrapper /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/../FMW/tempinfo.txt
Running:
/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -classpath /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/ojmisc.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/java:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.clone.util.OPWrapper /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/../FMW/EBSDataSource
Do you want to add a node (yes/no) [no] :
Running:
/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -cp /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/java:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/xmlparserv2.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/ojdbc5.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/ojmisc.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/java:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.context.CloneContext -e /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/../context/apps/CTXORIG.xml -validate -pairsfile /tmp/adpairsfile_17296.lst -stage /d01/oracle/finclonedb/fs2/EBSapps/comn/clone 2> /tmp/adcfgclone_17296.err; echo $? > /tmp/adcfgclone_17296.res
Log file located at /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/CloneContext_0922155439.log
Target System File Edition type [run] :
Provide the values required for creation of the new APPL_TOP Context file.
Target System Hostname (virtual or normal) [appclonehost] :
Target System Database SID : clonedb
Target System Database Server Node [appclonehost] : dbhost
Target System Database Domain Name [corp.com] :
Target System Base Directory : /d01/oracle/finclonedb
Target System Base Directory set to /d01/oracle/finclonedb
Target System Current File System Base set to /d01/oracle/finclonedb/fs2
Target System Other File System Base set to /d01/oracle/finclonedb/fs1
Target System Fusion Middleware Home set to /d01/oracle/finclonedb/fs2/FMW_Home
Target System Web Oracle Home set to /d01/oracle/finclonedb/fs2/FMW_Home/webtier
Target System Appl TOP set to /d01/oracle/finclonedb/fs2/EBSapps/appl
Target System COMMON TOP set to /d01/oracle/finclonedb/fs2/EBSapps/comn
Target System Instance Home Directory [/d01/oracle/finclonedb] :
Target System Instance Top set to /d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost
Do you want to preserve the Display [appclonehost:0.0] (y/n) : n
Target System Display [appclonehost:0.0] : 0:0
Target System Root Service [enabled] :
Target System Web Administration [enabled] :
Target System Web Entry Point Services [enabled] :
Target System Web Application Services [enabled] :
Target System Batch Processing Services [enabled] :
Target System Other Services [disabled] :
Target System Port Pool [0-99] : 9
Checking the port pool 9
done: Port Pool 9 is free
Report file located at /d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/admin/out/portpool.lst
Complete port information available at /d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/admin/out/portpool.lst
UTL_FILE_DIR on database tier consists of the following directories.
1. /usr/tmp
2. /usr/tmp
3. /d01/oracle/finclonedb/11.2.0/appsutil/outbound/clonedb_dbclonehost
4. /usr/tmp
Choose a value which will be set as APPLPTMP value on the target node [1] :
Creating the new APPL_TOP Context file from :
/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/context/apps/adxmlctx.tmp
The new APPL_TOP context file has been created :
/d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml
Log file located at /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/CloneContext_0922155439.log
Check Clone Context logfile /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/CloneContext_0922155439.log for details.
Running Rapid Clone with command:
Running:
perl /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/adclone.pl java=/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/../jre mode=apply stage=/d01/oracle/finclonedb/fs2/EBSapps/comn/clone component=appsTier method=CUSTOM appctxtg=/d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml showProgress contextValidated=true
FMW Pre-requisite check log file location : /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/FMW/logs/prereqcheck.log
Running: /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/FMW/t2pjdk/bin/java -classpath /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/engine.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraPrereq.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraPrereqChecks.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraInstaller.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraInstallerNet.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/srvm.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/ojdl.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/ojdl2.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/ojdl-log4j.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/xmlparserv2.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/share.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/java oracle.apps.ad.clone.util.FMWOracleHomePreReqCheck -prereqCheckFMW -e /d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml -stage /d01/oracle/finclonedb/fs2/EBSapps/comn/clone -log /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/FMW/logs/prereqcheck.log
Beginning application tier Apply – Mon Sep 22 15:56:32 2014
/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -DCONTEXT_VALIDATED=true -Doracle.installer.oui_loc=/oui -classpath /d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/xmlparserv2.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/ojdbc6.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/java:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/oui/OraInstaller.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/oui/ewt3.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/oui/share.jar:/d01/oracle/finclonedb/fs2/FMW_Home/webtier/../Oracle_EBS-app1/oui/jlib/srvm.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/ojmisc.jar:/d01/oracle/finclonedb/fs2/FMW_Home/wlserver_10.3/server/lib/weblogic.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/clone/jlib/obfuscatepassword.jar oracle.apps.ad.clone.ApplyAppsTier -e /d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml -stage /d01/oracle/finclonedb/fs2/EBSapps/comn/clone -showProgress -nopromptmsg
Log file located at /d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/admin/log/clone/ApplyAppsTier_09221556.log
/ 100% completed
Completed Apply…
Mon Sep 22 16:13:27 2014
Executing command: /d01/oracle/finclonedb/fs2/EBSapps/10.1.2/bin/sqlplus @/d01/oracle/finclonedb/fs2/EBSapps/appl/ad/12.0.0/patch/115/sql/truncate_ad_nodes_config_status.sql
Do you want to startup the Application Services for clonedb? (y/n) [n] : y
Starting application Services for clonedb:
Running:
/d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/admin/scripts/adstrtal.sh -nopromptmsg
You are running adstrtal.sh version 120.24.12020000.9
The logfile for this session is located at /d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/logs/appl/admin/log/adstrtal.log
Executing service control script:
/d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/admin/scripts/jtffmctl.sh start
Timeout specified in context file: 100 second(s)
—
—–
All services will start up sequentially
—-
–
All enabled services for this node are started.
adstrtal.sh: Exiting with status 0
adstrtal.sh: check the logfile /d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/logs/appl/admin/log/adstrtal.log for more information …
6.2 RUN ADPRECLONE ON RUN EDITION (NEW STEP IN R12.2)
Run adpreclone.pl on the run edition file system in the Target System.
$ echo $FILE_EDITION
Run
$ cd $ADMIN_SCRIPTS_HOME
$ adpreclone.pl appsTier
**require Apps User password and Weblogic AdminServer password
Work Log >
[appclone@appclonehost scripts]$ adpreclone.pl appsTier
Copyright (c) 2011 Oracle Corporation
Redwood Shores, California, USA
Oracle E-Business Suite Rapid Clone
Version 12.2
adpreclone Version 120.31.12020000.15
Enter the APPS User Password:
Enter the Weblogic AdminServer password :
Checking the status of the Oracle WebLogic Administration Server….
Running perl /d01/oracle/finclonedb/fs2/EBSapps/appl/ad/12.0.0/patch/115/bin/adProvisionEBS.pl ebs-get-serverstatus -contextfile=/d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml -servername=AdminServer -promptmsg=hide
The Oracle WebLogic Administration Server is up.
Running:
perl /d01/oracle/finclonedb/fs2/EBSapps/appl/ad/12.0.0/bin/adclone.pl java=/d01/oracle/finclonedb/fs2/FMW_Home/jrockit64 mode=stage stage=/d01/oracle/finclonedb/fs2/EBSapps/comn/clone component=appsTier method= appctx=/d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml showProgress
Setting the wls environment
Beginning application tier Stage – Mon Sep 22 16:30:19 2014
/d01/oracle/finclonedb/fs2/FMW_Home/jrockit64/bin/java -Xmx600M -DCONTEXT_VALIDATED=false -Doracle.installer.oui_loc=/oui -classpath /d01/oracle/finclonedb/fs2/FMW_Home/webtier/lib/xmlparserv2.jar:/d01/oracle/finclonedb/fs2/FMW_Home/webtier/jdbc/lib/ojdbc6.jar:/d01/oracle/finclonedb/fs2/EBSapps/comn/java/classes:/d01/oracle/finclonedb/fs2/FMW_Home/webtier/oui/jlib/OraInstaller.jar:/d01/oracle/finclonedb/fs2/FMW_Home/webtier/oui/jlib/ewt3.jar:/d01/oracle/finclonedb/fs2/FMW_Home/webtier/oui/jlib/share.jar:/d01/oracle/finclonedb/fs2/FMW_Home/webtier/../Oracle_EBS-app1/oui/jlib/srvm.jar:/d01/oracle/finclonedb/fs2/FMW_Home/webtier/jlib/ojmisc.jar:/d01/oracle/finclonedb/fs2/FMW_Home/wlserver_10.3/server/lib/weblogic.jar:/d01/oracle/finclonedb/fs2/FMW_Home/oracle_common/jlib/obfuscatepassword.jar oracle.apps.ad.clone.StageAppsTier -e /d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml -stage /d01/oracle/finclonedb/fs2/EBSapps/comn/clone -tmp /tmp -method CUSTOM -showProgress -nopromptmsg
Log file located at /d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/admin/log/clone/StageAppsTier_09221630.log
| 20% completed
Completed Stage…
Mon Sep 22 16:37:10 2014
6.3 SHUTDOWN THE APPLICATION WHICH WAS STARTED IN STEP 6.1
cd $ADMIN_SCRIPTS_HOME
./adstpall.sh apps/<apps_password>
**require Apps User password and Weblogic AdminServer password
6.4 COPY TARGET RUN EDITION OVER TARGET PATCH EDITION (NEW STEP IN R12.2)
Copy Oracle E-Business Suite application directory (EBSapps) from the run edition file system to the patch edition file system in the Target System.
Create the TARGET PATCH EDITION file system ( in our case /u01/oracle/R122/fs1/), if not already existing
Also Unset the application Environment if already set.
$ cd /d01/oracle/finclonedb/fs2
$ cp -R EBSapps /d01/oracle/finclonedb/fs1
6.5 RUN ADCFGCLONE ON TARGET APPLICATION NODE PATCH EDITION (NEW STEP IN R12.2)
Log on to the patch edition file system in the Target System as the applmgr user and enter the following commands:
$ cd $COMMON_TOP/clone/bin
or
$ cd /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin
$ perl adcfgclone.pl appsTier
Here $COMMON_TOP refers to path in TARGET PATCH EDITION file system ( in our case $COMMON_TOP is /d01/oracle/finclonedb/fs1/EBSapps/comn)
The patch edition file system must be aware of the location of the run edition file system that will be configured in the next step. At the prompt “Location of Run System Context File”, enter the absolute path to the context file for the run edition file system that was created in the previous step (in our case path is /d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml).
Also PATCH file system port pool will be different than RUN file system port pool.
Work Log >
[appclone@appclonehost bin]$ perl adcfgclone.pl appsTier
Copyright (c) 2011 Oracle Corporation
Redwood Shores, California, USA
Oracle E-Business Suite Rapid Clone
Version 12.2
adcfgclone Version 120.63.12020000.30
Enter the APPS password :
Running:
/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -classpath /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/ojmisc.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/java:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.clone.util.OPWrapper -encryptpwd /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/../FMW/tempinfoApps.txt
Enter the Weblogic AdminServer password :
Running:
/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -classpath /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/ojmisc.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/java:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.clone.util.OPWrapper /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/../FMW/tempinfo.txt
Running:
/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -classpath /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/ojmisc.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/java:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.clone.util.OPWrapper /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/../FMW/EBSDataSource
Do you want to add a node (yes/no) [no] :
Running:
/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -cp /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/java:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/xmlparserv2.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/ojdbc5.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/ojmisc.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/java:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.context.CloneContext -e /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/../context/apps/CTXORIG.xml -validate -pairsfile /tmp/adpairsfile_16842.lst -stage /d01/oracle/finclonedb/fs1/EBSapps/comn/clone 2> /tmp/adcfgclone_16842.err; echo $? > /tmp/adcfgclone_16842.res
Log file located at /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/CloneContext_0923101958.log
Target System File Edition type [run] : patch
Enter the full path of Run File System Context file : /d01/oracle/finclonedb/fs2/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml
Provide the values required for creation of the new APPL_TOP Context file.
Target System Fusion Middleware Home set to /d01/oracle/finclonedb/fs1/FMW_Home
Target System Web Oracle Home set to /d01/oracle/finclonedb/fs1/FMW_Home/webtier
Target System Appl TOP set to /d01/oracle/finclonedb/fs1/EBSapps/appl
Target System COMMON TOP set to /d01/oracle/finclonedb/fs1/EBSapps/comn
Target System Instance Top set to /d01/oracle/finclonedb/fs1/inst/apps/clonedb_appclonehost
Target System Port Pool [0-99] : 8
Checking the port pool 8
done: Port Pool 8 is free
Report file located at /d01/oracle/finclonedb/fs1/inst/apps/clonedb_appclonehost/admin/out/portpool.lst
Complete port information available at /d01/oracle/finclonedb/fs1/inst/apps/clonedb_appclonehost/admin/out/portpool.lst
UTL_FILE_DIR on database tier consists of the following directories.
1. /usr/tmp
2. /usr/tmp
3. /d01/oracle/finclonedb/11.2.0/appsutil/outbound/clonedb_dbclonehost
4. /usr/tmp
Choose a value which will be set as APPLPTMP value on the target node [1] :
Creating the new APPL_TOP Context file from :
/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/context/apps/adxmlctx.tmp
The new APPL_TOP context file has been created :
/d01/oracle/finclonedb/fs1/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml
Log file located at /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/CloneContext_0923101958.log
Check Clone Context logfile /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/CloneContext_0923101958.log for details.
Running Rapid Clone with command:
Running:
perl /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/adclone.pl java=/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/../jre mode=apply stage=/d01/oracle/finclonedb/fs1/EBSapps/comn/clone component=appsTier method=CUSTOM appctxtg=/d01/oracle/finclonedb/fs1/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml showProgress contextValidated=true
FMW Pre-requisite check log file location : /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/FMW/logs/prereqcheck.log
Running: /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/FMW/t2pjdk/bin/java -classpath /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/engine.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraPrereq.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraPrereqChecks.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraInstaller.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraInstallerNet.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/srvm.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/ojdl.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/ojdl2.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/ojdl-log4j.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/xmlparserv2.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/share.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/java oracle.apps.ad.clone.util.FMWOracleHomePreReqCheck -prereqCheckFMW -e /d01/oracle/finclonedb/fs1/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml -stage /d01/oracle/finclonedb/fs1/EBSapps/comn/clone -log /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/FMW/logs/prereqcheck.log
Beginning application tier Apply – Tue Sep 23 10:21:12 2014
/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -DCONTEXT_VALIDATED=true -Doracle.installer.oui_loc=/oui -classpath /d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/xmlparserv2.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/ojdbc6.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/java:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/oui/OraInstaller.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/oui/ewt3.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/oui/share.jar:/d01/oracle/finclonedb/fs1/FMW_Home/webtier/../Oracle_EBS-app1/oui/jlib/srvm.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/ojmisc.jar:/d01/oracle/finclonedb/fs1/FMW_Home/wlserver_10.3/server/lib/weblogic.jar:/d01/oracle/finclonedb/fs1/EBSapps/comn/clone/jlib/obfuscatepassword.jar oracle.apps.ad.clone.ApplyAppsTier -e /d01/oracle/finclonedb/fs1/inst/apps/clonedb_appclonehost/appl/admin/clonedb_appclonehost.xml -stage /d01/oracle/finclonedb/fs1/EBSapps/comn/clone -showProgress -nopromptmsg
Log file located at /d01/oracle/finclonedb/fs1/inst/apps/clonedb_appclonehost/admin/log/clone/ApplyAppsTier_09231021.log
| 100% completed
Completed Apply…
Tue Sep 23 10:36:45 2014
Looking for incomplete CLONE record in ad_adop_session_patches table
The CLONE record status is no rows selected
Updating incomplete CLONE record to COMPLETED
6.6 START APPLICATION FROM RUN FILE SYSTEM AND REVIEW
Set RUN file system environment:
. /d01/oracle/finclonedb/EBSapps.env RUN
Start Application:
$ cd $ADMIN_SCRIPTS_HOME
$ ./ adstrtal.sh
**require Apps User password and Weblogic AdminServer password
From EBS side you can do couple of CHECKS like below:
A) Login to the application. Check Apache, forms sessions are coming up fine.
B) Run Synchronize views for Oracle Workflow
Request Name = Workflow Directory Services User/Role Validation
p_BatchSize = 10000
p_Check_Dangling = Yes
Add missing user/role assignments = Yes
Update WHO columns in WF tables = No
C) Check concurrent manager processes.
D) Run simple request (like active users). Check if output and log files are opening fine.
E) If required, purge old log/out file from $APPLCSF/$APPLLOG and $APPLCSF/$APPLOUT directories as you may find that the output/log files are showing old dates.
*Application opened up fine and all the CM, Apache, forms process etc were running normal.*

PART 7 : FINISHING TASKS

Finishing tasks are mostly same as we used to do in R12.1.3 and are not explained in details in this guide. Also many of the finishing tasks can be customized tasks specific to your applciation. Please leave a comment if you want any explanation on any of the finishing tasks.
In our case finishing tasks that we performed are :
1. Updating required profile options
2. Updating Workflow configuration settings
Checking for any instance-specific data in the Oracle Workflow configuration of the Target System and update accordingly
3. Updating the SESSION_COOKIE_DOMAIN value in ICX_PARAMETERS
4. Re-Implement SSL and SSO configuration
You may be required to do/undo SSL/SSO in target system. In our case both source and target doesn’t have SSL/SSO.
5. Changing SYS/SYSTEM/APPS/SYSADMIN/OTHER ORACLE passwords as per business requirements
6. CHANGING DEFAULT EBS BRANDING
For ease of use you can change the default branding of Oracle EBS. This is described below:
A) Default Branding change
1. Login with system administrator responsibility
2. Navigate: Application —> Function
3. Query the function FWK_HOMEPAGE_BRAND
4. Replace the User Function Name with the desired text
5. Logout, login and the change should be visible immediate
B) Login page Welcome Message (on top)
Application Developer responsibility – > Application -> Messages
SEARCH FOR FND_SSO_WELCOME AND LANGUAGE US
PUT VALUE
CloneDB instance
<<NEEDS APPLICATION SERVICES/APACHE BOUNCE>>
C) Login page Message (on the page)
Login – Functional Administrator – Personalization TAB
Search for /oracle/apps/fnd/sso/login/webui/MainLoginPG in Document Path:
Click on Personalization Page icon
On next page, assure that Site:Include is tick marked. Press ‘Apply’
Click on “Personalize” for Page Layout
In ‘Title’ for ‘Site’ value put ‘CloneDB Instance’. Press Apply
D) Site Name Profile Change
Login > System Administrator > Profile System
Search for Site Name profile
Update it to required value at site level
BOUNCE APPLICATION SERVICES NOW TO REFLECT THE CHANGES.

ISSUES FACED

We faced only one issue during the process:
ISSUE 1:
While running adcfgclone on Target PATCH files system (STEP 6.5 ), adcfgclone ended with error message
INFO : Rapid Clone completed successfully , but the AutoConfig run recorded some errors.
Please review the AutoConfig section in the logfile. and Re-Run the entire cloning cycle , after fixing the problem.
Error message inside the log file >> /d01/oracle/finclonedb/fs1/inst/apps/clonedb_appclonehost/admin/log/clone/ApplyAppsTier_09221655.log
—————————————————————————————-
Enter value for 1: Enter value for 2: Enter value for 3: ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor
SP2-0640: Not connected
Uploading Metadata file /d01/oracle/finclonedb/fs1/EBSapps/appl/ad/12.0.0/admin/template/adctxinf.tmp
Metadata file /d01/oracle/finclonedb/fs1/EBSapps/appl/ad/12.0.0/admin/template/adctxinf.tmp upload failed.
Check log file created by FNDCPUCF program.
ERRORCODE = 1 ERRORCODE_END
.end std out.
APP-FND-01564: ORACLE error 12514 in AFPCOA
Cause: AFPCOA failed due to ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
.
The SQL statement being executed at the time of the error was: and was executed from the file .
APP-FND-01564: ORACLE error 12514 in AFPCOA
Cause: AFPCOA failed due to ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
.
The SQL statement being executed at the time of the error was: and was executed from the file .
.end err out.
—————————————————————————————-
SOLUTION 1
Looking at error it was clear that adcfgclone process was not able to connect via listener to the database.
On checking the listener on the database node, it was not showing the registered database instance and status was UNKNOWN
——————————————–
$ lsnrctl services clonedb
LSNRCTL for Linux: Version 11.2.0.3.0 – Production on 23-SEP-2014 10:12:47
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbclonehost.corp.com)(PORT=1530)))
Services Summary…
Service “clonedb” has 1 instance(s).
Instance “clonedb”, status UNKNOWN, has 1 handler(s) for this service…
Handler(s):
“DEDICATED” established:345 refused:0
LOCAL SERVER
The command completed successfully
————————————————————-
On checking it was found that the local_listener entry was missing in init/spfile.
SQL> show parameter local_listener
NAME TYPE VALUE
———————————— ———– ——————————
local_listener string
First of all de-register oracle_homes from the failed clone session
a) check ORACLE_HOMEs in ora inventory (check orac inventory location under /etc/oraInst.loc)
<REFHOME LOC=”/d01/oracle/finclonedb/fs1/FMW_Home/webtier“/>
</REFHOMELIST>
</HOME>
<HOME NAME=”OH1366755704″ LOC=”/d01/oracle/finclonedb/fs1/FMW_Home/webtier” TYPE=”O” IDX=”31″>
<DEPHOMELIST>
<DEPHOME LOC=”/d01/oracle/finclonedb/fs1/FMW_Home/oracle_common“/>
</DEPHOMELIST>
</HOME>
<HOME NAME=”OH455733530″ LOC=”/d01/oracle/finclonedb/fs1/FMW_Home/Oracle_EBS-app1” TYPE=”O” IDX=”32″/>
b) DETACH ORACLE_HOME
You will need to detach all the three oracle_home one by one.
$ cd /d01/oracle/finclonedb/fs1/FMW_Home/oracle_common/oui/bin
[appclone@appclonehost bin]$ ./runInstaller -detachhome ORACLE_HOME=/d01/oracle/finclonedb/fs1/FMW_Home/webtier
Starting Oracle Universal Installer…
Checking swap space: must be greater than 500 MB. Actual 50267 MB Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/oracle/oraInventory
‘DetachHome’ was successful.
[appclone@appclonehost bin]$ ./runInstaller -detachhome ORACLE_HOME=/d01/oracle/finclonedb/fs1/FMW_Home/Oracle_EBS-app1
Starting Oracle Universal Installer…
Checking swap space: must be greater than 500 MB. Actual 50267 MB Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/oracle/oraInventory
‘DetachHome’ was successful.
[appclone@appclonehost bin]$ ./runInstaller -detachhome ORACLE_HOME=/d01/oracle/finclonedb/fs1/FMW_Home/oracle_common
Starting Oracle Universal Installer…
Checking swap space: must be greater than 500 MB. Actual 50267 MB Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/oracle/oraInventory
‘DetachHome’ was successful.
3) DELETE DIRECTORY STRUCTURE
Delete both FMW_Home and inst directory which adcfgclone created.
$ cd /d01/oracle/finclonedb/fs1
$ ls -tlr
total 12
drwxr-x— 5 appclone dba 4096 Sep 22 16:49 EBSapps
drwxr-x— 3 appclone dba 4096 Sep 22 16:55 inst
drwxr-x— 13 appclone dba 4096 Sep 23 09:43 FMW_Home
$ rm -rf FMW_Home inst
4) SET MISSING LOCAL_LISTENER ENTRY
SQL> alter system set local_listener=clonedb_local scope= both;
System altered.
SQL> show parameter local_listener
NAME TYPE VALUE
———————————— ———– ——————————
local_listener string CLONEDB_LOCAL
5) Restart listener
$ lsnrctl stop clonedb
$ lsnrctl start clonedb
6) Check listener status now
lsnrctl services clonedb
LSNRCTL for Linux: Version 11.2.0.3.0 – Production on 23-SEP-2014 10:23:16
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbclonehost.corp.com)(PORT=1530)))
Services Summary…
Service “clonedb” has 2 instance(s).
Instance “clonedb”, status UNKNOWN, has 1 handler(s) for this service…
Handler(s):
“DEDICATED” established:0 refused:0
LOCAL SERVER
Instance “clonedb”, status READY, has 1 handler(s) for this service…
Handler(s):
“DEDICATED” established:2 refused:0 state:ready
LOCAL SERVER
Service “ebs_patch” has 1 instance(s).
Instance “clonedb”, status READY, has 1 handler(s) for this service…
Handler(s):
“DEDICATED” established:2 refused:0 state:ready
LOCAL SERVER
The command completed successfully
Looks OK now.
Now start the adcfgclone process on Target PATCH files system. It will work fine now

REFERENCE

Cloning Oracle E-Business Suite Release 12.2 with Rapid Clone (Doc ID 1383621.1)
Oracle® E-Business Suite Setup Guide Release 12.2 Part No. E22953-09

Online Patching (ADOP) in Oracle EBS R12.2

Online patching is supported by the capability of storing multiple application editions in the database, and the provision of a dual application tier file system. At any given point in time, one of these file systems is designated as run (part of the running system) and the other as patch (either being patched or awaiting the start of the next patching cycle).

For applying a patch in R12.2 you need to use adop and run through all below phases in sequence mentioned below.
1) adop phase=prepare
2) adop phase=apply patches=<patch_number1>,<patch_number2> workers=<number_of_worker>
3) adop phase=finalize workers=<number_of_worker> (called automatically)
4) adop phase=cutover workers=<number_of_worker>
5) adop phase=cleanup (called automatically)
OR
Running all phases in single command:
adop phase=prepare,apply,finalize,cutover,cleanup patches=<patch_number1>,<patch_number2>
——————————————————————————————————————–

DESCRIPTION OF EACH PHASE

1) PREPARE PHASE DETAILS
Used to start a new online patching cycle
How to execute:
A) Set the environment by executing (sourcing) the run file system environment file:
$ source <EBS install base>/EBSapps.env run
B) Verify envirionment
You can confirm that the environment is properly set by examining the relevant environment variables:
$ echo $FILE_EDITION
 run
$ echo $TWO_TASK
 dbSID
C) Download Patches
Download patches to be applied and place then in the $PATCH_TOP directory of your system. This directory is pre-created by the install in the non-editioned file system (fs_ne) and should not be changed.
Important: On a multi-node system with non-shared file systems, you must copy the patch files to each separate $PATCH_TOP directory, so that the patch files are available from the same location on all nodes.
D) Unzip the patch
$ unzip <patch>.zip
E) Run Prepare Command
Prepare the system for patching by running the following command to start a new patching cycle:
$ adop phase=prepare

What it will do:
• Checks whether to perform a cleanup, which will be needed if the user failed to invoke cleanup after the cutover phase of a previous online patching cycle.
• Checks the integrity of the database data dictionary. If any corruption is found, adop exits with an error.
• Checks system configuration on each application tier node. A number of critical settings are validated to ensure that each application tier node is correctly registered, configured, and ready for patching.
• Checks for the existence of the “Online Patching In Progress” (ADZDPATCH) concurrent program. This program prevents certain predefined concurrent programs from being started, and as such needs to be active while a patching cycle is in progress (that is, while a database patch edition exists). If the ADZDPATCH program has not yet been requested to run, a request is submitted.
Note: ADZDPATCH is cancelled later on when the cutover phase is complete.
• Checks to see if the patch service has been created. adop requires that a special database service exists for the purpose of connecting to the patch edition. This service is created automatically, but its continued existence is validated on each prepare.
It can be checked by the database parameter SERVICE_NAME
SQL> show parameter service_name
NAME TYPE VALUE
 ------------------------------------ ----------- --------------- 
service_names string dba, ebs_patch
Here dba is the SID of our database and ebs_patch is additional service_name which is required by online patching tool.
If you look at tnsnames.ora file in the Application tier $TNS_ADMIN directory you will find below kind of entry:
<SID>_patch=
 (DESCRIPTION=
 (ADDRESS=(PROTOCOL=tcp)(HOST=<your_database_server_name>)(PORT=<your_database_port>))
 (CONNECT_DATA=
 (SERVICE_NAME=ebs_patch)
 (INSTANCE_NAME=<your_database_SID>)
 )
 )
During patching phase, adop will use this tns entry to connect to database.
• Invokes the TXK script $AD_TOP/patch/115/bin/txkADOPPreparePhaseSynchronize.pl to synchronize the patches which have been applied to the run APPL_TOP, but not the patch APPL_TOP.
• Checks the database for the existence of a patch edition, and creates one if it does not find one.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2) APPLY PHASE DETAILS
In the apply phase, adop applies the specified patches to the system. Patches are applied to the patch edition of the database and file system.
How to execute:
Example:
$ adop phase=apply patches=1234,7891 workers=8
Where 1234 and 7891 are the patch numbers
What it will do:
If a post-installation patch step mentions any tasks that need to be performed explicitly, where they are run from depends on the type of patching:
• In a normal online patching cycle, the steps should be executed from the patch file system after the apply phase.
• If the patch is being applied in hotpatch mode or downtime mode, the steps should be executed from the run file system after the apply phase.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3) FINALIZE PHASE DETAILS
The finalize phase will be executed while the application is still online. It is used to perform any remaining processing that is needed to ensure the system is ready for the fastest possible cutover.
Used to perform the final patching operations that can
How to execute:
$ adop phase=finalize
What it will do:
• Pre-compute DDL that needs to be run at cutover.
• Compile all invalid objects.
• Validate that the system is ready for cutover.
If finalize_mode=full, compute statistics for key data dictionary tables for improved
performance.
VERY IMPORTANT 1 : Up to this phase, you can run a special phase called abort, which will undo the changes made so far in the patching cycle. After cutover is complete, however, you cannot do this.
VERY IMPORTANT 2 : In an online patching cycle, the requisite JAR files are initially stored in the $APPL_TOP/admin/<SID>/out directory, and then uploaded into the database during the cutover phase. Therefore, the out directory must not be deleted at least until cutover (next phase) is complete.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4) CUTOVER PHASE DETAILS
Used to perform the transition to the patched environment. Shuts down application tier services, makes the patch edition the new run edition, and then restarts application tier services. This is the only phase the involves a brief downtime.
Important: No users should remain on the system during cutover, as there will be a short downtime period while the application tier services are restarted. Also, any third-party processes connected to the
old run edition of the database should be shut down, or they will be terminated automatically.
How to execute:
$ adop phase=cutover
What it will do:
• Shut down internal concurrent manager. The adop utility signals the internal concurrent manager to shut down, but will wait for any existing concurrent requests to finish before it proceeds with cutover actions.
Note: Cutover will take longer if it has to wait for long-running concurrent processes to complete. In such a case, you can expect to see an informational message of the form: [STATEMENT] [END 2013/10/28 23:47:16] Waiting for ICM to go downIf you do not want to wait for in-progress concurrent requests to finish normally, you can terminate the internal concurrent manager by executing the adcmctl.sh abort command from a different shell.
• Shut down application tier services: All application tier services are brought down. During this period, the system is unavailable to users.
• Cutover database: Promote patch database edition to become the new run database edition, using adzdpmgr.pl script.
• Cutover file system: Promote patch file system to become the new run file system, switching the $FILE_EDITION values in the patch and run enviroments. The current patch APPL_TOP becomes the new run APPL_TOP, and the current run APPL_TOP becomes the new patch APPL_TOP. Terminate old database sessions: Terminate any database connections to the old run edition of the database.
• Start application tier services: Application tier services are restarted, on the new run edition. The system is now available again to users
• ADZDPATCH concurrent program is cancelled when the cutover phase is complete.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5) CLEANUP PHASE DETAILS
Important: If you fail to run the cleanup phase explicitly, it will be run automatically on the next prepare cycle, but this will cause a delay in starting your next online patching cycle.
This adop phase is used to remove obsolete code and data from old editions.
How to execute:
$ adop phase=cleanup
What it will do:
• Various actions are performed during cleanup, including dropping (removing) obsolete: Crossedition triggers, Seed data, Editioned code objects (covered objects), Indexes, Columns, Editions.
Using parameter cleanup_mode:
a) cleanup_mode=quick – Performs minimum cleanup, including removal of obsolete crossedition triggers and seed data.
Use quick cleanup when you need to start the next patching cycle as soon as possible. For example, if you want to start a new patching cycle right away, but have not yet run cleanup from the previous patching cycle, you can use quick cleanup mode to complete the essential cleanup tasks as fast as possible.
b) cleanup_mode=standard – Does the same as quick mode, and also drops (removes) obsolete editioned code objects (covered objects).
This is the default mode , so does not need to be specified.
c) cleanup_mode=full – Performs maximum cleanup, which drops all obsolete code and data from earlier editions
Use full cleanup when you want to recover the maximum amount of space in the database. If you have run a large number of patching cycles, or applied a very large patch such as a rollup, significant space may be consumed by obsolete table columns and recovered by running a full cleanup. A full cleanup should only be performed when there is no immediate need to start a new patching cycle.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
THERE ARE TWO SPECIAL PHASES:
A) ABORT PHASE DETAILS
Abort PHASE is conditional phase. This phase cannot be specified with any other phase.
If for some reason either the prepare or apply phase failed or gave problems, you can abort the patching cycle at either of these points by running a special phase with the Command. The actions taken will be discarded (rollbacked).
IMPORTANT: This abort command is only available up to (but not including) the cutover phase. After cutover, the system is running on the new edition, and abort is no longer possible for that patching cycle.
How to execute:
The command to perform this operation is:
$ adop phase=abort
What it will do:
• Confirms that there is an in-progress online patching cycle, so the abort call is therefore valid.
• Checks for the existence of a patch edition and drops one if it exists.
• Cancels the ADZDPATCH concurrent program, if it is running.
• Deletes the rows inserted for the pending session ID from the ad_adop_sessions and ad_adop_session_patches tables.
VERY IMPORTANT: After running abort, a full cleanup must be performed. The cleanup command is: adop phase=cleanup cleanup_mode=full). This will remove any columns that were added by the patch but are no longer needed because of the abort. If they are not removed, they may cause problems in a later patching cycle.
Alternatively, you can run a combined command to abort the patching cycle and perform a full cleanup:
$ adop phase=abort,cleanup cleanup_mode=full
If any attempt was made to apply patches to the patch edition, after abort you must run the fs_clone phase (adop phase=fs_clone) to recreate the patch file system.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
B) FS_CLONE PHASE DETAILS
The fs_clone phase is a command (not related to adcfgclone.pl) that is used to synchronize the patch file system with the run file system. The fs_clone phase should only be run when mentioned as part of a specific documented procedure.
How to execute:
The fs_clone phase is run using the following command:
$ adop phase=fs_clone
What it will do:
This phase is useful if the APPL_TOPs have become very unsynchronized (meaning that there would be a large number of delta patches to apply). It is a heavyweight process, taking a backup of the entire current patch APPL_TOP and then cloning the run APPL_TOP to create a new patch APPL_TOP. As this method requires more time and disk space, it should only be used when the state of the patch file system is unknown. This command must be invoked from the run file system, before the next prepare phase is run.
Note: The patch file system requires at least 25 GB of free disk space to be available for adop operations, including fs_clone. If there is insufficient free space, the adop operation will fail.
If an fs_clone operation fails, you can rerun it with the option force=yes to restart it from the beginning (with the same session ID), or force=no to restart it from the point where it failed.
——————————————————————————————————————–
IMPORTANT POINTS REGARDING ONLINE PATCHING:
1. adop utility is put under $APPL_TOP_NE/ad/bin. It is a wrapper script which calls internally the perl script $AD_TOP/bin/adzdoptl.pl which does actual work of applying the patch.
2. adop will automatically set its environment as required, but it is the user’s responsibility to set the environment correctly for any other commands that may be run. Set the run edition environment whenever executing commands that you intend to affect the run edition.
For example:
$ . <EBS_ROOT>/EBSapps.env run
 $ adstrtal.sh
Set the patch edition environment whenever you intend to execute commands that affect the patch edition.
For example:
$ . <EBS_ROOT>/EBSapps.env patch
 $ sqlplus apps/apps @my_custom_patch_script.sql
3. All the phases need to be completed and you can’t skip any of these. For example, if you try to skip prepare phase, you may get error message like “Apply phase can only be run while in a patching cycle, i.e. after prepare phase.”
4. After an online patching cycle is started, you should not perform any configuration changes in the run edition file system. Any that are made will not be propagated and will therefore be lost after cutover is complete.
5. You should not attempt to clone an Oracle E-Business Suite system while an online patching cycle is in progress.
6. The prepare, apply, and fs_clone phases all require at least 10GB of free disk space. All other phases require 1GB of free space. A warning message will be displayed if less than the needed amount is available.
7. The directories where you extracted the patches applied in a given patching cycle must be retained, in the same location and with the same contents, until the next prepare phase completes. This is also a requirement for patches applied in a hotpatch session.
8. Maintenance Mode is not needed for online patching, and so Maintenance Mode is not available in Oracle E-Business Suite Release 12.2.
——————————————————————————————————————-
ADOP ON MULTI-NODE
In a multi-node environment, one application tier node will be designated as the primary node. This is the node where the Admin Server is located, and will usually also be the node that runs Oracle HTTP Server. All other application tier nodes are designated as secondary nodes.
adop commands are invoked by a user on the primary node. Internally, adop uses Secure Shell (ssh) to automatically execute required patching actions on all secondary nodes. You must set up passwordless ssh connectivity from the primary node to all secondary nodes.
If a node unexpectedly becomes inaccessible via ssh, it will be abandoned by adop, and the appropriate further actions taken. Consider a scenario where the adop phase=prepare command is run in a system with ten application tier nodes. The command is successful on nine nodes, but fails on the tenth. In such a case, adop will identify the services enabled on nodes 1-9. If they are sufficient for Oracle E-Business Suite to continue to run normally, adop will mark node 10 as abandoned and then proceed with its patching actions. If they are not sufficient, adop will proceed no further.
——————————————————————————————————————–

R12.2 ONLINE PATCHING (ADOP) PARAMETERS/COMMANDS

Online patching is the most important new feature in Oracle E-Business Suite Release 12.2. It is the ability to patch a running system without having to take the system down for a significant period of time while the patches are applied.
‘adop’ is the utility you use to apply patches in R12.2
Important parameters and commands related to ADOP are documents below.
ADOP PATCHING PARAMETERS DETAILS:
PARAMETERDEFAULT VALUEPOSSIBLE VALUESDESCRIPTION
 phase N/APHASE=PREPARE
PHASE=APPLY
PHASE=CUTOVER
PHASE=CLEANUP
PHASE=FINALIZE
PHASE=ACTUALIZE_ALL
PHASE=FS_CLONE
PHASE=ABORT
These are the eight phases in which adop can run. It is most important and mandatory parameter that is used with adop.
You can also club multiple phases in single command like ‘PHASE=PREPARE,APPLY’ although abort and fs_clone need to be run alone and can’t be clubbed.Standard phases:
prepare – Prepare the instance for patch application.
apply – Apply patches (to the patch edition).
finalize – Ready the instance for cutover. It is run automatically.
cutover – Make the patch edition the new run edition.
cleanup – Drop obsolete objects and data from old editions. It is run automatically. 
There are also three special phases, used as per requirement.
Special phases:
abort – Abort the current patching cycle. The abort phase can be run after either the prepare or apply phases have been run, but not after the cutover phase.
actualize_all – Create new copies of all code objects in the patch
edition.
fs_clone – Copy the run file system to the patch file system.
 loglevelLOGLEVEL=EVENTLOGLEVEL=STATEMENT
LOGLEVEL=PROCEDURE
LOGLEVEL=EVENT
LOGLEVEL=WARNING
LOGLEVEL=ERROR
LOGLEVEL=UNEXPECTED
 STATEMENT > for debugging.
PROCEDURE > for debugging high level procedures.
EVENT > to capture informational messages in normal processing. (default)
WARNING > to capture any internal error that is handled by the system and does not affect processing.
ERROR > indicates action failed, need to be reviewed, but the system continue processing.
UNEXPECTED > indicates an unrecoverable error, requires user intervention before processing can continue.
 cleanup_modeCLEANUP_MODE=STANDARDCLEANUP_MODE=FULL
CLEANUP_MODE=STANDARD
CLEANUP_MODE=QUICK
Cleanup processing needs to happen after adop finishes the patching work.Quick mode > shortest execution time, skips non-essential actions
Standard mode > All quick mode action + drops covered objects
Full mode > All quick mode action +  remove all unused code, data, and old editions and takes much longer
 finalize_modeFINALIZE_MODE=QUICKFINALIZE_MODE=QUICK
FINALIZE_MODE=FULL
Quick mode > shortest execution, skips non-essential actions, no gather statistics.
Full mode > Gather statistics, may improve performance after cutover, can take an hour extra to complete.
 input_file N/AINPUT_FILE=<Absolute input_file path> To specify the name of the input_file supplied to adop. (see details on input_file later in this post)
 workers N/A (depends on number of available CPU cores)WORKERS=<User-specified-value>Number of parallel workers used to execute tasks.In earlier released  adpatch used to prompt for number of workers. With adop in R12.2, if you want  to override the default formula that oracle uses now to calculation number of workers, use the WORKERS parameter. Take care that you don’t specify very high number of workers or else adop will fail.
 maxworkers N/A (depends on number of available CPU cores) MAXWORKERS=<User-specified-value>Maximum parallel workers that can be engaged. maxworkers should always be set to greater than the desired number of workers.
 runcontextfile $CONTEXT_FILE RUNCONTEXTFILE=<Absolute context_file path> To specify the non-default context file patch in RUN filesystem
 patchcontextfile Standard context file path in patch FS PATCHCONTEXTFILE=<Absolute context_file path>  To specify the non-default context file patch in PATCH filesystem
 patches N/A PATCHES=<User-specified-value>For Standard Patch:when>patch directory is  a 6- to 8-digit numberPATCHES=<patch_number>

For Non-Standard Patch
when
> patch directory is not a 6- to 8-digit number example NLS patches <patch_number>_<language_code>.
> patch driver files are not named *<patchnum>.drv example merged patchesPATCHES=<patch_number>:<driver_file>.drv
This parameter specifies the patches adop needs to apply.Remember the numbered-only patches (standard) and containing-a-colon categories of patch (non-standard) can be mixed.Like:PATCHES= <patch_number1>,  <patch_number2>:<driver_file2>.drv
 defaultsfile $APPL_TOP/admin/<SID>_patch/adalldefaults.txt DEFAULTSFILE=<Absolute defaults_file path>Default file locations on both the run APPL_TOP and patch APPL_TOP is: $APPL_TOP/admin/<SID>_patch/adalldefaults.txtIn case you have created your own defaults file and want to use that instead, then use this parameter.
 patchtop $NE_BASE/EBSapps/patchPATCHTOP=<Absolute patch_location_file path> Default patch_top location is below.$NE_BASE/EBSapps/patchIf you want to keep your patches in some other lcoation, then you need to use this patrameter to let ADOP know where to search for patches pointed by ‘patches’ parameter.If you have a multi-node environment, you must download and unzip the patches (under $APPL_TOP_NE/EBSapps/patch) on the respective nodes.
 merge MERGE=NOMERGE=NO
MERGE=YES
In R12.2, oracle has integrated patch merging action in the patching command itself. In earlier releases we used to first merge patches using admrgpch command.By using MERGE=YES option ADOP will merge all the unified driver files into a single driver file.
 abandon ABANDON=NOABANDON=YES
ABANDON=NO
If the patch you are applying went into error, you have two option when you start the adop utility again.1) you corrected error and want to continue with previous adop session:ABANDON=NO2) you decided that you don’t want to correct issue for now and want to abandon the previous adop session:ABANDON=YES
 restartRESTART=YESRESTART=NO
RESTART=YES
If the patch you are applying went into error and you corrected the issue and want to restart the previous patching session.It is just the reverse of ABANDON parameter.Remember ABANDON and RESTART will always have opposite value.
 flagsN/AFLAGS=AUTOSKIPUse “flags=autoskip” in conjunction with the “abandon=no” parameter at the command-line to skip a failing patching step to “Continue as if a patch were successful”. You need to review the “autoskip” log that gets generated during the patching cycle in order to make sure that their were no errors and to take required actions in case of any errors
 allnodesALLNODES=NOALLNODES=NO
ALLNODES=YES
This parameter comes into picture when you have multi node setup. If you want to run adop on all nodes then use ALLNODES=YES.
 actionACTION=DBACTION=DB
ACTION=NODB
Use this parameter to specify whether to perform database actions or skip. For example if you are in a multi-node environment and adop has already updated the database so when running on other node just use ACTION=NODB to save time.Remember when you are using ‘allnodes=yes’ in a multi-node ‘action=db’ must be specified.
 apply APPLY=YESAPPLY=YES
APPLY=NO
To run adop in test mode (without applying any patches),specify apply=no
 autoskipAUTOSKIP=YESAUTOSKIP=YES
AUTOSKIP=NO
This parameter control whether the user is prompted about skipping actions in non-interactive patching. This is specifically useful when you are applying patches in multi node setup.
 mtrestartMTRESTART=YESMTRESTART=YES
MTRESTART=NO
This parameter specify whether to restart application tier services after cutover phase or not.
 cm_wait CM_WAIT=INFINITE (will wait forever) CM_WAIT=<user_specified_numberSpecifies the number of minutes to wait until the ICM will be forced down.
 allowcoredump ALLOWCOREDUMP=NOALLOWCOREDUMP=NO
ALLOWCOREDUMP=YES
To specify that a core dump will be generated if adop crashes.
 analyticsANALYTICS=NOANALYTICS=NO
ANALYTICS=YES
To specify that a report will be generated that can help debug certian adop issue.
 preinstallN/APREINSTALL=YThis mode is used only if the patch readme instructs. Generally this mode is used during the upgrade process to update AD utilities, apply pre-upgrade patches, or work around other patching issues.It will Compares version numbers, Copies files, Relinks FND and AD executables, Saves patch information. It also runs autoconfig if required.The dual file system in Release 12.2 means that there is no need to shut down application tier services before running AutoConfig.
 -helpN/AN/AShows the help screen.
 -status-status -detailLatest Session-STATUS (for latest session)
-STATUS <SESSION_ID> (for specific session)
Display status of the latest adop session.Use ‘adop -status -detail’ for detailed info
 -examplesN/AN/ADisplays some commonly used adop ample commnads


ADOP PATCHING EXAMPLE COMMANDS:

‘Complete’ adop patching cycle using parameters input through command line  (INTERACTIVE MODE)
So in R12.2 we have complete patching cycle to follow to apply a patch. These are set of commands which needs to executed in specific order.
You must set the environment by executing the run file system environment file.
$ . <run APPL_TOP path>/APPS<CONTEXT_NAME>.env
1) adop phase=prepare
2) adop phase=apply patches=<patch_number1>,<patch_number2> workers=<number_of_worker>
3) adop phase=finalize workers=<number_of_worker> (called automatically)
4) adop phase=cutover workers=<number_of_worker>
5) adop phase=cleanup (called automatically)
OR
Running all phases in single command:
adop phase=prepare,apply,finalize,cutover,cleanup patches=<patch_number1>,<patch_number2>
All the phases need to be completed and you can’t skip any of these. For example, if you try to skip prepare phase, you may get error message like “Apply phase can only be run while in a patching cycle, i.e. after prepare phase.”

adop patching cycle in NON-INTERACTIVE mode
During apply phase, Non-interactive patching is a way to save time by avoiding some of the prompts and automating the patching process.
You can apply patches in non-interactive way by using a defaults file that contains much of the information you would have supplied at the adop prompts and by creating another file known as input file. Then, when you run adop, you specify the name of the input file. The location of the defaults file will also need to be included in the input file.
$ adop phase=apply input_file=<input_file.txt>
Location of Default file on both the run APPL_TOP and patch APPL_TOP is:
$APPL_TOP/admin/<SID>_patch/adalldefaults.txt
Just in case this file gets corrupted or lost, you can run AutoConfig and it will automatically instantiate a new copy.
NOTE: In R12.2, you don’t need to create this defaults file. The file is already created by oracle process. However you need to create one ‘input file’ to use with adop (The defaults file is not specified on the adop command line. It is the input file.)
The input_file contents should include the following required parameters:
patches=<patch number>
workers=<number of workers>
patchtop=<directory where patches are staged>
defaultsfile=<defaults file on patch APPL TOP>

To skip specific patching portion or action
During apply phase:
adop phase=apply options=nodatabaseportion, nogenerateportion
In above command we are instructing adop to not run database and generate portion.
Other options can be
options=noactiondetails  — if you do not want the details to be printed.
options=noautoconfig  — if you are applying a number of patches in sequence and want to run
AutoConfig only once in the end.
option=nocheckfile –to turn off the checkfile feature. Using checkfile adop skip some actions which are   already done.
option=nocompiledb –when applying multiple NLS, documentations patches etc
option=nocompilejsp –when applying multiple NLS, documentations patches etc
option=nocopyportion  –for skipping copy portion of the patch


To apply patch in ‘HOTPATCH’ mode
During apply phase:
adop phase=apply options=hotpatch

You can see couple of other examples commands by typing on Unix command prompt  ‘adop -examples‘ .

Finding OPP Manager log for a concurrent request

=> Use below query to find the OPP manager log for a concurrent request.  SELECT fcpp.concurrent_request_id req_id, fcp.node_name, fcp.lo...