Thursday, March 31, 2011


Scenario:


=========


When you are applying a Big patch which will take around 10 hrs. Now 5 hrs of the patch has been completed and now errored out due to some pre req patch. So now we can follow the steps given below and the resume the remaining part of the patch.


Solution:


1. Using the adctrl utility, shutdown the workers.


a. adctrl


b. Select option "Tell worker to shutdown/quit"



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



a. sqlplus applsys/


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/


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/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/


b. mv restart restart_back


c. mkdir restart



5. Drop the FND_INSTALL_PROCESSES table and the AD_DEFERRED_JOBS table.



a. sqlplus applsys/


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//restart_back directory.



a. cd $APPL_TOP/admin/


b. mv restart restart_


c. mv restart_back restart



8. Restore the FND_INSTALL_PROCESSES table which is owned by the APPLSYS schema.



a. sqlplus applsys/


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/passwd


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.

No comments: