1. 程式人生 > >在Windows環境給Oracle打補丁

在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檔案拷貝到上面的目錄,替換檔案,然後可以在執行版本看下
    更新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