成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Oracle補(bǔ)丁就該這么打

IT那活兒 / 3433人閱讀
Oracle補(bǔ)丁就該這么打
[
補(bǔ)丁集下載
]


oracle打補(bǔ)丁最常見原因?yàn)閎ug修復(fù)或安全迎檢漏洞修復(fù)需要打到最新的補(bǔ)丁版本。下文的經(jīng)驗(yàn)之談是基于rac環(huán)境,19c版本的最新補(bǔ)丁集的過程分享。

可以參考《Assistant:Download Reference for Oracle Database/GI Update, Revision, PSU,SPU(CPU), Bundle Patches, Patchsets and Base Releases (Doc ID2118136.2)》來下載補(bǔ)丁集,打開的頁面中,我們可以選擇下載db的基礎(chǔ)版本,db補(bǔ)丁集和ojvm的補(bǔ)丁集等。



下圖是基于19c版本今年7月份發(fā)布的19.8的補(bǔ)丁集。DatabaseUpdate只包含db補(bǔ)丁包,GIUpdate則既包含GI的補(bǔ)丁包也包含db的補(bǔ)丁包,具體的可以按需來進(jìn)行下載。


[
關(guān)于備份
]


軟件的備份:備份重于一切,這是我們做變更的基礎(chǔ),一定要給自己留后路。在做補(bǔ)丁更新前,我們必須需對oracle軟件進(jìn)行備份(GI和DB)。


以下給出命令示例:

--關(guān)閉集群CRS,各個(gè)節(jié)點(diǎn)依次關(guān)閉

su – oracle

srvctl stop database -d xxxx ==>手工停所有節(jié)點(diǎn)實(shí)例

su - root

crsctl stop crs

crsctl start crs ==》該步驟選做,驗(yàn)證crs能否正常啟動(dòng)

crsctl stop crs

ps -ef | grep grid ==> 有進(jìn)程kill掉

ps -ef | grep oracle ==> 有進(jìn)程kill掉


--備份各節(jié)點(diǎn)軟件目錄

su - root

tar -zcvf /u01/oracle20200813.tar /u01/app/* -p -P ==>可以多帶帶對GI和DB的軟件目錄進(jìn)行備份。這里為了方便操作對整個(gè)目錄進(jìn)行備份。備份前注意清理小文件(audit,trace等)


--還原

--停掉crs服務(wù)

--解tar

cd /u01

mv app appbak

tar -xvf  /u01/oracle20200813.tar -C /u01/


DB信息的備份

>>>>使用grid用戶檢查當(dāng)前GI的補(bǔ)丁情況,監(jiān)聽狀態(tài)

crsctl status res -t > /home/grid/crs.txt

$ORACLE_HOME/OPatch/opatch lsinventory >> /home/grid/grid_patch.txt

$ORACLE_HOME/OPatch/opatch lsinv -detail -oh $ORACLE_HOME >> /home/grid/grid_patch.txt

$ORACLE_HOME/OPatch/opatch lspatches >> /home/grid/grid_patch.txt

lsnrctl status >> /home/grid/crs.txt



>>>>使用oracle用戶檢查當(dāng)前oracle的補(bǔ)丁情況

su - oracle

$ORACLE_HOME/OPatch/opatch lsinventory > /home/oracle/oracle_patch.txt

$ORACLE_HOME/OPatch/opatch lsinv -detail -oh $ORACLE_HOME >> /home/oracle/oracle_patch.txt

$ORACLE_HOME/OPatch/opatch lspatches >> /home/oracle/oracle_patch.txt


>>>>使用oracle用戶,在其中一個(gè)節(jié)點(diǎn)登錄到所有實(shí)例當(dāng)中進(jìn)行查詢,記錄補(bǔ)丁、無效對象相關(guān)信息

sqlplus / as sysdba

spool /home/oracle/db0813.txt

set lines 200 pages 2000;

show parameter name;

col comp_id for a20;

col version for a20;

col status for a30;

select comp_id,version,status from dba_registry;

select owner,object_type,object_name from dba_objects where status<>VALID;

select patch_id,patch_uid,status,action_time from dba_registry_sqlpatch;

spool off


[
關(guān)于OPtach工具
]


主要調(diào)用該工具OPatchAuto和Datapatch這2個(gè)命令。簡單的可以理解為OPatchAuto更新軟件相關(guān)文件,Datapatch用于更新數(shù)據(jù)庫字典(dba_registry_sqlpatch)。


詳細(xì)的信息我們可以參考如下文章:

Datapatch:Database 12c or later Post Patch SQL Automation (Doc ID 1585822.1)

DatapatchUser Guide (Doc ID 2680521.1)


[
關(guān)于readme
]


該文件為補(bǔ)丁說明書,必讀項(xiàng)??梢栽谙螺d補(bǔ)丁包或者在下載頁面的ReadMe的按鈕(如下圖)里找到。



下面提取今年7月份發(fā)布的19.8的GI補(bǔ)丁集的readme中的關(guān)鍵主題來分析下:


ADG是否可以先更打

readme中會(huì)有明確的字眼提示adg是否可以先更打,如下圖:



補(bǔ)丁集信息

下圖中有4個(gè)patchnumber,其中GI_HOME都要更打,DB_HOME只要更打2個(gè)。從這里大致應(yīng)該就能估算出打GI補(bǔ)丁的時(shí)間要比DB補(bǔ)丁多一半,可以估算出要停機(jī)的時(shí)間。


OPatch 工具信息

Readme中會(huì)有明確的字眼要求OPatch的最低版本,如下圖:

參考該文章來下載需要的opatch工具:MasterNote For OPatch (Doc ID 293369.1)


補(bǔ)丁沖突檢測

Readme中給出具體命令,如下圖,我們補(bǔ)全拿到環(huán)境中執(zhí)行就行。


我們主要關(guān)注跑出來的結(jié)果,如果提示成功沒報(bào)錯(cuò),那這一環(huán)節(jié)就可以不做處理。如果有報(bào)錯(cuò),那就需要提前準(zhǔn)備解決方案,比如下面這個(gè)示例:

注:運(yùn)行該命令對現(xiàn)有環(huán)境不影響,需要提前執(zhí)行,以便有報(bào)錯(cuò)提前準(zhǔn)備解決方案,避免和維護(hù)窗口時(shí)間沖突。


空間檢測

提前檢查空間是否足夠,如下圖,我們補(bǔ)全拿到環(huán)境中執(zhí)行就行。


沖突檢查解決方案

這里的沖突可以是小補(bǔ)丁和小補(bǔ)丁之間的沖突,也可以是小補(bǔ)丁和補(bǔ)丁集之間的沖突。有2個(gè)解決思路,一個(gè)是提SR申請沖突小補(bǔ)丁的merge補(bǔ)丁,這個(gè)等待時(shí)間可能比較久。另外一個(gè)思路,就是更打較新的補(bǔ)丁集,一般最新發(fā)布的補(bǔ)丁集都會(huì)包含之前小補(bǔ)丁,那這塊就需要拿補(bǔ)丁集去確認(rèn)了。


小補(bǔ)丁和補(bǔ)丁集之間的沖突:這塊處理起來比較方便,比如說當(dāng)前安裝的是4月份補(bǔ)丁集,我們現(xiàn)在要更打到7月份的補(bǔ)丁集。那現(xiàn)在可以將4月份補(bǔ)丁集上的小補(bǔ)丁先回滾掉,待7月份的補(bǔ)丁集更打完成后,再更打基于7月份補(bǔ)丁集的這個(gè)小補(bǔ)丁。


Opatchauto

使用opatchauto命令去更打補(bǔ)丁,一般GI和DB都分開更打??梢愿鶕?jù)readme中提供命令進(jìn)行補(bǔ)全(如下圖),整合出適合自己環(huán)境的命令。


以下給出命令示例:

>>>GI各個(gè)節(jié)點(diǎn)依次執(zhí)行打補(bǔ)丁命令

# /u01/app/19.0.3/grid/OPatch/opatchauto apply /u01/software/patch2020/31305339 -oh /u01/app/19.0.3/grid

>>>DB各個(gè)節(jié)點(diǎn)依次執(zhí)行打補(bǔ)丁命令

#/u01/app/oracle/product/19.0.3/dbhome_1/OPatch/opatchauto apply /u01/software/patch2020/31305339  -oh /u01/app/oracle/product/19.0.3/dbhome_1


Loading Modified SQL Files into the Database

關(guān)于數(shù)據(jù)字典更新操作,根據(jù)補(bǔ)丁的readme中提供的命令補(bǔ)全即可:


下圖是補(bǔ)丁集更打后的操作:


下圖是OJVM補(bǔ)丁更打后的操作:


以下命令是補(bǔ)丁集+OJVM的數(shù)據(jù)字典更新(也是說只跑一次datapatch)的示例(adg端不跑),更參考:

####Loading Modified SQL Files Into the Database

sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> STARTUP nomount

SQL> alter system set cluster_database=false scope=spfile;

SQL> shutdown immediate


sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> STARTUP UPGRADE

SQL> exit


$ cd $ORACLE_HOME/OPatch

$ ./datapatch -verbose


sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> alter system set cluster_database=true scope=spfile;

SQL> SHUTDOWN immedite


$srvctl start database -db xxx


[
關(guān)于troubleshotting
]


其實(shí)做好前期準(zhǔn)備工作,基本是成功的幾率就很高了,如果還有報(bào)錯(cuò),可能就是遇到bug或者其他問題了。那就只能臨時(shí)去找解決方案了,如果最終拖的時(shí)間比較長,維護(hù)窗口時(shí)間有限,最后也就只能回退了。分享2個(gè)簡單報(bào)錯(cuò)示例:下圖是一個(gè)進(jìn)程占用報(bào)錯(cuò)的示例,可以通過fuser命令來確認(rèn)占用進(jìn)程,kill掉就行:


下圖是一個(gè)節(jié)點(diǎn)間互信問題的報(bào)錯(cuò)示例:


[
總結(jié)
]


做好打補(bǔ)丁前準(zhǔn)備工作,工作量就已完成了大半。這里粗略做以下總結(jié):

  • 備份重于一切,一定要對軟件進(jìn)行備份。

  • 集群間通信檢查,確認(rèn)命令為:crsctl check cluster -all

  • grid、oracle節(jié)點(diǎn)間互信檢查

  • 補(bǔ)丁包權(quán)限檢查、opatch版本檢查、補(bǔ)丁沖突檢查

  • 臨時(shí)問題解決要依托第一案場“證據(jù)”順藤摸瓜

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/130146.html

相關(guān)文章

  • 集成安裝之Oracle12C補(bǔ)丁升級(jí)數(shù)據(jù)字典更新報(bào)錯(cuò)處理

    集成安裝之Oracle12C補(bǔ)丁升級(jí)數(shù)據(jù)字典更新報(bào)錯(cuò)處理 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...

    IT那活兒 評論0 收藏795
  • RAC補(bǔ)丁日常更新成功反遇異常處理

    RAC補(bǔ)丁日常更新成功反遇異常處理 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; m...

    IT那活兒 評論0 收藏2488
  • 除了Oracle JDK,我們還有哪些選擇?

    摘要:就在昨天,發(fā)布了新版的我相信很多開發(fā)人員沉溺在編碼的樂趣中,還沒注意到相關(guān)消息。 就在昨天,Oracle發(fā)布了新版的JDK 11,我相信很多Java開發(fā)人員沉溺在編碼的樂趣中,還沒注意到相關(guān)消息。 在2017年9月份,Oracle官網(wǎng)發(fā)布了一則博客https://blogs.oracle.com/java... 總結(jié)來說,主要內(nèi)容涉及到: 調(diào)整JAVA SE的版本發(fā)布計(jì)劃節(jié)奏;從JAV...

    李世贊 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<