Docker下Oracle12C安裝PSU補丁

Oracle CPU的全稱是Critical Patch Update, Oracle對於其產品每個季度發行一次安全補丁包,通常是爲了修復產品中的安全隱患。

Oracle PSU的全稱是Patch Set Update,Oracle對於其產品每個季度發行一次的補丁包,包含了bug的修復。Oracle選取被用戶下載數量多,且被驗證過具有較低風險的補丁放入到每個季度的PSU中。在每個PSU中不但包含Bug的修復而且還包含了最新的CPU。PSU通常隨CPU一起發佈。

一、安裝最新OPatch

當前Oracle版本爲

根據公司DBA給的三個補丁包:OPatch、數據庫補丁、OJVM Patch

雖然一臉懵逼,對數據庫瞭解很少,但是還是含着淚裝下去。。

先把OPatch升級,當前可見上圖,爲12.1.0.1.3,包中爲12.0.1.10

首先應該關閉數據庫服務,關閉監聽

# 關閉數據庫,使用SQLplus登錄
sqlplus /nolog
connect sys/oracle as sysdba
shutdown normal
# 使用username/password@service登錄進行關閉會提示沒有權限

# 關閉監聽,退出SQLplus回到Oracle容器中
cd $ORACLE_HOME/bin
lsnrctl stop
lsnrctl status

在ORACLE_HOME下使用OPatch/opatch version查看OPatch版本,與第一個圖中版本吻合

進入ORACLE_HOME將OPatch備份

# 新建OPatch_bak文件並將OPatch移到OPatch_bak中
mv OPatch OPatch_bak

保證OPatch已不存在,將補丁複製到ORACLE_HOME下

在Docker路徑下使用xftp比較難找,因爲其下文件較多(因爲有幾次安裝失敗的經歷)

參考我的路徑

/var/lib/docker/overlay2/ce41d80b81d5160e26c3e5017c4cf95ad429603e9023d27fc593b497de9134d5/merged/u01/app/oracle-product/12.1.0/xe

建議使用命令在使用的Oracle容器中新建一個文件,方便分辨

#查看
$ORACLE_HOME/OPatch/opatch version
#出現bash: ./opatch: Permission denied,進入ORACLE_HOME/OPatch對opatch文件修改權限
cd $ORACLE_HOME/OPatch
chmod +x opatch
#直接在該$ORACLE_HOME/OPatch路徑下查看
./opatch version

到此OPatch的補丁安裝完畢,後面倆補丁繼續踩坑

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