Oracle On Demand(OOD)项目中EBS打补丁的详细步骤


EBS patching steps in Oracle On Demand(OOD) projects

#check if patch applied & count of invalid objects, create invalids table & replace 7777777 with patch number
select name,user from v$database;
select BUG_NUMBER, LAST_UPDATE_DATE, success_flag from ad_bugs where bug_number=xxx;
create table apps.invalids_13jul12_7777777 as select * from dba_objects where status='INVALID';
select count(*) from dba_objects where status='INVALID';

#copy patch to stage area
cp /tmp/pxxx.zip /dxxx1i/applcsf

#unzip patch zip
unzip pxxx.zip

#check if all prerequisites meet, such as merge or prerequisite patch need
view readme


#switch user

pbrun impdba -u apdxxx1i

#list all available targets on host
/usr/local/git/bin/em-blackout-cmd -s

#list all active blackouts on host, if there's already active blackouts on specific instance, it means other people have already booked this time slot
/usr/local/git/bin/em-blackout-cmd -o list

#blackout APP node
/usr/local/git/bin/em-blackout-cmd -o start -t "DXXX1I" -r 2 -d <2h> -u <apdxxx1i> -c patch_num

#blackout DB node
 /usr/local/git/bin/em-blackout-cmd -o start -t full  -r 2 -d <2h> -u <ordxxx1i> -c patch_num

#stop all app service($ADMIN_SCRIPT_HOME), make sure no errors except timeout relative issue.

adstpall.sh apps/apps

#wait several minutes till all FNDLIBR process quit
ps -ef | grep FNDLIBR | grep dxxx1i

#enable maintence mode
adadmin

#cd patch directory & patch, logfile name format patchnum_13jul12.log
adpatch

#check log see if any errors, seach error
view patchnum_13jul12.log
/error

##check if patch applied & count of invalid objects, drop invalids table if no more invalids
select name,user from v$database;
select BUG_NUMBER, LAST_UPDATE_DATE, success_flag from ad_bugs where bug_number=xxx;
select object_name,object_type,owner,LAST_DDL_TIME from dba_objects where status='INVALID' and object_name||object_type||owner not in (select object_name||object_type||owner from apps.invalids_13jul12_7777777);
select count(*) from dba_objects where status='INVALID';
drop table apps.invalids_13jul12_7777777;

#disable maintence mode
adadmin

#start all app service($ADMIN_SCRIPT_HOME), make sure no errors except timeout relative issue.
adstrtal.sh apps/apps

#disable blackout(APP&DB)
#list all active blackouts on host
/usr/local/git/bin/em-blackout-cmd -o list
#Stop blackout
/usr/local/git/bin/em-blackout-cmd -o stop -n <blackout name from above command>


#health check

login instance from frontend, switch to Application Administrator responsibility, submit Active User request, check output.

相关内容