While running adop phase like fs_clone,apply and prepare it fails with the following error:
[applprod@erpapp01 ~]$ adop phase=fs_clone
Enter the APPS password:
Enter the SYSTEM password:
Enter the WLSADMIN password:
Validating credentials.
Initializing.
Run Edition context : /u01/oracle/ERPPROD/fs1/inst/apps/ERPPROD_erpapp01/appl/admin/ERPPROD_erpapp01.xml
Patch edition context: /u01/oracle/ERPPROD/fs2/inst/apps/ERPPROD_erpapp01/appl/admin/ERPPROD_erpapp01.xml
Patch file system free space: 355.97 GB
Validating system setup.
Node registry is valid.
[WARNING] ETCC: The following required database fixes have not been applied to node dx
12608451
21286665
Refer to My Oracle Support Knowledge Document 1594274.1 for instructions.
Checking for existing adop sessions.
No pending session exists.
Starting new adop session.
===========================================================================
ADOP (C.Delta.8)
Session ID: 3
Node: erpapp01
Phase: fs_clone
Log: /u02/oracle/ERPPROD/fs_ne/EBSapps/log/adop/3/20170807_123036/adop.log
===========================================================================
Validating configuration on node: [erpapp01].
Log: /u02/oracle/ERPPROD/fs_ne/EBSapps/log/adop/3/20170807_123036/fs_clone/validate/erpapp01
[UNEXPECTED]Error occurred running "perl /u02/oracle/ERPPROD/fs1/EBSapps/appl/ad/12.0.0/patch/115/bin/txkADOPValidations.pl -contextfile=/u01/oracle/ERPPROD/fs1/inst/apps/ERPPROD_erpapp01/appl/admin/ERPPROD_erpapp01.xml -patchctxfile=/u01/oracle/ERPPROD/fs2/inst/apps/ERPPROD_erpapp01/appl/admin/ERPPROD_erpapp01.xml -phase=fs_clone -logloc=/u02/oracle/ERPPROD/fs_ne/EBSapps/log/adop/3/20170807_123036/fs_clone/validate/erpapp01 -promptmsg=hide"
[UNEXPECTED]Error 1 occurred while Executing txkADOPValidation script on erpapp01
[STATEMENT] Please run adopscanlog utility, using the command
"adopscanlog -latest=yes"
to get the list of the log files along with snippet of the error message corresponding to each log file.
adop exiting with status = 1 (Fail)
Symptoms:
If you run the following query it should return no rows: in some cases it will returns due to corruption on the table but adop satus failed with 255 instaed of 1. in both cases (retun rows or no rows). please go ahead with below steps to resolve the issue
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';
Cause:
Patch context file is missing in the FND_OAM_CONTEXT_FILES table. Line 1291 of ADOPValidationUtils.pm line (see error below) is expecting the full path of CONTEXT_FILE name from the patch file system. However, the command returns no results.
[applprod@erpapp01 erpapp01]$ cat txkADOPValidations.error
Use of uninitialized value $result in split at /u02/oracle/ERPPROD/fs1/EBSapps/appl/au/12.0.0/perl/TXK/ADOPValidationUtils.pm line 1291.
No such file or directory at /u02/oracle/ERPPROD/fs1/EBSapps/appl/au/12.0.0/perl/TXK/ADOPValidationUtils.pm line 230.
Solution:
Patch context file is missing in the FND_OAM_CONTEXT_FILES table. Line 1291 of ADOPValidationUtils.pm line (see error below) is expecting the full path of CONTEXT_FILE name from the patch file system. However, the command returns no results.
To fix this issue test the following to upload the missing PATCH context file to the database:
1. Get the value of your patch context file.
1.1. Source your PATCH file system
[applprod@erpapp01 ~]$ echo $FILE_EDITION
patch
1.2. Echo the value of $CONTEXT_FILE and take note of it. You will use this value in step #3.
[applprod@erpapp01 ~]$ echo $CONTEXT_FILE
/u01/oracle/ERPPROD/fs2/inst/apps/ERPPROD_erpapp01/appl/admin/ERPPROD_erpapp01.xml
2. Source the RUN filesystem
3. Execute the following command on the run filesystem to upload the patch context file to the database.
$ADJVAPRG oracle.apps.ad.autoconfig.oam.CtxSynchronizer \
action=upload \
contextfile='Enter Your Full Patch Context XML File Location' \
logfile=/tmp/patchctxupload.log
[applprod@erpapp01 ~]$ echo $FILE_EDITION
run
[applprod@erpapp01 ~]$ $ADJVAPRG oracle.apps.ad.autoconfig.oam.CtxSynchronizer \
action=upload \
contextfile=/u01/oracle/ERPPROD/fs2/inst/apps/ERPPROD_erpapp01/appl/admin/ERPPROD_erpapp01.xml \
logfile=/tmp/patchctxupload.log
Enter the APPS password:
Note: the context file parameter should point to the physical location of the patch context file in your system.
4. Run the following query and it should return one entry for the recently uploaded context file.
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';
PATH
-----
/u01/oracle/ERPPROD/fs2/inst/apps/ERPPROD_erpapp01/appl/admin/ERPPROD_erpapp01.xml
Try to run the fs_clone again and it should complete successfully!