點擊上方藍字關注我們
在客戶現場進行oracle維護過程中,因為BUG、安全等方面原因進行opatch補丁升級時。但不同現場安裝、運行環境的不同、安全加固等原因,導致總是會遇到目錄權限、應用補丁后無法啟動、opatchapply到一半時窗口中斷的各種問題。下面我們介紹一些打補丁過程中的遇到的一些非常規操作技巧。
在AIX操作系統的RAC環境中,你是否遇到過在手動打補丁時一條命令1.5小時不結束的問題?如果是自動補丁更新時,消耗的時間可能會更長。雖然在集群環境中,滾動升級慢不影響數據庫對外提供服務,但是面對核心系統時,可操作的時間并不多,如果超時了,剩下的節點會有支撐不住高峰時期的訪問的問題。
排除了服務器的CPU、內存、I/O的問題,檢查opatch的操作日志,并沒有任何報錯信息。
如上圖所示,可以看出opatch是用java開發的。既然是jdk的環境,就有很大機率是SecureRandom性能問題,SecureRandom的性能問題通常的解決方案是使用
"-Djava.security.egd=file:/dev/./urandom"
加快隨機數產生過程。
進入$GI_HOME和$ORACLE_HOME的opatch目錄
cdjre/lib/security/
cd$ORACLE_HOME/OPatch
修改java.security文件
把securerandom.source=file:/dev/urandom修改為securerandom.source=file:/dev/./urandom
保存文件。
最終效果:opatchapply的命令時間由1.5小時下降為10分鐘。
眾所周知,oracle19.3版本的集群環境中,在opatch升級時,因為oraInventory/ContentsXML目錄下的oui-patch的權限問題,在打DBpatch時除了第一節點之外,均會有如下報錯:
手動打補丁報錯信息:
自動打補丁報錯信息:
Patch: /tmp/grid_path/30116789/30122149
Log: /u01/app/oracle/product/19.3.0/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2020-03-09_17-44-51PM_1.log
Reason: Failed during Patching: oracle.opatch.opatchsdk.OPatchException: ApplySession failed in system modification phase... ApplySession::apply failed: java.io.IOException: oracle.sysman.oui.patch.PatchException: java.io.FileNotFoundException: /u01/app/oraInventory/ContentsXML/oui-patch.xml (Permission denied)
After fixing the cause of failure Run opatchauto resume
]
OPATCHAUTO-68061: The orchestration engine failed.
OPATCHAUTO-68061: The orchestration engine failed with return code 1
OPATCHAUTO-68061: Check the log for more details.
OPatchAuto failed.
OPatchauto session completed at Mon Mar 9 17:45:31 2020
Time taken to complete the session 1 minute, 16 seconds
opatchauto failed with error code 42
當然如果oui-patch.xml文件在執行chmod+w 解決完權限問題之后,opatchautoresume可以自動執行,但是如果你是手動打補丁,權限問題解決之后并不能解決問題,并且不能回退,如下圖所示:
上述問題可以通過如下方法可以避免和解決:
a)、在開始打除了第一節點之外的DBpatch之前,就執行chmod+w
b)、安裝時加上applyPSU參數
c)、還原備份文件
d)、如果此時你也沒有備份,那能做的只有刪除再添加節點了。
下面介紹兩種非常規操作:
1)修改oui-patch.xml文件
cd $ORACLE_HOME/inventory/ContentsXML
cp oui-patch.xml oui-patch.xmlbak
vioui-patch.xml,搜索報錯的補丁號30894985,把下面的內容從
再次執行打補丁的命令,opatchsuccessfully。
在11.2、12.1.2版本中需要修改的文件是$ORACLE_HOME/inventory/ContentsXML/comps.xml文件
2)如果有超過2個節點以上的集群環境,可以從其它未打補丁的同樣目錄把oui-patch.xml文件拷貝到故障節點覆蓋文件,同樣可以解決問題。
上述方法同樣適用于打補丁過程中的窗口異常中斷問題。
在打補丁的過程中,如果遇到目錄和文件的權限問題,如果僅是有限幾個目錄和文件的權限問題,我們可以直接用chmod修復就可以,但如果遇到誤操作使/u01目錄下的文件異常,推薦使用oracle官方技術支持網站提議的兩篇文件進行修復。
1、Scriptto capture and restore file permission in a directory (for eg.ORACLE_HOME) (Doc ID 1515018.1)
2、Howto check and fix file permissions on Grid Infrastructure environment(Doc ID 1931142.1)
但針對第二個文章中的權限修復中,執行修復前建議先執行如下命令,因為crsconfig_fileperms、crsconfig_dirs文件中記錄的目錄和文件并不是/u01目錄下的全部目錄、文件。
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130017.html
集成安裝之Oracle12C補丁升級數據字典更新報錯處理 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...
摘要:延伸閱讀學習與實踐資料索引與前端工程化實踐前端每周清單半年盤點之篇前端每周清單半年盤點之與篇前端每周清單半年盤點之篇 前端每周清單專注前端領域內容,以對外文資料的搜集為主,幫助開發者了解一周前端熱點;分為新聞熱點、開發教程、工程實踐、深度閱讀、開源項目、巔峰人生等欄目。歡迎關注【前端之巔】微信公眾號(ID:frontshow),及時獲取前端每周清單;本文則是對于半年來發布的前端每周清單...
RAC補丁日常更新成功反遇異常處理 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; m...
摘要:本文分享自華為云社區使用技巧使用技巧,作者小聰不是小蔥。是一款開源的編輯器,擁有強大的功能,。由于擁有各種各樣的插件,這就使得可以做到的事情更多了。在使用的過程中,也是有很多技巧的,掌握一些技巧對于后期寫代碼也會輕松很多。 摘要:VsCode是一款開源的編輯器,擁有強大的功能,。由于擁有各...
摘要:今天小數給大家帶來的是數人云工程師金燁的分享,有關于自動快速部署服務相關組件的一些實踐。當與相遇,雙劍合璧,一切變得如此簡單有趣。通過將服務注冊到來做健康檢查。 今天小數給大家帶來的是數人云工程師金燁的分享,有關于自動快速部署DCOS服務相關組件的一些實踐。當Ansible與Docker相遇,雙劍合璧,一切變得如此簡單有趣。 本次分享將包括以下內容: 云平臺部署使用的服務、組件 Do...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20