6
Jan

ADOP Prepare Phase Fails With Error "runSyncFS sub-routine is called"

Symptoms:


ADOP Prepare phase fails while applying a patch.

Error:

[PROCEDURE] [END 2018/11/12 18:21:48] Acquiring lock on AD_ADOP_SESSION_PATCHES table
[PROCEDURE] [START 2018/11/12 18:21:48] Sync FS of RUN and PATCH
[PROCEDURE] Calling: /u02/oracle/ERPPROD/fs1/EBSapps/appl/ad/12.0.0/patch/115/bin/txkADOPPreparePhaseSynchronize.pl
[EVENT] Log: /u02/oracle/ERPPROD/fs_ne/EBSapps/log/adop/42/20181112_175050/prepare/erpisup
[UNEXPECTED]Error occurred running "perl /u02/oracle/ERPPROD/fs1/EBSapps/appl/ad/12.0.0/patch/115/bin/txkADOPPreparePhaseSynchronize.pl -contextfile=/u01/oracle/ERPPROD/fs1/inst/apps/erpprod_erpisup/appl/admin/erpprod_erpisup.xml -patchcontextfile=/u01/oracle/ERPPROD/fs2/inst/apps/erpprod_erpisup/appl/admin/erpprod_erpisup.xml -promptmsg=hide -console=off -patchtop=/u02/oracle/ERPPROD/fs_ne/EBSapps/patch -mode=update -sync_mode=patch -sessionid=42 -timestamp=20181112_175050 -workercount=8 -outdir=/u02/oracle/ERPPROD/fs_ne/EBSapps/log/adop/42/20181112_175050/prepare/erpisup -autoskip=No"
[PROCEDURE] [START 2018/11/12 18:22:29] Unlocking AD_ADOP_SESSION_PATCHES table
[STATEMENT] Unlocking AD_ADOP_SESSION_PATCHES table for erpisup having lock name ADPATCH

[PROCEDURE] [END 2018/11/12 18:22:29] Unlocking AD_ADOP_SESSION_PATCHES table
[UNEXPECTED]Error calling runSyncFS subroutine.
[ERROR] Prepare phase has failed.


Cause:


Filesystems were not synchronized.

Solution:

Run this sql statement:

select * from ad_adop_session_patches order by end_date desc;


set pagesize 200;
set linesize 160;
column adop_session_id format 999999999999;
column bug_number format a15;
column status format a15;
column applied_file_system_base format a23;
column patch_file_system_base format a23;
column adpatch_options format a15;
column node_name format a15;
column end_date format a15;
column clone_status format a15;
select ADOP_SESSION_ID, BUG_NUMBER, STATUS, APPLIED_FILE_SYSTEM_BASE, PATCH_FILE_SYSTEM_BASE, ADPATCH_OPTIONS, NODE_NAME, END_DATE, CLONE_STATUS from ad_adop_session_patches order by end_date desc;

 

Below are possible values of STATUS column:

N - Not Applied In the current node but applied in other nodes
R - Patch Application is going on.
H - Patch failed in the middle. (Hard Failure)
F - Patch failed in the middle but user tried to skip some failures.
S - Patch Application succeeded after skipping the failed jobs.
Y - Patch Application succeeded.
C - Reserved for clone and config_clone. Indicates clone completed

select ADOP_SESSION_ID, BUG_NUMBER, STATUS, APPLIED_FILE_SYSTEM_BASE, PATCH_FILE_SYSTEM_BASE, ADPATCH_OPTIONS, NODE_NAME, END_DATE, CLONE_STATUS from ad_adop_session_patches where adop_session_id=42 order by end_date desc;


ADOP_SESSION_ID BUG_NUMBER STATUS APPLIED_FILE_SYSTEM_BAS PATCH_FILE_SYSTEM_BASE ADPATCH_OPTIONS NODE_NAME END_DATE CLONE_STATUS
--------------- --------------- --------------- ----------------------- ----------------------- --------------- --------------- --------------- ---------------

42 CONFIG_CLONE N /u02/oracle/ERPPROD/fs1 /u02/oracle/ERPPROD/fs2 erpisup NOT-STARTED
42 CONFIG_CLONE Y /u02/oracle/ERPPROD/fs1 /u02/oracle/ERPPROD/fs2 31291 erpirec 12-NOV-18 COMPLETED
42 CONFIG_CLONE Y /u02/oracle/ERPPROD/fs1 /u02/oracle/ERPPROD/fs2 7281 erpapp2 12-NOV-18 COMPLETED
42 CONFIG_CLONE Y /u02/oracle/ERPPROD/fs1 /u02/oracle/ERPPROD/fs2 25395 erpapp1 12-NOV-18 COMPLETED

 
Try to run the prepare phase again.
In my case, the prepare phase completed successfully.
 
If the prepare fails again, then abort the current patching cycle and run fs_clone to synchronize the file systems.
 
Abort the failed session:
adop phase=abort
 
Synchronize file systems:
adop phase=fs_clone

Back to Top