Resolving “Missing PATCH FS CONTEXT FILE” Error During ADOP fs_clone in Oracle EBS
Introduction
During Oracle E-Business Suite (R12.2) patching, the ADOP (Online Patching) cycle performs multiple validation checks to ensure the environment is consistent before proceeding. One of the critical phases is fs_clone, which synchronizes the run and patch file systems.
This blog explains a real-time issue where the fs_clone phase failed due to a missing PATCH FS CONTEXT FILE, along with the root cause and resolution steps.
Real-World Scenario
During a production patching activity, the adop prepare and apply phases completed successfully, and the team proceeded with the fs_clone phase.
However, the process failed with unexpected Perl errors. There were no clear database errors or blocking sessions, and system resources were normal. Initial analysis suggested a script-level issue, but further investigation revealed that the problem was related to configuration metadata.
The root cause was identified as a missing PATCH file system context entry in the database, which caused the validation step to fail.
This is a typical case where:
- The issue is not clearly visible in logs
- The failure is caused by missing configuration data rather than runtime errors
Issue Description
While executing:
adop phase=fs_clone
The following errors were observed:
Use of uninitialized value $result in split at
.../ADOPValidationUtils.pm line 1294
No such file or directory at
.../ADOPValidationUtils.pm line 230
Root Cause Analysis
The failure occurred because the PATCH file system context entry was missing in the table:
FND_OAM_CONTEXT_FILES
This table stores context file details for both run and patch file systems.
Verification Query
SQL> SELECT DISTINCT(PATH)
FROM FND_OAM_CONTEXT_FILES
WHERE NAME NOT IN ('TEMPLATE', 'METADATA', 'config.txt')
AND CTX_TYPE = 'A'
AND (STATUS IS NULL OR UPPER(STATUS) IN ('S', 'F'))
AND EXTRACTVALUE(XMLType(TEXT),'//file_edition_type') = 'patch';
If this query returns no rows, it confirms that the patch context file is missing.
Note: Do not proceed with the solution if this query returns data.
Solution
Step 1: Verify Environment
echo $FILE_EDITION
Expected output:
Patch
echo $CONTEXT_FILE
Step 2: Upload Context File
$ADJVAPRG oracle.apps.ad.autoconfig.oam.CtxSynchronizer action=upload contextfile='/d03/inst/apps/clone/appl/admin/cloneapp.xml' logfile=/tmp/patchctxupload.log
You will be prompted to enter the APPS password.
Step 3: Re-verify
Run the verification query again to confirm the entry exists.
Step 4: Re-run fs_clone
adop phase=fs_clone
The process should now complete successfully.
Key Takeaways
- Not all errors are clearly visible in logs
- Configuration inconsistencies can cause patch failures
- FND_OAM_CONTEXT_FILES plays a key role in validation
- Proper verification is essential before applying fixes
Best Practices
- Validate context file entries before patching
- Ensure run and patch file systems are synchronized
- Monitor ADOP logs carefully
- Maintain proper documentation
- Perform pre-check validations
Conclusion
The “Missing PATCH FS CONTEXT FILE” issue highlights how configuration gaps can interrupt Oracle EBS patching. By identifying the missing entry and correcting it using the appropriate utility, the issue can be resolved efficiently.
Understanding these types of hidden configuration dependencies helps DBAs ensure smooth patching cycles and maintain system stability.
No comments:
Post a Comment