Wednesday, September 9, 2026

Complete Step-by-Step Guide: Cloning Oracle E-Business Suite (EBS) with Enterprise Command Center (ECC)

 

Cloning an Oracle E-Business Suite (EBS) R12.2 environment is a standard task for any Oracle Apps DBA. However, when Enterprise Command Center (ECC) is integrated into the architecture, standard adcfgclone routines are not enough.

ECC operates on an independent WebLogic domain and uses specialized search cores (Solr/ZooKeeper). If you clone the EBS backend without cloning and synchronizing the ECC tier, your dashboards will fail due to broken token handshakes, dropped JDBC connection pools, or stale search indices. Below is the complete step-by-step runbook for cloning an integrated EBS and ECC stack.


📌 Architecture & Target Parameters

Before executing commands, determine your source and target mapping:

Parameter Source Node Target Node
EBS SID PROD TEST
Database Host proddb.domain.com testdb.domain.com
Apps Tier Host prodapps.domain.com testapps.domain.com
ECC Server Host prodecc.domain.com testecc.domain.com
ECC Base Path /u01/oracle/ecc /u01/oracle/ecc
WebLogic Port 7001 / 7002 7001 / 7002

Phase 1: Source Environment Preparation (Pre-Clone)

1. Execute Pre-Clone on EBS DB & Apps Tiers

On Database Tier (run as oracle):

cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
perl adpreclone.pl dbTier

On Apps Tier Run File System (run as applmgr):

source <EBS_BASE>/EBSapps/env/env.env run
cd $ADMIN_SCRIPTS_HOME
perl adpreclone.pl appsTier

2. Take an ECC Tier Backup

Per MOS Doc ID 2495053.1 (Appendix D), use the packaged utility to archive metadata and domain configs:

cd $ECC_BASE/Oracle/quickInstall

# 1. Stop ECC services
./stopAllEcc.sh

# 2. Run backup archive
./backup.sh

# 3. Restart source services once completed
./startAllEcc.sh
Verification: Confirm that an archive named backup_<timestamp>.tar.gz has been generated in $ECC_BASE/Oracle/quickInstall/.

Phase 2: Replicate Files & Configure Target EBS

  1. Restore or copy database files to testdb.domain.com.
  2. Copy the run file system (EBSapps) to testapps.domain.com.
  3. Copy the ECC backup archive to the target ECC node:
    rsync -avzP $ECC_BASE/Oracle/quickInstall/backup_* \
      oracle@testecc.domain.com:$ECC_BASE/Oracle/quickInstall/

Configure Cloned DB and Application Nodes

On Target DB Tier:

cd $ORACLE_HOME/appsutil/clone/bin
perl adcfgclone.pl dbTier

On Target Apps Tier:

cd $COMMON_TOP/clone/bin
perl adcfgclone.pl appsTier

Clean up obsolete FND nodes in Target DB:

sqlplus apps/<apps_password>
EXEC FND_CONC_CLONE.SETUP_CLEAN;
COMMIT;
EXIT;

Execute AutoConfig across all target EBS nodes.


Phase 3: Restore and Configure Target ECC Tier

1. Update ECC Connection Properties

Edit $ECC_BASE/Oracle/quickInstall/EccConfig.properties on testecc.domain.com to point to the new target database and ECC hostname:

# Target Database Details
DATABASE_HOSTNAME=testdb.domain.com
DATABASE_PORT=1521
DATABASE_SERVICE_NAME=TEST

# Target ECC Host Details
ECC_HOSTNAME=testecc.domain.com
ECC_MANAGED_SERVER_PORT=7001

2. Run Restore Scripts & Start Services

cd $ECC_BASE/Oracle/quickInstall
./createEnvFile.sh
./envSetup.sh
./startAllEcc.sh
Verification: Log into the WebLogic Admin Console at http://testecc.domain.com:7001/console. Go to Services > Data Sources > ebsDB > Monitoring > Testing and ensure Test Data Source returns Test Succeeded.

Phase 4: Establish EBS-to-ECC Trust Handshake

1. Generate Target DBC File

On the target EBS Apps Tier (run as applmgr):

source <EBS_BASE>/EBSapps/env/env.env run

java oracle.apps.fnd.security.AdminDesktop apps/<APPS_PASSWORD> \
  CREATE NODE_NAME=testecc.domain.com \
  DBC=$FND_SECURE/TEST.dbc

Transfer this file to the ECC server:

scp $FND_SECURE/TEST_testecc.domain.com.dbc \
  oracle@testecc.domain.com:$ECC_BASE/Oracle/quickInstall/connection.dbc

2. Update Context Variable & Profile Option

  1. In the target EBS application context file, update:
    <s_ecc_web_host>http://testecc.domain.com:7001</s_ecc_web_host>
  2. Run AutoConfig: $ADMIN_SCRIPTS_HOME/adautocfg.sh.
  3. In EBS, verify the site-level profile option ECC: External Web URL points to http://testecc.domain.com:7001.

Phase 5: Reset Stale Metadata & Run Full Data Load

To avoid JobId -> -1 errors caused by source database tracking flags, reset the load metadata in SQL*Plus as APPS:

EXEC fnd_ecc_util.reset_data_load(p_application_short_name => 'ALL');
COMMIT;

Submit the concurrent request from EBS:

  • Program: Enterprise Command Center Data Load
  • System Name: EBS
  • Application Name: ALL (or select a single application, e.g., AP)
  • Load Type: FULL_LOAD
  • Reset Data: True

🛠️ Common Post-Clone Troubleshooting

  • OutOfMemoryError during full load: Increase Java heap settings (-Xms and -Xmx) in $ECC_BASE/Oracle/quickInstall/envSetup.sh and restart ECC.
  • Invalid Security Handshake / Token Issues: Verify that FND_NODES has the target ECC hostname registered in uppercase format.
  • Solr Lock Errors: Stop ECC, clear lingering core locks under $ECC_BASE/Oracle/ecc_server/solr/server/solr/cores/*, and restart the ECC services.

No comments:

Post a Comment