說明:此次環境的patch p6880880_112000_Linux-x86-64.zip 和 p25476126_112040_Linux-x86-64.zip均放在/soft目錄,
且grid和oracle用戶對/soft目錄具有讀寫權限,全程只需要root用戶執行即可。
數據庫版本
11.2.0.4
PSU
11.2.0.4.20170418
GI 安裝目錄
/u01/app/11.2.0/grid
DB 安裝目錄
/u01/app/oracle/product/11.2.0/dbhome_1
注:以下操作均是由root 用戶兩節點分別執行
1. 替換OPatch
su - root
export GRID_HOME=/u01/app/11.2.0/grid
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
#替換grid的opatch
cd $GRID_HOME;mv OPatch OPatch.`date +%Y%m%d`
unzip /soft/p6880880_112000_Linux-x86-64.zip -d $GRID_HOME
chown -R grid:oinstall $GRID_HOME/OPatch
#替換database的opatch
cd $ORACLE_HOME;mv OPatch OPatch.`date +%Y%m%d`
unzip /soft/p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME
chown -R oracle:oinstall $ORACLE_HOME/OPatch
2.驗證opatch替換情況:
su - grid -c ' $ORACLE_HOME/OPatch/opatch version'
OPatch Version: 11.2.0.3.12
OPatch succeeded.
su - oracle -c ' $ORACLE_HOME/OPatch/opatch version'
OPatch Version: 11.2.0.3.12
OPatch succeeded.
3.解壓補丁到/soft目錄:
su - grid -c 'cd /soft ; unzip p25476126_112040_Linux-x86-64.zip'
4.沖突檢查
su - grid -c '$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/25476126 -oh $ORACLE_HOME'
su - oracle -c '$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /soft/25476126 -oh $ORACLE_HOME'
5.生成ocm.rsp文件
su - grid -c 'cd /soft; $ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner '
6.開始自動打PSU
root 用戶執行:
/u01/app/11.2.0/grid/OPatch/opatch auto /soft/25476126 -ocmrf /soft/ocm.rsp
# --注:如果dbca建庫了,上面腳本會同時把grid和database打上PSU,如果是新裝RAC還未建庫,則只會安裝grid的psu,database需要額外命令打上psu。
--打database psu 命令:
/u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch auto /soft/25476126 -oh /u01/app/oracle/product/11.2.0/dbhome_1 -ocmrf /soft/ocm.rsp
7.驗證安裝PSU結果:
su - grid -c '$ORACLE_HOME/OPatch/opatch lsinv'
su - oracle -c '$ORACLE_HOME/OPatch/opatch lsinv'
# -- 如果是新裝RAC,還未建庫,則下面操作無需進行。
8.運行腳本,應用psu
su - oracle -c 'sqlplus / as sysdba'<
@?/rdbms/admin/catbundle.sql psu apply
EOF
9.執行utlrp 腳本
su - oracle -c 'sqlplus / as sysdba'<
@?/rdbms/admin/utlrp.sql
EOF
10.驗證psu應用情況
su - oracle -c 'sqlplus / as sysdba'<
set line 150
col ACTION_TIME for a30
col ACTION for a8
col NAMESPACE for a8
col VERSION for a10
col BUNDLE_SERIES for a5
col COMMENTS for a20
select * from dba_registry_history;
EOF