1.先替換掉OPatch軟件
每個實例都要運行
GRID_HOME和ORACLE_HOME的OPatch目錄都去除掉
把OPatch軟件p6880880_112000_Linux-x86-64.zip解壓出來
分別cp到GRID_HOME和ORACLE_HOME,注意將OPatch目錄權限修改正確 chown -R xxx
查看opatch軟件的版本號
$GRID_HOME/OPatch/opatch version
$ORACLE_HOME/OPatch/opatch version
2.建立rsp文件用來自動打補丁
每個實例都要運行
su - grid
$GRID_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output ~/grid_ocm.rsp
chmod 777 grid_ocm.rsp
su – oracle
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output ~/oracle_ocm.rsp
chmod 777 oracle_ocm.rsp
以上不需要提供email並選擇yes忽略,這樣就分別在oracle、grid用戶下建立了rsp文件。
3.把p19380115_112040_Linux-x86-64.zip補丁集包解壓
里面包含了grid和rdbms的補丁集
將解壓的19380115文件夾放到grid和oracle都能訪問的地方,19380115目錄權限改成 777
開始打補丁,都需要在root下運行
每個節點先打grid的補丁,所有節點打完之后打rdbms的補丁
root執行
/app/crs_home/OPatch/opatch auto /app/19380115 -oh /app/crs_home -ocmrf /home/grid/grid_ocm.rsp
所有實例都執行完
root執行
/app/oracle/11g/OPatch/opatch auto /app/19380115 -oh /app/oracle/11g -ocmrf /home/oracle/oracle_ocm.rsp
再所有實例執行
4.如果已經有數據庫,升級數據庫
su - oracle
sqlplus / as sysdba
sql> startup
sql> @?/rdbms/admin/catbundle.sql psu apply
5.驗證補丁集結果
su - grid
$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/OPatch/opatch lsinventory
su - oracle
$ORACLE_HOME/OPatch/opatch lspatches
$ORACLE_HOME/OPatch/opatch lsinventory
set linesize 300
col action_time for a30
col version for a15
col id for 99
col action for a10
col namespace for a10
col COMMENTS for a20
col BUNDLE_SERIES for a15
select * from registry$history;
6.rollback補丁
rollback補丁gi和rdbms的
每個節點都執行
/app/crs_home/OPatch/opatch auto /app/19380115 -rollback -ocmrf /home/grid/grid_ocm.rsp
rollback數據庫字典的
su - oracle
sqlplus / as sysdba
sql> startup
sql> @?/rdbms/admin/catbundle.sql psu noapply
然后執行生成的rollback的sql