Oracle Patch補丁體系和如何打補丁
Oracle作為大型商用關係型資料庫,從其補丁體系就可以看出其考慮的全面性。首先我們看下Oracle Patch的主要型別[參考1和2]:
Version/維護版本
針對前一個維護版本的所有補丁進行整理,增加新的功能或對軟體有較大的改動,進行整體測試,得到一個軟體版本”包”,稱為版本Version。比如 11.2。
One-off patches (e.g. a bug fix)
One-off patches也稱之為一次性補丁,通常針對特定的版本資料庫或執行平臺。此類補丁通常較小,使用的最為頻繁。One-off patch只需要用Opatch工具apply即可,不需要升級/修正資料字典。如在資料庫使用過程中出現某些異常後如較常見的ORA-00600、ORA-07445錯誤等可以通過一次性補丁來搞定。
Critical Patch Update (CPU)
簡稱CPU,一般來說CPU包含了Oracle產品安全漏洞的修復補丁集(set of security bug fix),通常一年釋出四期,一般是每季度提供一次的一組高優先順序修復程式(往往針對安全性問題),對於以前的安全性修復程式而言,這些CPU是累積的,只需要安裝最近最後一個就可以,它就包含了之前的所有CPU補丁,但也可包含其他修復程式,目的是解決與非安全性補丁之間的補丁衝突問題(即降低合併請求的必要性)。該類patch的安裝和安裝one-off patch一樣,同樣使用”opatch apply”命令來完成。安裝完成後應針對既有的資料庫(已經建立在使用的資料庫),應在資料庫級別執行資料字典升級指令碼。
Bundled patches (For Windows and Exadata only)
用於解決在Windows平臺無法利用替換共享庫檔案後relink的方式來更新Oracle binary,所以Oracle特別針對Windows釋出區別於Unix上Normal/Molecular CPU的CPU Bundle patch。通常情況下,Bundle Patch會別較大,Windows bundle patches通常每一個季度都會發布。
PSR(Patch Set Release)/Patch Set Update(PSU)
PSR就是大家常見的大補丁合集,通常1GB左右,也就是oracle版布號的第四位即為PSR號。也就是說oracle版布號的第四位會被修改。每一個PSR是都整合了之前的一些bug,並且經過了嚴格的測試,通常更新PSR風險相對較小。10.2,10.2.0.1.0是基礎發行版,至今已有五個PSR釋出,最新10.2的PSR為10.2.0.5.0。
PSU就是在每個PSR釋出之間的補丁,由於新舊PSR之間週期較長,而資料庫在執行期間難以保證不會出現新的bug,因此有了PSU。PSU是對於PSR的一個重要補充,每個PSU修改5位版本號的第5位。如,11.1版本升級為11.1.0.7.1;10.2版本為10.2.0.4.2。PSU包含CPU,所以建議儘量安裝PSU,PSU通常也是增量的,大部分PSU可以直接安裝,但有些PSU則必須要求安裝了上一 個版本的PSU之後才能繼續安裝,要仔細看各個PSU的Readme文件。PSU與CPU一樣,定期釋出,計劃一年釋出四次,釋出日期與CPU釋出日期相同。PSU同樣使用Opatch工具安裝/刪除,命令仍是apply和rollback。一個PSU可視作一個個別補丁,安裝和刪除操作同樣簡便。
[參考3]PSU有三個優勢,
(1) 低風險高價值,PSU包括:
- Critical technical issues with fixes that may affect a large number of customers and that are already proven in the field
- Critical Patch Update fixes
PSU不包括:
- Changes that require re-certification (for example, Database fixes that cause optimizer plan changes)
- Fixes that require configuration changes
每個PSU會限制包含bug fix的數量,一般在25到100個之間。會從使用者下載量最多,以及釋出的關鍵安全事件中選擇出這些補丁。資料庫PSU確保可以支援滾動RAC安裝。
(2) PSU會通過嚴格的測試,保證各種fix可以正常執行,不會互相影響。
(3) Oracle版本號的第五位是作為每個PSU的增量版本號。例如初始PSU版本號是11.1.0.7.1,第二個針對11.1.0.7的PSU版本號就是11.1.0.7.2。
實驗:
1.測試安裝如下PSU,
Bug 24006111 - 11.2.0.4.161018 (Oct 2016) Database Patch Set Update (DB PSU) (文件 ID 24006111.8)
選擇作業系統版本進行下載,進入目錄中執行opatch apply,
[[email protected] 24006111]$ /u01/app/oracle/11.2.0.4/dbhome_1/OPatch/opatch apply
Oracle Interim Patch Installer version 11.2.0.3.4
Copyright (c) 2012, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/oracle/11.2.0.4/dbhome_1
Central Inventory : /u01/app/oracle/oraInventory
from : /u01/app/oracle/11.2.0.4/dbhome_1/oraInst.loc
OPatch version : 11.2.0.3.4
OUI version : 11.2.0.4.0
Log file location : /u01/app/oracle/11.2.0.4/dbhome_1/cfgtoollogs/opatch/opatch2016-11-25_19-06-21PM_1.log
Verifying environment and performing prerequisite checks...
Prerequisite check "CheckMinimumOPatchVersion" failed.
The details are:
The OPatch being used has version 11.2.0.3.4 while the following patch(es) require higher versions:
Patch 17478514 requires OPatch version 11.2.0.3.5.
Patch 18031668 requires OPatch version 11.2.0.3.5.
Patch 18522509 requires OPatch version 11.2.0.3.5.
Patch 19121551 requires OPatch version 11.2.0.3.5.
Patch 19769489 requires OPatch version 11.2.0.3.5.
Patch 20299013 requires OPatch version 11.2.0.3.5.
Patch 20760982 requires OPatch version 11.2.0.3.5.
Patch 21352635 requires OPatch version 11.2.0.3.5.
Patch 21948347 requires OPatch version 11.2.0.3.5.
Patch 22502456 requires OPatch version 11.2.0.3.5.
Patch 23054359 requires OPatch version 11.2.0.3.5.
Patch 24006111 requires OPatch version 11.2.0.3.5.
Please download latest OPatch from My Oracle Support.
UtilSession failed: Prerequisite check "CheckMinimumOPatchVersion" failed.
Log file location: /u01/app/oracle/11.2.0.4/dbhome_1/cfgtoollogs/opatch/opatch2016-11-25_19-06-21PM_1.log
OPatch failed with error code 73
提示patch安裝需要OPatch的版本是11.2.0.3.5,使用OPatch version檢視當前版本是11.2.0.3.4,所以第一步需要升級OPatch。
[oracle@emrep11 ~]$ /u01/app/oracle/11.2.0.4/dbhome_1/OPatch/opatch version
OPatch Version: 11.2.0.3.4
OPatch succeeded.
2.升級OPatch,
如下選擇對應作業系統版本,下載OPatch,p17836989_112000_Linux-x86-64.zip,
補丁程式17836989: OPatch patch of version 11.2.0.3.5 for Oracle software releases 11.2.0.x (NOV 2013)
解壓縮,並複製至$ORACLE_HOME下,可以提前備份下舊版的OPatch。再執行OPatch version,
[oracle@emrep11 ~]$ /u01/app/oracle/11.2.0.4/dbhome_1/OPatch/opatch version
OPatch Version: 11.2.0.3.6
OPatch succeeded.
升級至11.2.0.3.6。
3.繼續安裝,
[[email protected] OPatch]$ cd 24006111/
[[email protected] 24006111]$ ls
17478514 18522509 19769489 20760982 21948347 23054359 patchmd.xml README.txt
18031668 19121551 20299013 21352635 22502456 24006111 README.html
[[email protected] 24006111]$ /u01/app/oracle/11.2.0.4/dbhome_1/OPatch/opatch apply
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/oracle/11.2.0.4/dbhome_1
Central Inventory : /u01/app/oracle/oraInventory
from : /u01/app/oracle/11.2.0.4/dbhome_1/oraInst.loc
OPatch version : 11.2.0.3.6
OUI version : 11.2.0.4.0
Log file location : /u01/app/oracle/11.2.0.4/dbhome_1/cfgtoollogs/opatch/opatch2016-11-25_20-00-58PM_1.log
Verifying environment and performing prerequisite checks...
Prerequisite check "CheckActiveFilesAndExecutables" failed.
The details are:
Following executables are active :
/u01/app/oracle/11.2.0.4/dbhome_1/bin/oracle
/u01/app/oracle/11.2.0.4/dbhome_1/lib/libclntsh.so.11.1
Prerequisite check "CheckActiveFilesAndExecutables" failed.
The details are:
Following executables are active :
/u01/app/oracle/11.2.0.4/dbhome_1/lib/libsqlplus.so
UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.Prerequisite check "CheckActiveFilesAndExecutables" failed.
Log file location: /u01/app/oracle/11.2.0.4/dbhome_1/cfgtoollogs/opatch/opatch2016-11-25_20-00-58PM_1.log
OPatch failed with error code 73
執行失敗,從錯誤資訊看,有下面三個可執行程式處於啟用狀態,
Following executables are active :
/u01/app/oracle/11.2.0.4/dbhome_1/bin/oracle
/u01/app/oracle/11.2.0.4/dbhome_1/lib/libclntsh.so.11.1
/u01/app/oracle/11.2.0.4/dbhome_1/lib/libsqlplus.so
需要停止這些啟用的可執行程式,首先查詢sqlplus,
[oracle@emrep11 24006111]$ ps -ef | grep sqlplus
oracle 14078 26354 0 20:02 pts/9 00:00:00 grep sqlplus
oracle 14578 14558 0 Jun24 pts/7 00:00:00 sqlplus as sysdba
[oracle@emrep11 24006111]$ kill -9 14578
[oracle@emrep11 24006111]$ ps -ef | grep sqlplus
oracle 14092 26354 0 20:02 pts/9 00:00:00 grep sqlplus
接下來需要關閉資料庫,以確保libclntsh.so.11.1停止,
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[[email protected] 24006111]$ /u01/app/oracle/11.2.0.4/dbhome_1/OPatch/opatch apply
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/oracle/11.2.0.4/dbhome_1
Central Inventory : /u01/app/oracle/oraInventory
from : /u01/app/oracle/11.2.0.4/dbhome_1/oraInst.loc
OPatch version : 11.2.0.3.6
OUI version : 11.2.0.4.0
Log file location : /u01/app/oracle/11.2.0.4/dbhome_1/cfgtoollogs/opatch/opatch2016-11-25_20-03-13PM_1.log
Verifying environment and performing prerequisite checks...
Prerequisite check "CheckActiveFilesAndExecutables" failed.
The details are:
Following executables are active :
/u01/app/oracle/11.2.0.4/dbhome_1/lib/libclntsh.so.11.1
UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.
Log file location: /u01/app/oracle/11.2.0.4/dbhome_1/cfgtoollogs/opatch/opatch2016-11-25_20-03-13PM_1.log
OPatch failed with error code 73
仍舊不行,說明仍有程序使用,嘗試關閉監聽,可參考這篇文章:《opatch error code 73: Prerequisite check “CheckActiveFilesAndExecutables” failed. (文件 ID 1942237.1)》
[[email protected] 24006111]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 25-NOV-2016 20:04:01
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=emrep11)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 07-JUL-2016 09:43:29
Uptime 141 days 10 hr. 20 min. 31 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/11.2.0.4/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/11.2.0.4/diag/tnslsnr/emrep11/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=emrep11)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "DCSOPEN" has 1 instance(s).
Instance "DCSOPEN", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[[email protected] 24006111]$ lsnrctl stop
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 25-NOV-2016 20:04:07
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=emrep11)(PORT=1521)))
The command completed successfully
此時再次執行opatch apply,
[[email protected] 24006111]$ /u01/app/oracle/11.2.0.4/dbhome_1/OPatch/opatch apply
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/oracle/11.2.0.4/dbhome_1
Central Inventory : /u01/app/oracle/oraInventory
from : /u01/app/oracle/11.2.0.4/dbhome_1/oraInst.loc
OPatch version : 11.2.0.3.6
OUI version : 11.2.0.4.0
Log file location : /u01/app/oracle/11.2.0.4/dbhome_1/cfgtoollogs/opatch/opatch2016-11-25_20-04-12PM_1.log
Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 17478514 18031668 18522509 19121551 19769489 20299013 20760982 21352635 21948347 22502456 23054359 24006111
Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name:
You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: Y
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/11.2.0.4/dbhome_1')
Is the local system ready for patching? [y|n]
Could not recognize input. Please re-enter.
y
User Responded with: Y
Backing up files...
Applying sub-patch '17478514' to OH '/u01/app/oracle/11.2.0.4/dbhome_1'
Patching component oracle.rdbms, 11.2.0.4.0...
Patching component oracle.rdbms.rsf, 11.2.0.4.0...
省略中間步驟
Verifying the update...
Composite patch 24006111 successfully applied.
Log file location: /u01/app/oracle/11.2.0.4/dbhome_1/cfgtoollogs/opatch/opatch2016-11-25_20-04-12PM_1.log
OPatch succeeded.
4.驗證安裝,
[[email protected] 24006111]$ /u01/app/oracle/11.2.0.4/dbhome_1/OPatch/opatch lsinv
Oracle Interim Patch Installer version 11.2.0.3.6
Copyright (c) 2013, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/oracle/11.2.0.4/dbhome_1
Central Inventory : /u01/app/oracle/oraInventory
from : /u01/app/oracle/11.2.0.4/dbhome_1/oraInst.loc
OPatch version : 11.2.0.3.6
OUI version : 11.2.0.4.0
Log file location : /u01/app/oracle/11.2.0.4/dbhome_1/cfgtoollogs/opatch/opatch2016-11-25_20-16-49PM_1.log
Lsinventory Output file location : /u01/app/oracle/11.2.0.4/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2016-11-25_20-16-49PM.txt
--------------------------------------------------------------------------------
Installed Top-level Products (1):
Oracle Database 11g 11.2.0.4.0
There are 1 product(s) installed in this Oracle Home.
Interim patches (1) :
Patch 24006111 : applied on Fri Nov 25 20:11:44 CST 2016
Unique Patch ID: 20508568
Patch description: "Database Patch Set Update : 11.2.0.4.161018 (24006111)"
Created on 26 Aug 2016, 05:54:48 hrs PST8PDT
Sub-patch 23054359; "Database Patch Set Update : 11.2.0.4.160719 (23054359)"
Sub-patch 22502456; "Database Patch Set Update : 11.2.0.4.160419 (22502456)"
Sub-patch 21948347; "Database Patch Set Update : 11.2.0.4.160119 (21948347)"
Sub-patch 21352635; "Database Patch Set Update : 11.2.0.4.8 (21352635)"
Sub-patch 20760982; "Database Patch Set Update : 11.2.0.4.7 (20760982)"
Sub-patch 20299013; "Database Patch Set Update : 11.2.0.4.6 (20299013)"
Sub-patch 19769489; "Database Patch Set Update : 11.2.0.4.5 (19769489)"
Sub-patch 19121551; "Database Patch Set Update : 11.2.0.4.4 (19121551)"
Sub-patch 18522509; "Database Patch Set Update : 11.2.0.4.3 (18522509)"
Sub-patch 18031668; "Database Patch Set Update : 11.2.0.4.2 (18031668)"
Sub-patch 17478514; "Database Patch Set Update : 11.2.0.4.1 (17478514)"
Bugs fixed:
17288409, 21051852, 24316947, 17811429, 18607546, 17205719, 20506699
17816865, 17922254, 23330119, 17754782, 16934803, 13364795, 17311728
17441661, 17284817, 16992075, 17446237, 14015842, 19972569, 21756677
17375354, 20925795, 21538558, 17449815, 19463897, 13866822, 17235750
17982555, 17478514, 18317531, 14338435, 18235390, 20803583, 13944971
20142975, 17811789, 16929165, 18704244, 20506706, 17546973, 20334344
14054676, 17088068, 17346091, 18264060, 17343514, 21538567, 19680952
18471685, 19211724, 13951456, 21847223, 16315398, 18744139, 16850630
23177648, 19049453, 18673304, 17883081, 19915271, 18641419, 18262334
17006183, 16065166, 18277454, 16833527, 10136473, 18051556, 17865671
17852463, 18554871, 17853498, 18334586, 17551709, 17588480, 19827973
17344412, 17842825, 18828868, 17025461, 11883252, 13609098, 17239687
17602269, 19197175, 22195457, 18316692, 17313525, 12611721, 19544839
18964939, 17600719, 18191164, 19393542, 17571306, 20777150, 18482502
19466309, 22243719, 17040527, 17165204, 18098207, 16785708, 17465741
17174582, 16180763, 16777840, 12982566, 19463893, 22195465, 22148226
16875449, 12816846, 17237521, 6599380, 19358317, 17811438, 17811447
17945983, 21983325, 18762750, 16912439, 17184721, 18061914, 17282229
18331850, 18202441, 17082359, 18723434, 21972320, 19554106, 14034426
18339044, 19458377, 17752995, 20448824, 17891943, 17258090, 17767676
16668584, 18384391, 17040764, 17381384, 15913355, 18356166, 14084247
20596234, 20506715, 21756661, 13853126, 18203837, 14245531, 16043574
21756699, 22195441, 17848897, 17877323, 21453153, 17468141, 20861693
17786518, 17912217, 17037130, 16956380, 18155762, 17478145, 17394950
18641461, 18189036, 18619917, 17027426, 21352646, 16268425, 24476274
22195492, 19584068, 18436307, 22507210, 17265217, 17634921, 13498382
21526048, 19258504, 20004087, 17443671, 22195485, 18000422, 22321756
20004021, 17571039, 21067387, 16344544, 18009564, 14354737, 21286665
18135678, 18614015, 20441797, 18362222, 17835048, 16472716, 17936109
17050888, 17325413, 14010183, 18747196, 17761775, 16721594, 17082983
20067212, 21179898, 17302277, 18084625, 15990359, 18203835, 17297939
17811456, 22380919, 16731148, 21168487, 14133975, 13829543, 17215560
17694209, 17385178, 18091059, 8322815, 17586955, 17201159, 17655634
18331812, 19730508, 18868646, 17648596, 16220077, 16069901, 17348614
17393915, 17274537, 17957017, 18096714, 17308789, 18436647, 14285317
19289642, 14764829, 18328509, 17622427, 16943711, 22195477, 14368995
22502493, 17346671, 18996843, 17783588, 21343838, 16618694, 17672719
18856999, 18783224, 17851160, 17546761, 17798953, 18273830, 22092979
16596890, 19972566, 16384983, 17726838, 22296366, 17360606, 22321741
13645875, 18199537, 16542886, 21787056, 17889549, 14565184, 17071721
17610798, 20299015, 21343897, 22893153, 20657441, 17397545, 18230522
16360112, 19769489, 12905058, 18641451, 12747740, 18430495, 17016369
17042658, 14602788, 17551063, 19972568, 21517440, 18508861, 19788842
14657740, 17332800, 13837378, 19972564, 17186905, 18315328, 19699191
17437634, 22353199, 18093615, 19006849, 19013183, 17296856, 18674024
17232014, 16855292, 17762296, 14692762, 21051840, 17705023, 22507234
19121551, 21330264, 19854503, 21868720, 19309466, 18681862, 20558005
18554763, 17390160, 18456514, 16306373, 13955826, 18139690, 17501491
17752121, 21668627, 17299889, 17889583, 18673325, 19721304, 18293054
17242746, 17951233, 18094246, 17649265, 19615136, 17011832, 16870214
17477958, 18522509, 20631274, 16091637, 17323222, 16595641, 16524926
18228645, 18282562, 17596908, 18031668, 17156148, 16494615, 22683225
17545847, 17655240, 24528741, 17614134, 13558557, 17341326, 17891946
17716305, 22657942, 16392068, 19271443, 21351877, 18092127, 17614227
18440047, 16903536, 14106803, 18973907, 18673342, 19032867, 17389192
17612828, 16194160, 17006570, 17721717, 17390431, 17570240, 16863422
18325460, 19727057, 16422541, 19972570, 17267114, 18244962, 21538485
18765602, 18203838, 16198143, 17246576, 14829250, 17835627, 18247991
14458214, 21051862, 16692232, 17786278, 17227277, 24476265, 16042673
16314254, 16228604, 16837842, 17393683, 23536835, 17787259, 20331945
20074391, 15861775, 16399083, 18018515, 22683212, 18260550, 21051858
17080436, 16613964, 17036973, 16579084, 24433711, 18384537, 18280813
20296213, 16901385, 15979965, 23330124, 18441944, 16450169, 9756271
17892268, 11733603, 16285691, 17587063, 21343775, 18180390, 16538760
18193833, 21387964, 21051833, 17238511, 17824637, 16571443, 18306996
14852021, 17853456, 18674047, 12364061, 22195448
--------------------------------------------------------------------------------
OPatch succeeded.
可以看出已安裝了相應的patch。
總結:
1.要了解Oracle Patch補丁體系中,各種型別補丁的關係、適用範圍,這樣才能在需要打補丁的時候選擇正確的補丁並完成安裝步驟了。
2.某些補丁要求最低的OPatch版本,OPatch的升級僅需要下載對應作業系統版本的OPatch壓縮包,直接解壓縮至$ORACLE_HOME即可,以防萬一可以備份之前的OPatch。
3.OPatch有一系列的命令引數,可以檢視幫助繼續瞭解,例如有些補丁可以不用停機,線上打使用online引數。
參考文章:
參考1:
http://blog.csdn.net/wenzhongyan/article/details/16858683
參考2:
http://blog.csdn.net/haiross/article/details/18620413
參考3:
Patch Set Updates for Oracle Products (文件 ID 854428.1)
參考4:
opatch error code 73: Prerequisite check “CheckActiveFilesAndExecutables” failed. (文件 ID 1942237.1)
參考5:
Quick Reference to Patch Numbers for Database PSU, SPU(CPU), Bundle Patches and Patchsets (文件 ID 1454618.1)
相關推薦
Oracle Patch補丁體系和如何打補丁
Oracle作為大型商用關係型資料庫,從其補丁體系就可以看出其考慮的全面性。首先我們看下Oracle Patch的主要型別[參考1和2]: Version/維護版本 針對前一個維護版本的所有補丁進行整理,增加新的功能或對軟體有較大的改動,進行整體測試,得到
diff和patch應用於提取差異和打補丁
and HERE link nor function small repeat col info 對開源或第三方代碼進行修改,我們需要將原始代碼和修改部分分別上傳.此時,需要先將修改的部分使用diff提取出來,記錄為patch文件.其他人使用時,下載原始代碼和patch文件
Linux下給核心或原始碼製作和打補丁操作命令--diff、patch
前言 在做開發的過程中難免需要給核心及下載的一些原始碼打補丁或者說是升級,所以我們學習在Linux下使用diff製作補丁以及如何使用patch打補丁顯得尤為重要。 diff與patch命令介紹 1、 diff命令 NAME diff - find differences between two files
svn diff 和patch的使用(打補丁簡潔命令)
生成diff檔案:svn diff > xxx.diff 生成 patch:同事 A 執行如下命令生成 patch:svn diff > aaa.patch應用 patch:同事 B 執行如下命令應用 patch:patch –p0 < ../aaa.patch當他 review 完程式碼,
CVE-2019-0708 BlueKeep的掃描和打補丁
簡介 CVE-2019-0708 BlueKeep是一個Windows遠端桌面服務的遠端程式碼執行漏洞,其危害程度不亞於CVE-
打補丁:linux中 的Diff和patch
diff和patch是一對工具,從數學上來講,diff是對兩個集合的差運算,patch是兩個集合的和運算。基本命令語法:patch [-R] {-p(n)} [--dry-run] < patch_file_name p:為path的縮寫。 n:指將patch
Linux下使用diff和patch製作及打補丁(已經實踐可行!)
簡單的說,diff的功能就是用來比較兩個檔案的不同,然後記錄下來,也就是所謂的diff補丁。語法格式:diff 【選項】 原始檔(夾)目的檔案(夾),就是要給原始檔(夾)打個補丁,使之變成目的檔案(夾),術語也就是“升級”。下面介紹三個最為常用選項: (adsbygoogle =
Centos打補丁解決intel的Spectre和Meltdown漏洞
ja1、配置最新的外網官方yum源2、uname -r && yum update3、reboot4、uname -r 參考:https://linuxhint.com/check-for-and-patch-spectre-and-meltdown-on-centos7/Centos打補
續:糾正:ubuntu【7.04】可以安裝,而且完美的安裝 ! for《Oracle-10.2.0.1,打補丁10.2.0.5:在 debian 版本4【不含4】以上,及 ubuntu 7.04【不含7.04】以上都可以安裝!》
etc ubun oracl poweroff ++ ldconfig red aio edi n次的測試後,最終證明,如下做法,可以完美安裝。 中間都不帶任何一個錯誤的!!!完美! dhclient vi /etc/profile ll cd /e
續:糾正:debian【4】可以安裝,而且完美的安裝 ! for《Oracle-10.2.0.1,打補丁10.2.0.5:在 debian 版本4【不含4】以上,及 ubuntu 7.04【不含7.04】以上都可以安裝!》
dia -- ftp rap 美的 power sshd oracle group 關鍵點: 21 ip a 22 ifconfig -a 23 dhclient 24 ifconfig -a 25 poweroff
oracle 11GR2 單機打補丁PSU 11.2.0.4.180717
上傳補丁包,修改許可權 su - oracle mdir /tmp/psu mv p6880880_112319_Linux-x86-64.zip /tmp/psu/mv databasepsu180717_112040_Linux-x86-64.zip /tmp/psusu - root cho
diff & patch 製作及打補丁(轉)
生成patch過程: 1. Git branch a 2. git checkout a 3. modify 4. git commit -am 5. git diff master > patch(生成標準patch)/git format-
如何使用patch命令打補丁
有時候因為條件限制,我們不能使用git倉庫進行程式碼的更新工作。 例如你需要更新伺服器的程式碼,一般的生產環境上面的程式碼是某個版本的程式碼而非整個git倉庫。 當你進行了一些開發,你需要將你的程式碼部
Linux下Patch補丁的生成與打補丁命令
之前在公司做專案的時候用到了在linux打補丁的技術(呵呵,其實也不是什麼技術說大了就是一條命令),感覺這個還是挺有用的,因為很多原廠都是給出原始碼基礎或是他們修改基礎上的補丁包都我們,讓我們自己打上去來更新一些程式碼的功能的。 一、打補丁最需要注意有以下兩點: 1、要打補
單機 Oracle 11g(11.2.0.4)手動打補丁PSU(11.2.0.4.8)
環境說明: database : 11.2.0.4 x64 os: centos6.7 x64 準備內容: OPatch : p6880880_112000_Linux-x86-64.zip DB PSU : p21352635_112040_Linux-x86-64
git生成patch,應用到rpmbuild 打補丁
git diff > test.patch git format-patch 不要再用diff命令 對比生成patch了,太土 centos下 rpm製作 執行環境 [root@localhost myrpm_build]# u
打補丁patch 命令使用
patch 命令用於打補丁,補丁檔案是使用diff產生的 patch 命令語法 patch [ -b [ -B Prefix ] ] [ -f ] [ -l ] [ -N ] [ -R ] [ -s ] [ -v ] [ -c | -e | -n ] [ -d
在Windows環境給Oracle打補丁
Oracle補丁一共分為如下幾步 1、配置環境變數 2、更新Opath 3、停用Oracle服務 4、打補丁 1、配置環境變數 (這裡可以不用設定環境變數,執行指令碼時採用絕對路徑) 設定ORACLE_HOME環境變數為Oracle的目錄,如果安裝到C盤,我的目錄是C:
今天打補丁出問題了,害得我組長被扣了1k獎金。
重新 mxd 玩遊戲 能夠 問題 做的 嚴重 時間 更新 今天是第三次給mxdw打補丁和打包,外加公司高管說有一個東西必須要今天之內搞定外放。 我當時問策劃為什麽這麽著急?策劃說大佬決定的(這種做事方式真的很不習慣)。我等屁民加班加點的搞事情,把功能搞出去了,結果打補丁的流
ansible控制windows主機群批量打補丁
自動化運維 ansible windows自動化運維 前一陣因為windows SMB協議漏洞,手動給windows打補丁,累覺不愛。研究後找出簡單方法,使用ansible進行批量化操作,避免人工的繁雜。windows補丁下載網站https://www.catalog.update.microso