在Windows環境給Oracle打補丁
Oracle補丁一共分為如下幾步
1、配置環境變數
2、更新Opath
3、停用Oracle服務
4、打補丁
-
1、配置環境變數 (這裡可以不用設定環境變數,執行指令碼時採用絕對路徑)
設定ORACLE_HOME環境變數為Oracle的目錄,如果安裝到C盤,我的目錄是C:\app\Administrator\product\11.2.0\dbhome_1 -
2、更新OPath
OPatch是Oracle的一個更新補丁的程式,我們先把它更新到最新版本(我拿到的補丁檔案中有OPatch的更新檔案,所以我更新了OPatch,據說有些補丁要求的OPatch比較新,如果用老版OPatch打補丁可能會失敗)
OPatch就在Oracle的目錄中,有個OPatch目錄
我的是
C:\app\Administrator\product\11.2.0\dbhome_1\OPatch
可以先檢視下OPatch版本
cmd視窗進入目錄然後執行opatch version
將最新版的OPatch檔案拷貝到上面的目錄,替換檔案,然後可以在執行版本看下
這樣就完成了OPatch的更新,其實就是替換檔案
-
停用Oracle服務
打補丁之前需要先停用Oracle服務,可以在Windows服務視窗將所有Oracle開頭的服務都停止掉(我當時停完了執行更新報了一個錯誤“”CheckActiveFilesAndExecutables” failed.”,這個錯誤是由於有正在使用的檔案阻止了更新,這是因為我在本機運行了SQLDeveloper,它會使用Oracel一個檔案,先重啟下伺服器,再停止Oracle服務就好了) -
打補丁
我把補丁資料夾放到了桌面上,路徑是C:\Users\Administrator\Desktop\21104036
先使用cmd視窗進入這個目錄,然後執行命令
%ORACLE_HOME%/OPatch/opatch apply
這裡執行了OPatch裡面的命令,用了環境變數,估計如果不配置環境變數這裡寫絕對目錄應該也可以,不過我當時配置了,就這樣運行了 (或者執行命令C:/app/Administrator/product/11.2.0/dbhome_1/OPatch/opatch apply)
按照嚮導一路按Y,回車就行了
最後這樣就完成了
我們可以在用cmd進入OPatch目錄,執行 opatch lsinventory,檢視下打的補丁號,驗證下
可以看到第一個補丁號就是我們剛打的
這樣打補丁操作就完成了
最後一步啟動資料庫相關服務,如果有多個例項在每個例項下執行下面的指令碼
sqlplus / AS SYSDBA
@C:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\catbundle.sql psu apply
Quit
參考文件:http://blog.csdn.net/willjgl/article/details/53007188