Oracle EBS R12.2 DualFS RapidClone: FMW Prerequisite Failures, RPMDB Corruption and Stale Inventory

Alhamdulillah, this post documents the issues hit during an EBS R12.2 QA application-tier refresh and how each was isolated. Server names, paths and identifiers are generic examples.

Environment (generic)

ComponentExample
App serverqa-app-server01
DB serverqa-db-server01
EBS environmentQA_EBS
Application base/u01/apps
Pairs file/u01/cloning/pairs/qa_apps_pairs.txt
Central inventory/opt/oraInventory

Background

A DualFS clone recreates both fs1 and fs2. Per the cloning procedure used here, the old fs2, inst and FMW_Home were moved aside and removed first:

cd /u01/apps/
mv fs2 fs2_old
rm -rf fs2_old &

cd fs1
mv inst inst_old
mv FMW_Home FMW_Home_old
rm -rf inst_old FMW_Home_old &

Cleanup steps should follow your own environment’s cloning document.

Symptom

adcfgclone.pl failed at the FMW prerequisite stage:

ERROR: Failed to execute FMW pre-requisite check

Re-running would not have helped. The prerequisite check reads OS state, so that is where the investigation started.

cat /etc/os-release
rpm --verifydb
rpm -qa | grep -E 'compat-libcap1|compat-libstdc'

Issue 1: RPM database corruption

On one app server, rpm --verifydb returned Berkeley DB errors:

BDB0682 Page ... bad prev_pgno
BDB0683 Page ... overflow item incomplete
Packages: BDB0090 DB_VERIFY_BAD

Package queries also showed rpmdbNextIterator: skipping h# ... and region trailer: BAD.

RPMDB corruption was identified and the package state was subsequently validated. If the RPM database is unhealthy, package-based prerequisite results can be incomplete or misleading. Running rpm --verifydb early is a useful way to identify this condition before spending time troubleshooting the Oracle prerequisite scripts.

Issue 2: Missing compatibility packages

Two packages were missing: compat-libcap1 and compat-libstdc++-33. After confirming repository availability, both were installed with dnf install, then the RPM database was verified again.

A similar QA server passed the check without this problem, so package state can differ between servers that look identical.

Issue 3: refhost.xml OL7 block on an OL8 target

The target was Oracle Linux 8, but the first OS block in refhost.xml was defined for Oracle Linux 7:

/u01/apps/fs1/EBSapps/comn/clone/prereq/webtier/Scripts/prereq/linux64/refhost.xml
<VERSION VALUE="7"/>

Only that block was changed to VALUE="8". A global sed replacement is risky because the file contains multiple OS definitions. Back up the file, identify the applicable block, change only that, and validate the XML.

Issue 4: Stale Oracle Central Inventory

Removing FMW_Home from disk does not remove it from the central inventory. Entries such as these were still registered after the directories were gone:

/u01/apps/fs1/FMW_Home/oracle_common
/u01/apps/fs1/FMW_Home/webtier
/u01/apps/fs1/FMW_Home/Oracle_EBS-app1

Documented cloning step. The cloning document’s inventory cleanup applies to the target database server (check /etc/oraInst.loc, remove the DB home entry from ContentsXML/inventory.xml). It does not cover resetting the application-server inventory, so the app-server reset described here is not part of the standard cloning steps.

Before any inventory change: confirm the active inventory via /etc/oraInst.loc, preserve a copy, then apply the approved procedure. The existing inventory was kept as a backup. Note that the first mv below is conditional: run it only if /opt/oraInventory_old already exists.

# Only if /opt/oraInventory_old already exists:
mv /opt/oraInventory_old /opt/oraInventory_old_backup

mv /opt/oraInventory /opt/oraInventory_old
mkdir /opt/oraInventory
chown oracle:oinstall /opt/oraInventory

Issue 5: EXECUTE_FMW_SYS_PREREQS

The cloning procedure sets this variable before the DualFS run:

export EXECUTE_FMW_SYS_PREREQS=false
echo $EXECUTE_FMW_SYS_PREREQS

This skips the FMW OS prerequisite execution. It was set here only after the failures above had been investigated, and only because the procedure specifies it. It is not a general substitute for fixing prerequisite failures.

Issue 6: SSH disconnect during a multi-hour clone

RapidClone can run for hours, and the procedure calls for a screen session (or VDI). During this exercise the SSH session dropped mid-run.

screen -S rapidclone
cd /u01/apps/fs1/EBSapps/comn/clone/bin
export EXECUTE_FMW_SYS_PREREQS=false
perl adcfgclone.pl component=appsTier \
pairsfile=/u01/cloning/pairs/qa_apps_pairs.txt \
dualfs=yes

After the disconnect, check before restarting anything:

screen -ls
screen -r <session>

If the original process is still running, a second adcfgclone.pl would only add complications.

Result

After the identified OS, package, prerequisite and inventory issues were addressed, the DualFS clone completed and created both fs1 and fs2.

ما شاء الله

The same approach worked on the second QA environment. This establishes that the DualFS RapidClone completed, not that the entire QA refresh is finished: post-clone configuration is separate, and the procedure says not to start services at the end of the clone until the required post-clone steps are completed.

Summary

FindingLayerAction
FMW prerequisite failureOS / packagesInvestigated underlying checks
RPMDB corruptionOSIdentified the corruption and validated the package state after remediation
Missing compat RPMsOSInstalled required packages
OL7 block on OL8 targetPrerequisite configCorrected the applicable block only
Stale FMW homes in inventoryOracle InventoryBacked up the existing inventory, then applied the approved remediation
Long-running cloneSessionRan inside screen

Suggested pre-clone checklist

cat /etc/os-release
rpm --verifydb
rpm -qa | grep -E 'compat-libcap1|compat-libstdc'
cat /etc/oraInst.loc
ls -ld /u01/apps/fs1 /u01/apps/fs2
ls -l /u01/apps/fs1/EBSapps/comn/clone/bin/adcfgclone.pl

Post-clone

RapidClone success is not the end of the refresh. The cloning procedure continues with custom environment configuration, AutoConfig, WebLogic configuration, Concurrent Manager/MWA node configuration, shared filesystem setup and further AutoConfig runs, followed by application validation.

Takeaway

RapidClone is often where infrastructure problems become visible, not where they start. When it fails, check the layers underneath before rerunning:

OS → RPM database → packages → prerequisite config → Oracle Inventory → filesystem → RapidClone → post-clone configuration

Examples use generic names. No real server names, IP addresses, domains, company names or screenshots are included.


Discover more from Syed Anwar Ahmed – Oracle DBA Blog

Subscribe to get the latest posts sent to your email.

Comments

Leave a Reply

Discover more from Syed Anwar Ahmed – Oracle DBA Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading