一則opatch return with error code = 1錯誤故障解決

準備給客戶升級數據庫,下載最新的opath之後,解壓縮,查看當前的opatch補丁,但是卻出現報錯:

$ ./opatch lsinventory
Java could not be located. OPatch cannot proceed!
OPatch returns with error code = 1

百度搜索了一下,基本都是說java不對或者說ORACLE_HOME不對.但是我這裏的環境都是正確的.

檢查opatch的README發現有如下一段:

How to install the utility:
---------------------------

To install this patch, Please extract the file "zipped file" using unzip or winzip,
depending upon the platform. You should extract the zip file directly under the
ORACLE_HOME. Please follow the following steps for extracting the zip file of OPatch.

(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.

 

這裏客戶的環境爲HP-UX,由於系統沒有安裝unzip,所以使用的是java -jar來解壓縮,當時安裝oracle的時候,就發現用java -jar來解壓縮會出現權限的問題,導致無法運行圖形化安裝界面.那麼這裏也很可能是因爲解壓縮的方式不對導致.

根據實驗發現用java -jar來解壓縮,不能保持原來文件的權限,會導致各種奇怪的問題,所以必須使用unzip來解壓縮.

手工將OPath目錄賦予777權限後恢復正常,但是建議不要這麼做,這樣之後發現在打補丁的時候會出現一些chmod錯誤,所以建議還是先安裝unzip工具,進行解壓縮,再安裝補丁.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章