1. 程式人生 > >Oracle補丁方面的知識

Oracle補丁方面的知識

一.oracle版本命名規則定義如下:
A.B.C.D
其中第一位A表示大版本號,第二位表示小版本號,前兩位合稱主版本號;如10.2、11.2、12.2。
對於資料庫產品而言,第三為C永遠為0,該位是給其他ORACLE資料庫產品使用的。第四位則表示補丁集(Patche Set)號,例如11.2.0.1、11.2.0.4、12.1.0.1、12.2.0.1等。
二.補丁集
1.CPU(Critical Patch Update)修復安全方面的一些補丁,已經更名為 SPU(Security Patch Update),按季累計更新。

2.PSU (Patch Set Update):修復比較嚴重的一些問題,包含每季的CPU,是累積型的。雖然在描述PSU的時候會用到資料庫版本第5位,比如Database PSU 11.2.0.3.5,但實際上打完PSU後並不會真正改變資料庫的版本,從v$version中看到的版本還是4位的(11.2.0.3.0),第5位仍然是0。

3.Windows上沒有CPU和PSU,而是有Windows Bundle Patch及其具體補丁號。

4.Oracle的叢集軟體和資料庫軟體使用不同的PSU。
三.打補丁(我以叢集環境為例)
1.首先生成響應檔案,安裝補丁時需要
grid使用者執行
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -output /tmp/psu.rsp
root使用者,保留grid環境變數(. /home/grid/.bash_profile),執行:
opatch auto /tmp/soft_oracle/21523375 -ocmrf /tmp/psu.rsp
2.資料庫PSU(在一個節點執行即可):
當psu不包含dbpsu時,在oracle使用者環境變數下使用如下命令
opatch lsinventory|grep -i applied
沒有返回記錄,證實未打上資料庫PSU補丁,需要執行如下命令:
cd /oratools/sw/21352635
opatch prereq CheckConflictAgainstOHWithDetail -ph ./
opatch apply
詳細安裝:隨下載的補丁會有個README.html的檔案,該檔案有補丁資訊的介紹、補丁工具要求、安裝、回滾操作等介紹。

附錄:CPU所修復的具體問題:
http://www.oracle.com/technetwork/topics/security/alerts-086861.html