Oracle Application Cloning
Notes used:
406982.1
559518.1
603104.1
Pre-clone:
Prepare the source system
Execute the following commands to prepare the source system for cloning:
Prepare the source system database tier for cloning
Login as "DATABASE" user and run the following commands:
$ cd $ORACLE_HOME/appsutil/scripts/<CONTEXT_NAME>
$ perl adpreclone.pl dbTier
Prepare the source system application tier for cloning
Login as "APPLICATION" user and run the following commands on each node that contains an APPL_TOP:
$ cd $INST_TOP/admin/scripts
$ perl adpreclone.pl appsTier
Note:
If new Rapid Clone or AutoConfig updates are applied to the system, adpreclone.pl must be executed again on the dbTier and on the appsTier in order to apply the new files into the clone directory structures that will be used during the cloning configuration stage.
Copy the source system to the target system
Copy the application tier file system from the source Applications system to the target node by executing the following steps in the order listed. Ensure the application tier files copied to the target system are owned by the target APPLMGR user, and that the database node files are owned by the target ORACLE user.
The tar command can be used to compress the directories into a temporary staging area. If you use this command, you may require the -h option to follow symbolic links, as following symbolic links is not the default behavior on all platforms. Consult the UNIX man page for the tar command.
Copy the application tier file system
Log on to the source system application tier nodes as the APPLMGR user and shut down the application tier server processes. Copy the following application tier directories from the source node to the target application tier node:
# <APPL_TOP>
# <COMMON_TOP>
# Applications Technology Stack:
**** <OracleAS Tools ORACLE_HOME>
**** <OracleAS Web IAS_ORACLE_HOME>
Example in oracle application tier:
mkdir -p $HOME/ORACLE-APPS-LOGS/
mkdir -p /USB-01/CLONE/CLONE-DATE-`date +%F`/APPS-TIER/
nohup tar -czv -f /USB-01/CLONE/CLONE-DATE-`date +%F`/APPS-TIER/APPL_TOP-`date +%F`.tar.gz $APPL_TOP/* > $HOME/ORACLE-APPS-LOGS/APPL_TOP-`date +%F`.out &
nohup tar -czv -f /USB-01/CLONE/CLONE-DATE-`date +%F`/APPS-TIER/COMMON_TOP-`date +%F`.tar.gz $COMMON_TOP/* > $HOME/ORACLE-APPS-LOGS/COMMON_TOP-`date +%F`.out &
nohup tar -czv -f /USB-01/CLONE/CLONE-DATE-`date +%F`/APPS-TIER/ORACLE_HOME-`date +%F`.tar.gz $ORACLE_HOME/* > $HOME/ORACLE-APPS-LOGS/APPS_ORACLE_HOME-`date +%F`.out &
nohup tar -czv -f /USB-01/CLONE/CLONE-DATE-`date +%F`/APPS-TIER/IAS_ORACLE_HOME-`date +%F`.tar.gz $IAS_ORACLE_HOME/* > $HOME/ORACLE-APPS-LOGS/IAS_ORACLE_HOME-`date +%F`.out &
Example in oracle database tier: Oracle database must be properly shutdown.
mkdir -p $HOME/ORACLE-DATABAE-LOGS/
mkdir -p /USB-01/CLONE/CLONE-DATE-`date +%F`/DATABASE-TIER/
nohup tar -czv -f /USB-01/CLONE/CLONE-DATE-`date +%F`/DATABASE-TIER/ORACLE_HOME-`date +%F`.tar.gz $ORACLE_HOME/* > $HOME/ORACLE-DATABAE-LOGS/DB_ORACLE_HOME-`date +%F`.out &
nohup tar -czv -f /USB-01/CLONE/CLONE-DATE-`date +%F`/DATABASE-TIER/DATA-FILES-`date +%F`.tar.gz /u02/CLONE/PROD/db/apps_st/data/* > $HOME/ORACLE-DATABAE-LOGS/DATA-FILES-`date +%F`.out &
Cloning:
Configure the target system
Run the following commands to configure the target system. You will be prompted for specific target system values such as SID, paths, and ports.
Configure the target system database server
Log on to the target system as the ORACLE user and enter the following commands:
$ cd <RDBMS ORACLE_HOME>/appsutil/clone/bin
$ perl adcfgclone.pl dbTier
Configure the target system application tier server nodes
Log on to the target system as the APPLMGR user and enter the following commands:
$ cd <COMMON_TOP>/clone/bin
$ perl adcfgclone.pl appsTier
Post Clone:
For table WF_NOTIFICATION_ATTRIBUTES
select TEXT_VALUE from WF_NOTIFICATION_ATTRIBUTES where text_value like '%http%'
update WF_NOTIFICATION_ATTRIBUTES set TEXT_VALUE = replace(TEXT_VALUE, 'http://production.mydomain.omi:8000', 'http://oracleclone.mydomain.omi:8000') where TEXT_VALUE like '%http://production.mydomain.omi:8000%'
For table WF_ITEM_ATTRIBUTE_VALUES
select TEXT_VALUE from WF_ITEM_ATTRIBUTE_VALUES where text_value like '%http%'
update WF_ITEM_ATTRIBUTE_VALUES set TEXT_VALUE = replace(TEXT_VALUE, 'http://production.mydomain.omi:8000', 'http://oracleclone.mydomain.omi:8000') where TEXT_VALUE like '%http://production.mydomain.omi:8000%'
For WF_SYSTEMS
You may skip this. To check please follow the steps below:
1) Login to Syadmin user from front hand.
2) Navigate to Workflow Administrator Web Applications responsibility -> Administration -> Workflow configuration
3) Check the value for System Name under "Business Event Local System", which should be correct.
For table WF_AGENTS
select ADDRESS from WF_AGENTS
update WF_AGENTS set ADDRESS = replace(ADDRESS, 'PRD34.US.ORACLE.COM', 'CLONE.MYDOMAIN.OMI') where ADDRESS like '%PRD34.US.ORACLE.COM%'
update WF_AGENTS set ADDRESS = replace(ADDRESS, 'PRB19.US.ORACLE.COM', 'CLONE.MYDOMAIN.OMI') where ADDRESS like '%PRB19.US.ORACLE.COM%'
For FND_FORM_FUNCTIONS table
Please skip if no data are returned during the query.
For FND_CONCURRENT_REQUESTS table
Please skip this step since it only contains the logs location of the source system and the distination (clone) ssystem.
LOGS
echo $APPLCSF
This must return a path that is relative to clone instance diretory.
Thats it!
Previous page: Compiling Oracle Application Forms Next page: Determine OracleAS R12 version
