1. 程式人生 > 其它 >Oracle 12C打補丁的簡單嘗試(r10筆記第55天)

Oracle 12C打補丁的簡單嘗試(r10筆記第55天)

最近在伺服器盤點的時候,發現測試環境還是值得整合一下,因為伺服器資源老舊,整體配置不高,伺服器資源使用率不高,業務要求不高,多個例項分散在多臺伺服器上,要考慮災備,要麼是每天全庫匯出異地備份要麼是Data Guard,其實還是蠻適合使用容器的方式來管理的。 之前整合過幾個測試環境,是整合到11g中,發現有幾個釘子戶實在沒法遷移了,因為幾個資料庫中的使用者名稱有重複的,同義詞也有重複的,處理起來就很糾結。所以最後就暫且放下,現在12c也有些年頭了,咱也得充分利用它的亮點特性不是。 測試整合的想法要付諸行動,還是要有一些測試演練的過程來印證 ,儘可能把影響降到最低,提高遷移的效率,而且也要與時俱進,那就是PSU了。 我的想法是打上最新的補丁,然後就可以在很長的一段時間內不用考慮版本更新的問題了,而且補丁裡面修復了大量的bug,也不用重新淌一遍哪些bug。在遷移的時候直接克隆安裝,也算是一步到位。 簡單檢視當前的版本情況。 [oracle@odb12c OPatch]$ ./opatch lsinventory Oracle Interim Patch Installer version 12.1.0.1.3 Copyright (c) 2016, Oracle Corporation. All rights reserved. Oracle Home : /U01/app/oracle/product/12c/db_1 Central Inventory : /U01/app/oraInventory from : /U01/app/oracle/product/12c/db_1/oraInst.loc OPatch version : 12.1.0.1.3 OUI version : 12.1.0.2.0 。。 Oracle Database 12c 12.1.0.2.0 There are no Interim patches installed in this Oracle Hom

e. 從以上的資訊可以看出,這個模擬測試的環境,資料庫軟體是裸奔狀態,沒有任何的補丁。來到MOS上下載即可,快捷方式是圖裡顯示的方式了。

搜尋過濾後得到的結果很清晰,就兩行記錄,選擇的是第一條。這個補丁是比較新的了。7月份的。

順著連結進來,就是一個標準的下載介面,簡單確認一下,就開始下載吧,這個補丁大概有200多M。下載的感覺就如同一個孩子目前和健康,但是還得給他打打疫苗。

下載花了些時間,打補丁的過程其實就很簡單了,關鍵就是apply這一步了。 常規的步驟如下: unzip p23054246_12102_.zip cd 23054246 opatch apply

三個步驟下來,不出意外幾分鐘就可以順利搞定。但是在我的這個場景中竟然還有問題。

這個錯誤讓我有些奇怪,查了下資料,發現是OPatch的版本過低導致。 這個步驟可以參考MOS的文件說明 How To Download And Install The Latest OPatch(6880880) Version (Doc ID 274526.1) 所以需要下載一個新版本的OPatch,順著連結裡提供的方式去操作,就能夠找到下面的連線了。下載相應的OPatch即可。

這個版本的更新是在8月份,絕對是跟得上時代了。 OPatch的處理可以檢視readme.txt,步驟還是老三件。官方的說明如下: (1) Please take a backup of ORACLE_HOME/OPatch into a dedicated backup location. (2) Please make sure no directory ORACLE_HOME/OPatch exist. (3) Please unzip the OPatch downloaded zip into ORACLE_HOME directory.

操作起來就很簡單了。備份,替換 [oracle@odb12c ~]$ cp -r /U01/app/oracle/product/12c/db_1/OPatch/ OPatch_bak [oracle@odb12c ~]$ rm -rf /U01/app/oracle/product/12c/db_1/OPatch [oracle@odb12c ~]$ mv OPatch /U01/app/oracle/product/12c/db_1 更新OPatch之後,檢視的結果就有了變化。 [oracle@odb12c OPatch]$ ./opatch lsinventory Oracle Interim Patch Installer version 12.2.0.1.7 Copyright (c) 2016, Oracle Corporation. All rights reserved. Oracle Home : /U01/app/oracle/product/12c/db_1 Central Inventory : /U01/app/oraInventory from : /U01/app/oracle/product/12c/db_1/oraInst.loc OPatch version : 12.2.0.1.7 OUI version : 12.1.0.2.0 然後再次嘗試apply的步驟,沒想到還是有一個報錯。

這個問題看起來有些奇怪,順著報錯來分析,其實就是監聽沒停掉,停掉監聽之後,再次嘗試apply操作。

螢幕不斷地輸出,最後提示一句 OPatch succeeded. 使用opatch lsinventory檢視就有了變化。

打補丁需要評估風險,膽大心細不為過。