Monday, 21 May 2012

Scenario:

=========

While applying a big patch, suddenly it has been failed due to some prereq patch is missing.

Solution:

1. Shutdown the workers using "adctrl" utility.

a. adctrl 

-- It will ask some prompts and enter those


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_orig

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_orig 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;

No comments:

Post a Comment