How to Fix ADOPC-15107 & Dual File System Sync Failures in EBS 12.2 (fs_clone)
An Online Patching cycle (adop) in Oracle E-Business Suite 12.2 can fail during the fs_clone or prepare phase due to file system synchronization failures between the Run Edition (FS1 or FS2) and the Patch Edition. This typically occurs when rsync processes time out, permissions are misconfigured, or dangling locks prevent file copy operations across the dual file system architecture.
Below is a field-tested, step-by-step troubleshooting guide and resolution strategy.
Quick Summary
Issue:
adop phase=fs_cloneoradop phase=preparefails during execution.Primary Symptom:
ADOPC-15107orCLSR-1008during file synchronization between$RUN_BASEand$PATCH_BASE.Root Cause: Interrupted
rsyncoperations, stale lock files, missing directory write permissions, oradopcontext synchronization mismatch between dual file systems.Resolution: Identify and purge lock files, verify context files with
TXK, clean stage tables, and execute a targetedfs_clonewith theforce=yesparameter.
Environment & Prerequisites
E-Business Suite Release: 12.2.4 through 12.2.13
Database Version: Oracle Database 19c (19.3+)
Operating System: Oracle Linux / Red Hat Enterprise Linux 7.x / 8.x
Required Privileges: Application Tier Service Owner (
applmgr)
Problem Description & Exact Error Stack
During the fs_clone phase, the adop driver initiates an internal rsync to synchronize changes from the Run File System ($RUN_BASE/apps/apps_st/appl) to the Patch File System ($PATCH_BASE/apps/apps_st/appl).
The command line returns the following error:
$ adop phase=fs_clone
[STATEMENT] Phase fs_clone started
[ERROR] adop phase=fs_clone failed.
[ERROR] Log file: /u01/install/APPS/fs_ne/EBSapps/log/adop/35/20260930_003015/fs_clone/appl_top/txkADOPPreparePhaseSynchronize.log
ADOPC-15107: Failure in module txkADOPPreparePhaseSynchronize.
Please check log file for details.
adop exiting with status 1 (Fail)
Inspecting the specific log file reveals:
$ cat /u01/install/APPS/fs_ne/EBSapps/log/adop/35/20260930_003015/fs_clone/appl_top/txkADOPPreparePhaseSynchronize.log
[ERROR] [LOGFILE] /u01/install/APPS/fs_ne/EBSapps/log/adop/35/20260930_003015/fs_clone/appl_top/TXK_SYNC_LOG.log
[ERROR] Shell command execution failed:
Command: rsync -lrtv --delete --exclude-from=/u01/install/APPS/fs_ne/EBSapps/appl/adop/35/adop_fs_clone_exclude.lst /u01/install/APPS/fs1/EBSapps/appl/ /u01/install/APPS/fs2/EBSapps/appl/
Exit code: 23
Error message: rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1179) [sender=3.1.2]
[FATAL] Dual File System Synchronization failed.
Root Cause Analysis
Synchronization failures between dual file systems generally stem from three conditions:
Active/Stale Locks: Previous failed
adopsessions left behind stale lock files in$COMMON_TOP/_pagesor internaladopstate tables (ADOP_VALIDATIONS,AD_CLONE_STATUS).Permission Mismatches: Files created under
rootor another user inside$RUN_BASEcannot be overwritten or created in$PATCH_BASEbyapplmgr.Inconsistent Context Files: Unsynchronized contextual parameters between the Run AutoConfig Context XML (
$CONTEXT_FILE) and the Patch Context XML.
Step-by-Step Solution
Step 1: Source the Run File System Environment
Ensure you are connected as the Application Tier OS user (applmgr) and source the Run Environment:
cd /u01/install/APPS
source EBSapps.env run
echo $FILE_EDITION
Expected Output:
run
Step 2: Check Active ADOP Sessions & Status
Execute the following SQL query to evaluate current session locks and state:
sqlplus apps/appspassword @check_adop_status.sql
Inline SQL Script (check_adop_status.sql):
SET LINESIZE 150
SET PAGESIZE 50
COLUMN adop_session_id FORMAT 999999
COLUMN phase FORMAT A12
COLUMN status FORMAT A10
COLUMN node_name FORMAT A20
COLUMN start_time FORMAT A20
COLUMN end_time FORMAT A20
SELECT
adop_session_id,
phase,
status,
node_name,
TO_CHAR(start_date, 'YYYY-MM-DD HH24:MI:SS') AS start_time,
TO_CHAR(end_date, 'YYYY-MM-DD HH24:MI:SS') AS end_time
FROM
ad_adop_sessions
ORDER BY
adop_session_id DESC;
Expected SQL Output:
ADOP_SESSION_ID PHASE STATUS NODE_NAME START_TIME END_TIME
--------------- ------------ ---------- -------------------- -------------------- --------------------
35 fs_clone F ebsnode1.domain.com 2026-09-30 00:30:15 2026-09-30 00:33:42
34 apply C ebsnode1.domain.com 2026-09-28 14:10:00 2026-09-28 15:45:12
Step 3: Identify Permissive and Exclusion Errors in rsync
Inspect the specific rsync target log identified in the error stack to pinpoint restricted files:
grep -i "permission denied" /u01/install/APPS/fs_ne/EBSapps/log/adop/35/20260930_003015/fs_clone/appl_top/TXK_SYNC_LOG.log
If specific temporary files or non-standard root-owned files are blocking execution, update file permissions:
# Correct ownership on Run and Patch bases
chown -R applmgr:oinstall /u01/install/APPS/fs1
chown -R applmgr:oinstall /u01/install/APPS/fs2
chmod -R 755 /u01/install/APPS/fs2/EBSapps/appl
Step 4: Run Adop Abort & Cleanup Stale Session Data
If adop is locked in a failed state, abort the session cleanly:
adop phase=abort
Run AutoConfig on both Run and Patch environments to reconcile context differences:
# Run AutoConfig on Run Edition
$ADMIN_SCRIPTS_HOME/adautocfg.sh
# Source Patch Environment and Run AutoConfig
source /u01/install/APPS/EBSapps.env patch
$ADMIN_SCRIPTS_HOME/adautocfg.sh
# Switch back to Run Environment
source /u01/install/APPS/EBSapps.env run
Step 5: Force Dual File System Re-synchronization
Execute adop phase=fs_clone using the force=yes parameter to overwrite existing stage files and re-initialize rsync:
adop phase=fs_clone force=yes
Verification
Validate that the dual file system synchronization completes successfully and verify system status.
1. Command Line Log Verification
Check the tail end of the newly generated fs_clone log:
tail -n 20 /u01/install/APPS/fs_ne/EBSapps/log/adop/36/*/fs_clone/appl_top/txkADOPPreparePhaseSynchronize.log
Expected Output:
[STATEMENT] File system synchronization completed successfully.
[STATEMENT] [END 2026-09-30 01:15:22] adzdSync.py completed successfully.
[STATEMENT] Phase fs_clone completed successfully.
adop exiting with status 0 (Success)
2. Database Status Check
Query the ad_adop_sessions table to verify completion state:
SELECT adop_session_id, phase, status
FROM ad_adop_sessions
WHERE adop_session_id = (SELECT MAX(adop_session_id) FROM ad_adop_sessions);
Expected Output:
ADOP_SESSION_ID PHASE STATUS
--------------- ------------ ----------
36 fs_clone C
Prevention & Best Practices
Avoid Manual File Modifications in Patch Base: Never alter files manually inside
$PATCH_BASEwhile an active patching cycle is open or closed. Always make customizations in$RUN_BASEand allowfs_cloneto migrate them.Automate Periodic Cleanups: Purge old
adoplog directories in$FS_NE/EBSapps/log/adop/periodically to free up inodes and prevent disk saturation.Custom Exclusions: If non-EBS directories or large backup folders exist inside
$APPL_TOP, add them to$APPL_TOP/admin/adop_fs_clone_exclude.lstsorsyncskips unnecessary data.
