Oracle patch也即是Oracle補丁。Oracle補丁又包含好幾個種類,小的補丁簡直是難以數計,難免讓人眼花缭亂。盡管如此,Oracle patch還是有序可循的。而且Oracle提供的opatch工具非常方便的用於安裝oracle patch,以及查看當前系統已經安裝的patch。本文列出了patch的幾種類型,以及主要描述通過opatch工具查看當前數據庫的patch應用的情況。對於如何apply patch可參考Oracle官方文檔。
1、Oracle patch類型
Critical Patch Update (CPU)
Bundled patches (For Windows and Exadata only)
PSR(Patch Set Release)/Patch Set Update(PSU)
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 Oracle 為我們提供了用於patch安裝、回退、管理與追蹤的工具opatch,該工具為命令行工具,簡單易用,可以根據opatch的幫助命令來獲取幫助信息 #獲得opatch的幫助信息 [oracle@linux1 OPatch]$ ./opatch -help Invoking OPatch 11.1.0.6.6 #opatch的版本 Oracle Interim Patch Installer version 11.1.0.6.6 Copyright (c) 2009, Oracle Corporation. All rights reserved. Usage: opatch [ -help ] [ -r[eport] ] [ command ] command := apply #安裝patch lsinventory #查看所有已安裝的patch napply #用於Apply a set of patches at a time nrollback #用於Rollback a set of patches at a time rollback #Rollback an existing one-off patch indicated by the reference-id query version prereq #用於檢查安裝patch之前的先決條件 util <global_arguments> := -help Displays the help message for the command. -report Print the actions without executing. example: #可以通過下面的方式來查看每一個具體命令的用法 'opatch -help' 'opatch apply -help' 'opatch lsinventory -help' 'opatch napply -help' 'opatch nrollback -help' 'opatch rollback -help' 'opatch prereq -help' 'opatch util -help' OPatch succeeded. #下面查看oracle 10g下的補丁信息,對於如何安裝補丁,本文不作演示 oracle@M10DB01p:/users/oracle/OraHome10g/OPatch> ./opatch lsinventory Invoking OPatch 10.2.0.3.0 ......... Oracle Home : /users/oracle/OraHome10g Central Inventory : /users/oracle/oraInventory from : /etc/oraInst.loc OPatch version : 10.2.0.3.0 OUI version : 10.2.0.3.0 OUI location : /users/oracle/OraHome10g/oui Log file location : /users/oracle/OraHome10g/cfgtoollogs/opatch/opatch2013-12-19_09-54-27AM.log Lsinventory Output file location : /users/oracle/OraHome10g/cfgtoollogs/opatch/lsinv/lsinventory2013-12-19_09-54-27AM.txt -------------------------------------------------------------------------------- Installed Top-level Products (2): Oracle Database 10g 10.2.0.1.0 #基礎版本號 Oracle Database 10g Release 2 Patch Set 2 10.2.0.3.0 #PSR號為3 There are 2 products installed in this Oracle Home. Interim patches (2) : #列出了2個臨時補丁patch號及bug號 Patch 5556081 : applied on Wed Feb 15 11:16:15 HKT 2012 Created on 9 Nov 2006, 22:20:50 hrs PST8PDT Bugs fixed: 5556081 Patch 5557962 : applied on Wed Feb 15 11:16:08 HKT 2012 Created on 9 Nov 2006, 23:23:06 hrs PST8PDT Bugs fixed: 4269423, 5557962, 5528974 -------------------------------------------------------------------------------- OPatch succeeded. #也可以通過查詢dba_server_registry查看當前數據補丁的使用情況 SQL> select comp_name,version from dba_server_registry; COMP_NAME VERSION -------------------------------------------------- ------------------------------ Oracle XML Database 10.2.0.3.0 Oracle Label Security 10.2.0.3.0 Oracle Expression Filter 10.2.0.3.0 Oracle Rules Manager 10.2.0.3.0 Oracle Workspace Manager 10.2.0.1.0 Oracle Database Catalog Views 10.2.0.3.0 Oracle Database Packages and Types 10.2.0.3.0 JServer JAVA Virtual Machine 10.2.0.3.0 Oracle XDK 10.2.0.3.0 Oracle Database Java Packages 10.2.0.3.0 10 rows selected. #下面是Oracle 11g下使用lsinventory -detail時patch的應用情況 [oracle@linux1 OPatch]$ ./opatch lsinventory -detail Invoking OPatch 11.1.0.6.6 Oracle Interim Patch Installer version 11.1.0.6.6 Copyright (c) 2009, Oracle Corporation. All rights reserved. ...............(省略) -------------------------------------------------------------------------------- Installed Top-level Products (1): Oracle Database 11g 11.2.0.1.0 There are 1 products installed in this Oracle Home. Installed Products (134): Agent Required Support Files 10.2.0.4.2 Assistant Common Files 11.2.0.1.0 Bali Share 1.1.18.0.0 Buildtools Common Files 11.2.0.1.0 Character Set Migration Utility 11.2.0.1.0 Cluster Verification Utility Common Files 11.2.0.1.0 Database Configuration and Upgrade Assistants 11.2.0.1.0 ...............(省略) SSL Required Support Files for InstantClient 11.2.0.1.0 Sun JDK 1.5.0.17.0 XDK Required Support Files 11.2.0.1.0 XML Parser for Java 11.2.0.1.0 XML Parser for Oracle JVM 11.2.0.1.0 There are 134 products installed in this Oracle Home. Interim patches (1) : Patch 8670579 : applied on Thu Aug 15 17:53:20 CST 2013 Unique Patch ID: 12243614 Created on 25 Feb 2010, 09:55:12 hrs US/Eastern Bugs fixed: 8670579 Files Touched: #這裡列出了相應的文件 /ahseteco.o --> ORACLE_HOME/lib/libnnz11.a /am11rkg.o --> ORACLE_HOME/lib/libnnz11.a /amsha.o --> ORACLE_HOME/lib/libnnz11.a /cpui32.o --> ORACLE_HOME/lib/libnnz11.a /sha.o --> ORACLE_HOME/lib/libnnz11.a /x931rand.o --> ORACLE_HOME/lib/libnnz11.a /am11dkg.o --> ORACLE_HOME/lib/libnnz11.a /am931rnd.o --> ORACLE_HOME/lib/libnnz11.a /amsharnd.o --> ORACLE_HOME/lib/libnnz11.a /ghash.o --> ORACLE_HOME/lib/libnnz11.a /shacomm.o --> ORACLE_HOME/lib/libnnz11.a libnnz11.so --> ORACLE_HOME/lib/libnnz11.so Patch Location in Inventory: /u01/app/oracle/db_1/inventory/oneoffs/8670579 Patch Location in Storage area: /u01/app/oracle/db_1/.patch_storage/8670579_Feb_25_2010_09_55_12 Rac system comprising of multiple nodes #列出了當前環境的節點 Local node = linux1 Remote node = linux2 -------------------------------------------------------------------------------- OPatch succeeded. #下面是Oracle 11g下使用使用lsinventory -bugs_fixed來查看patch的情形 [oracle@linux1 OPatch]$ ./opatch lsinventory -bugs_fixed Invoking OPatch 11.1.0.6.6 ...............(省略) ------------------------------------------------------------------------------------------------------ Installed Top-level Products (1): Oracle Database 11g 11.2.0.1.0 There are 1 products installed in this Oracle Home. List of Bugs fixed by Installed Patches: Bug Fixed by Installed at Description Patch --- -------- ------------ ----------- #下面給出了和bug有關的具體描述 8670579 8670579 Thu Aug 15 17:53:20 CST 2013 DBBETA :NETCA/DBCA FAILED WITH HOTSPOT VIRTUAL MACHINE Rac system comprising of multiple nodes Local node = linux1 Remote node = linux2 ------------------------------------------------------------------------------------------------------ OPatch succeeded.