You are on page 1of 2

Problem Description

~~~~~~~~~~~~~~~~~~~
Adpatch is running and fails on one of the workers. To fix this worker and
continue with the patch installation, a new patch needs to be applied.

Considering that only 1 adpatch session can run on an instance at any given
time, how can a patch be applied when adpatch is already running?

Solution Description
~~~~~~~~~~~~~~~~~~~~
1. Using the adctrl utility, shutdown the workers.
a. adctrl
b. Select option 3 "Tell worker to shutdown/quit"

2. Backup the FND_INSTALL_PROCESSES table which is owned by the APPLSYS


schema
a. sqlplus applsys/<password>
b. create table fnd_Install_processes_back
as select * from fnd_Install_processes;
c. The 2 tables should have the same number of records.
Select count (*) from fnd_Install_processes_back;
select count (*) from fnd_Install_processes;

3. Backup the AD_DEFERRED_JOBS table.


a. sqlplus applsys/<password>
b. create table AD_DEFERRED_JOBS_back
as select * from AD_DEFERRED_JOBS;
c. The 2 tables should have the same number of records.
Select count (*) from AD_DEFERRED_JOBS_back;
select count (*) from AD_DEFERRED_JOBS;

4. Backup the .rf9 files located in $APPL_TOP/admin/<SID>/restart directory.


At this point, the adpatch session should have ended and the cursor should
be back at the Unix prompt.
a. cd $APPL_TOP/admin/<SID>
b. mv restart restart_back
c. mkdir restart

5. Drop the FND_INSTALL_PROCESSES table and the AD_DEFERRED_JOBS table.


a. sqlplus applsys/<password>
b. drop table FND_INSTALL_PROCESSES;
c. drop table AD_DEFERRED_JOBS;

6. Apply the new patch.

7. Restore the .rf9 files located in $APPL_TOP/admin/<SID>/restart_back


directory.
a. cd $APPL_TOP/admin/<SID>
b. mv restart restart_<patchnumber>
c. mv restart_back restart

8. Restore the FND_INSTALL_PROCESSES table, which is owned by the


APPLSYS
schema.
a. sqlplus applsys/<password>

b. create table fnd_Install_processes


as select * from fnd_Install_processes_back;
c. The 2 tables should have the same number of records.
select count (*) from fnd_Install_processes;
select count (*) from fnd_Install_processes_back;

9. Restore the AD_DEFERRED_JOBS table.


a. sqlplus applsys/<password>
b. create table AD_DEFERRED_JOBS
as select * from AD_DEFERRED_JOBS_back;
c. The 2 tables should have the same number of records.

select count(*) from AD_DEFERRED_JOBS_back;


select count(*) from AD_DEFERRED_JOBS;
10. Re-create synonyms
a. sqlplus apps/apps
b. create synonym AD_DEFERRED_JOBS for APPLSYS.AD_DEFERRED_JOBS

;
c. create synonym FND_INSTALL_PROCESSES FOR
APPLSYS.FND_INSTALL_PROCESSES;
11. Start adpatch, it will resume where it stopped previously.

You might also like