如何流放之路如何打补丁PSU补丁

Oracle 11g升级PSU详细步骤_数据库技术_Linux公社-Linux系统门户网站
你好,游客
Oracle 11g升级PSU详细步骤
来源:Linux社区&
作者:彭小波
每个季度都会发布最新的补丁。对于生产运维人员来说,定期升级系统、打补丁是日常工作中不可缺少的部分。
&相对于过去的版本,Oracle打补丁的方式已经变得比较简单,处理PSU的方法也发生了一些变化。在11g中,对于一些小bug的修复,我们可以使用OPatch工具进行补丁修复。对于大的版本升级,Oracle的PSU实际上就是一系列全新的安装文件,从MOS上下载之后就可以直接进行安装。
1、关闭数据库
Oracle的PSU升级不更新数据字典,风险较小,但是还是需要停库进行升级操作。
SQL& shutdown immediate
Database closed.Database dismounted.ORACLE instance shut down.SQL& exitDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options停止监听服务。[oracle@bntjftest ]$ lsnrctl stop检查服务进程[oracle@bntjftest ]$& ps aux | grep ora_oracle& & & 0.0&
796 pts/3& & S+&
0:00 grep ora_[oracle@bntjftest ]$&
ps aux | grep tnsoracle& & & 0.0&
796 pts/3& & S+&
0:00 grep tns
2、检查opatch版本信息,需要的话进行升级
[oracle@bntjftest OPatch]$ ./opatch versionOPatch Version: 11.2.0.1.7OPatch succeeded.
检查发现opatch版本较低,为默认版本,所以需要升级opatch。升级方法很简单,直接mv掉原来的opatch目录,然后解压最新版本的opatch软件到ORACLE_HOME下面即可
[oracle@bntjftest OPatch]$ unzip p000_Linux-x86-64-opatch .zip& -d $ORACLE_HOME
再次检查版本,发现已经升级成功。[oracle@bntjftest OPatch]$& ./opatch versionOPatch Version: 11.2.0.3.6OPatch succeeded.
3、应用PSU补丁
1)插曲一、安装程序错误
[oracle@bntjftest OPatch]$ ./opatch apply .//Oracle Interim Patch Installer version 11.2.0.3.6Copyright (c) 2013, Oracle Corporation.& All rights reserved.
Oracle Home& & &
: /app/oracle/product/11.2.0/dbhome_1Central Inventory : /app/oraInventory&
from& & & & &
: /app/oracle/product/11.2.0/dbhome_1/oraInst.locOPatch version& & : 11.2.0.3.6OUI version& & &
: 11.2.0.4.0Log file location : /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch_10-45-03AM_1.log
Verifying environment and performing prerequisite checks...Prerequisite check "CheckPatchApplicableOnCurrentPlatform" failed.The details are:Patch (
) is not applicable&UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.Log file location: /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch_10-45-03AM_1.logOPatch failed with error code 73
不使用自动模式,手工运行,一样报错:
[oracle@bntjftest ]$ /app/oracle/product/11.2.0/dbhome_1/OPatch/opatch napply -skip_subset -skip_duplicateOracle Interim Patch Installer version 11.2.0.3.6Copyright (c) 2013, Oracle Corporation.& All rights reserved.
Oracle Home& & &
: /app/oracle/product/11.2.0/dbhome_1Central Inventory : /app/oraInventory&
from& & & & &
: /app/oracle/product/11.2.0/dbhome_1/oraInst.locOPatch version& & : 11.2.0.3.6OUI version& & &
: 11.2.0.4.0Log file location : /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch_10-45-03AM_1.log
Verifying environment and performing prerequisite checks...Prerequisite check "CheckPatchApplicableOnCurrentPlatform" failed.The details are:Patch (
) is not applicable&UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.Log file location: /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch_10-45-03AM_1.logOPatch failed with error code 73
上网baidu,& UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed&, 很快就查到解决办法,明确了其实就是因为有用户进程占用了文件libclntsh.so.11
[oracle@bntjftest ]$& /sbin/fuser /app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11 .1/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1:& 16470m[oracle@bntjftest ]$& ps -ef | grep 16470oracle& & & 0 14:45 pts/2& & 00:00:00 sqlplus&
as sysdbaoracle& & & 0 18:47 pts/3& & 00:00:00 grep 16470[oracle@bntjftest ]$& kill -9& 16470[oracle@bntjftest ]$& /sbin/fuser /app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1
3)再次重新应用PSU补丁,成功
[oracle@bntjftest ]$ /app/oracle/product/11.2.0/dbhome_1/OPatch/opatch napply -skip_subset -skip_duplicateOracle Interim Patch Installer version 11.2.0.3.6Copyright (c) 2013, Oracle Corporation.& All rights reserved.
Oracle Home& & &
: /app/oracle/product/11.2.0/dbhome_1Central Inventory : /app/oraInventory&
from& & & & &
: /app/oracle/product/11.2.0/dbhome_1/oraInst.locOPatch version& & : 11.2.0.3.6OUI version& & &
: 11.2.0.4.0Log file location : /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch_10-45-03AM_1.log
Verifying environment and performing prerequisite checks...OPatch continues with these patches:&
[47 38 68 68 15 74]
Do you want to proceed? [y|n]yUser Responded with: YAll checks passed.Provide your email address to be informed of security issues, install andinitiate Oracle Configuration Manager. Easier for you if you use your MyOracle Support Email address/User Name.Visit
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
OPatch Session completed with warnings.&Log file location: /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch_10-45-03AM_1.log
OPatch completed with warnings.
4、检查应用之后的结果
[oracle@bntjftest ]$ ../opatch lspatches&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;&;
[oracle@bntjftest ]$ ../opatch lsinventory&Oracle Interim Patch Installer version 11.2.0.3.6&Copyright (c) 2013, Oracle Corporation.& All rights reserved.
&Oracle Home& & &
: /app/oracle/product/11.2.0/dbhome_1&Central Inventory : /app/oraInventory& & from& & & & &
: /app/oracle/product/11.2.0/dbhome_1/oraInst.loc&OPatch version& & : 11.2.0.3.6&OUI version& & &
: 11.2.0.4.0&Log file location : /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch_11-04-15AM_1.log
Lsinventory Output file location : /app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory_11-04-15AM.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 (18) :
Patch& & &
: applied on Wed May 13 17:11:06 CST 2015&Unique Patch ID:& & & Created on 13 Mar :35 hrs PST8PDT& & Bugs fixed:& & & 466309
Patch& & &
: applied on Wed May 13 17:11:02 CST 2015&Unique Patch ID:& & & Created on 13 Mar :10 hrs PST8PDT& & Bugs fixed:& & & 786278& & & 061914
Patch& & &
: applied on Wed May 13 17:10:57 CST 2015&Unique Patch ID:& & & Created on 13 Mar :48 hrs PST8PDT& & Bugs fixed:& & & 762296
Patch& & &
: applied on Wed May 13 17:10:54 CST 2015&Unique Patch ID:& & & Created on 13 Mar :05 hrs PST8PDT& & Bugs fixed:& & & 551709
Patch& & &
: applied on Wed May 13 17:10:53 CST 2015&Unique Patch ID:& & & Created on 22 Dec :05 hrs PST8PDT& & Bugs fixed:& & & 142975
Patch& & &
: applied on Wed May 13 17:10:51 CST 2015&Unique Patch ID:& & & Created on 22 Dec :09 hrs PST8PDT& & Bugs fixed:& & & 006849
Patch& & &
: applied on Wed May 13 17:10:50 CST 2015&Unique Patch ID:& & & Created on 22 Dec :36 hrs PST8PDT& & Bugs fixed:& & & 309466
Patch& & &
: applied on Wed May 13 17:10:48 CST 2015&Unique Patch ID:& & & Created on 22 Dec :20 hrs PST8PDT& & Bugs fixed:& & & 641451
Patch& & &
: applied on Wed May 13 17:10:45 CST 2015&Unique Patch ID:& & & Created on 21 Dec :58 hrs PST8PDT& & Bugs fixed:& & & 436647
Patch& & &
: applied on Wed May 13 17:10:43 CST 2015&Unique Patch ID:& & & Created on 24 Sep :52 hrs PST8PDT& & Bugs fixed:& & & 584068
Patch& & &
: applied on Wed May 13 17:10:40 CST 2015&Unique Patch ID:& & & Created on 11 Oct :34 hrs PST8PDT& & Bugs fixed:& & & 673304
Patch& & &
: applied on Wed May 13 17:10:26 CST 2015&Unique Patch ID:& & & Created on 24 Sep :06 hrs PST8PDT& & Bugs fixed:& & & 641419
Patch& & &
: applied on Wed May 13 17:10:24 CST 2015&Unique Patch ID:& & & Created on 26 Feb :58 hrs PST8PDT& & Bugs fixed:& & & 203838
Patch& & &
: applied on Wed May 13 17:10:21 CST 2015&Unique Patch ID:& & & Created on 26 Feb :38 hrs PST8PDT& & Bugs fixed:& & & 203837
Patch& & &
: applied on Wed May 13 17:10:19 CST 2015&Unique Patch ID:& & & Created on 26 Feb :04 hrs PST8PDT& & Bugs fixed:& & & 203835
Patch& & &
: applied on Wed May 13 17:10:17 CST 2015&Unique Patch ID:& & & Created on 11 Dec :51 hrs PST8PDT& & Bugs fixed:& & & 088068
Patch& & &
: applied on Wed May 13 17:10:15 CST 2015&Unique Patch ID:& & & Created on 11 Dec :11 hrs PST8PDT& & Bugs fixed:& & & 721594
Patch& & &
: applied on Wed May 13 17:10:13 CST 2015&Unique Patch ID:& & & Created on 11 Dec :54 hrs PST8PDT& & Bugs fixed:& & & 944971
--------------------------------------------------------------------------------
OPatch succeeded.
SQL& select * from dba_registry_
ACTION_TIME& & & & & & & & & & ACTION&
NAMESPAC VERSION& & & & & & ID BUNDL COMMENTS&------------------------------ -------- -------- ---------- ---------- ----- --------------------&05-MAY-15 09.24.08.184589 AM&
APPLY& & SERVER&
11.2.0.4& & & & & & 0 PSU&
Patchset 11.2.0.2.0&13-MAY-15 05.17.48.578053 PM&
APPLY& & SERVER&
11.2.0.4& & & & & & 6 CPU&
CPUApr2015
2 rows selected.
更多Oracle相关信息见 专题页面
本文永久更新链接地址:
相关资讯 & & &
& (02/12/:38)
& (09/14/:59)
& (10/28/:06)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款[Oracle] Data Guard CPU/PSU补丁安装详细教程
转载 & & 作者:
以下是对Data Guard CPU/PSU补丁安装的方法进行了详细的分析介绍,需要的朋友可以参考下
非Data Guard的补丁安装教程可参考,Data Guard需要Primary和Standby同时打上补丁,所以步骤更复杂一些,其主要步骤如下:1.在Primary停止日志传输服务;2.关闭Standby数据库,在Standby的软件上打补丁(注意:不需要为Standby数据库打补丁),启动standby为mount状态,不启用managed recovery;3.关闭Primary,在Primary的软件和数据库本身都打上补丁;4.启动Primary数据库,重新开启日志传输服务;5.在Standby启动Redo Apply,这样Primary上补丁脚本就会自动同步至Standby;6.检查Primary和Standby是否都已安装补丁。下面是一个具体例子:1. 在Primary停止日志传输服务 代码如下:sys@EPAY&select database_role from v$DATABASE_ROLE----------------PRIMARYsys@EPAY&show parameter log_archive_dest_3NAME&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& TYPE&&&&&&& VALUE------------------------------------ ----------- ------------------------------log_archive_dest_3&&&&&&&&&&&&&&&&&& string&&&&& SERVICE=sta ASYNC VALID_FOR=(O&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& NLINE_LOGFILES,PRIMARY_ROLE) D&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& B_UNIQUE_NAME=epaybklog_archive_dest_30&&&&&&&&&&&&&&&&& stringlog_archive_dest_31&&&&&&&&&&&&&&&&& stringsys@EPAY&alter system set log_archive_dest_state_3=defer scope=System altered.2.在Standby的Oracle软件打上补丁 2.1 关闭数据库实例,listener,ASM实例等2.2 查看opatch的版本,如果不够,就去下载最新的版本2.3 在Standby的Oracle软件上打补丁2.4 启动Standby到mount状态,启动listener(注意:Standby不需要对数据库本身打补丁)3. 在Primary上打补丁3.1 关闭数据库实例,listener,ASM实例等3.2 查看opatch的版本,如果不够,就去下载最新的版本3.3 在Primary的Oracle软件上打补丁3.4 为Primary数据库本身打补丁 代码如下:cd $ORACLE_HOME/rdbms/adminsqlplus /nologSQL& CONNECT / AS SYSDBASQL& STARTUPSQL& @catbundle.sql psu applySQL& QUIT4. 在Primary启动日志传输服务4.1 启动Primary listener,数据库实例等4.2 强制注册services到listener 代码如下:sys@EPAY&aSystem altered.4.3 重新启动日志传输服务 代码如下:sys@EPAY&alter system set log_archive_dest_state_3=enable scope=System altered.注意:启动日志传输,在alert里有可能出现如下错误: 代码如下:------------------------------------------------------------Check that the primary and standby are using a password fileand remote_login_passwordfile is set to SHARED or EXCLUSIVE, and that the SYS password is same in the password files.&&&&& returning error ORA-16191------------------------------------------------------------根据错误信息的提示,应该是主库在做CPU补丁的时候把sys密码修改了,用主库的密码文件替换备库的密码文件即可解决该错误。5. Standby启动Redo Apply5.1 open Standby 数据库5.2 启用Redo Apply 代码如下:sys@EPAY&alter database recover managed standby database disDatabase altered.5.3 验证Primary和Standby是否同步在primary端查询当前最大的归档日志序号: 代码如下:sys@EPAY&select max(sequence#) from v$archived_MAX(SEQUENCE#)--------------&&&&&&&&&& 159在standby端查询已传过来的归档日志: 代码如下:sys@EPAY&select sequence#, applied from v$archived_5.4 从alert.log可用看出同步了3个日志文件(即把在primary打的补丁同步到了standby) 代码如下:alter database recover managed standby database disconnect from sessionAttempt to start background Managed Standby Recovery process (epay)Wed Jul 10 06:03:48 2013MRP0 started with pid=29, OS id=15030 MRP0: Background Managed Standby Recovery process started (epay)&started logmerger processWed Jul 10 06:03:53 2013Managed Standby Recovery not using Real Time ApplyWed Jul 10 06:04:01 2013Parallel Media Recovery started with 32 slavesWaiting for all non-current ORLs to be archived...All non-current ORLs have been archived.Wed Jul 10 06:04:01 2013Completed: alter database recover managed standby database disconnect from sessionMedia Recovery Log /data/oradata/epay/archivelog/1_157_.dbfMedia Recovery Log /data/oradata/epay/archivelog/1_158_.dbfMedia Recovery Log /data/oradata/epay/archivelog/1_159_.dbfMedia Recovery Waiting for thread 1 sequence 160 (in transit)6. 后期检查补丁是否安装成功6.1 在primary, standby分别指向opatch lsinventory6.2 在数据库里检查补丁是否安装成功
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Oracle 11.2.0.4打PSU补丁到 11.2.0.4.161018
<span type="1" blog_id="1900324" userid='
分享到朋友圈
好的文章,和好友一起分享博客访问: 140880
博文数量: 29
注册时间:
ITPUB论坛APP
ITPUB论坛APP
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Oracle
关于打PSU补丁,我想最好的文档一定是补丁程序里自带的ReadMe。这里我自己总结了些简要的步骤,供以后打PSU时参考。
1.根据下面的两篇文档下载最新的PSU补丁
Oracle 最新补丁参考文档:
Exadata平台最新PSU补丁参考文档:
2.根据补丁要求安装对应的OPatch版本,下载最新的OPatch工具和如何安装可以参考
3.对于存在DG的环境,可以参考
4.虽然对RAC来说打PSU补丁的时候不需要停库和集群资源,启停集群软件和数据库完全是自动完成的。但为了打补丁的时候可以节省些时间,最好还是先把数据库停了以后再打补丁。
对于单节点数据库只安装了DB软件的话,则需要停库和停监听还有E。
5、通常GI的补丁包里就已经包含RDBMS的补丁了,这样就不需要再单独下载RDBMS的补丁了。在正式打PSU补丁之前,建议备份GI和RDBMS目录(tar -cvf dbhome_1.tar dbhome_1),以防万一。
6、ocm.rsp文件的生成可以参考文档
7、在RAC+DG的环境中打PSU补丁,首先要在DG的备库端进行PSU补丁的安装,停止并shutdown所有standby数据库,使用root帐号分别对GI和RDBMS打补丁。打完补丁之后不要执行catbundle.sql&psu&apply脚本。这个脚本应该在生产端执行然后通过redo传递至灾备端。
Patching GI Home Alone
# opatch auto &PATH_TO_PATCH_DIRECTORY& -oh &GI_HOME&
Patching Oracle Database home
# opatch auto &PATH_TO_PATCH_DIRECTORY& -oh &Comma separated Oracle home paths&
不推荐采用全自动的安装方式,虽然简单,但容易出问题
/u01/app/11.2.0/grid/OPatch/opatch auto /orasoft/path/ -ocmrf /orasoft/ocm.rsp
8、DG端PSU补丁安装完成之后,备库启动状态程序和数据库至mount状态。(如果要验证DG端补丁是否安装成功,可以将备库切换至快照模式后执行catbundle.sql脚本验证)
alter database recover managed standby database dis
9、在生产端用root帐号对每个节点的GI和RDBMS打补丁。所有节点都打完补丁之后,找任一节点执行@?/rdbms/admin/catbundle.sql&psu&apply脚本。之后就是查询脚本执行的日志是否有错误。
@?/rdbms/admin/utlrp.sql &编译系统无效对象
10、上面的步骤做完之后可以查询dba_registry_history视图验证PSU补丁的安装情况。 OPatch/opatch lsinventory也能显示PSU的安装情况。
11、备库恢复open with read only ADG状态,
alter database recover ma
alter database recover managed standby database using current logfile dis
select open_mode from v$
12、如果有catalog数据库,那么还得更新下catalog数据库
RMAN& UPGRADE CATALOG;
阅读(298) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。& & & & &#25552;&#20379;&#19987;&#19994;&#30340;ORACLE [RAC]&#25968;&#25454;&#24211;&#21450;GoldenGate&#20135;&#21697;&#23433;&#35013;&#21319;&#32423;&#12289;&#24615;&#33021;&#35843;&#20248;&#12289;&#25925;&#38556;&#35786;&#26029;&#12289;&#36828;&#31243;&#25903;&#25345;&#31561;&#26381;&#21153;, &#32852;&#31995;QQ: WeiXin:zhang_weizhao
1,174 views
当前ORACLE数据库提供两种方式的补丁一种是主动的Proactive Patches和另一种被动的Reactive Patches,其中Reactive Patches是指过去的ONE-OFF Patch,而过去的PSU,SPU/CPU,BP都是Proactive Patches。从12c(12.1.0.2)起数据库又提供了一个名为DBBP的补丁类型,在数据库安装选择补丁时建议是PSU,CPU,DBBP中的一种,在12c以前至少是安装相应版本的PSU,而从12.1.0.2起想要安装更全的补丁集应该选择DBBP,DBBP更是一种趋势,以后可能会替代PSU,就像以前的CPU后改名为SPU,安装SPU建议以PSU的方式一样,DBBP成了更大的超集,下面来整理一份数据库相关的补丁术语及注意事项。
patch number改变
从2015年11月开始数据库相关的PSU,SPU,BP的版本号第5位发生改变,如11204的PSU的11.2.0.4.8下个版本不再是11.2.0.4.9,而是11.2.0.4.160119, 格式是与发布日期相关的YYMMDD,年份的后两位月份和日期。方便查找PATCH的时间段。更多信息关注Doc ID
SPU/CPU改变
从12.1.0.1开始数据库提供安全相关的修复不再单独以SPU的形式发布,而是以PSU或DBBP打包的方式集中修复,这种方式也更为简单,PSU从2009年起就是ORACLE主动修改首选,也许会从2016年后DBBP会成为首选(linux/unit)。更多信息关注
BP FOR EXADATA AND DBIM改变
从2016年4月 Database Patch for Engineered Systems and Database In-Memory Bundle Patch (BP) ”改名为 “Database Proactive Bundle Patch”. 也就是DBBP,不再仅限于EXADATA系统,你也许会话如果以字母简写更应该呢DPBP或者是PBP for DB, “Database Proactive Bundle Patch”更是多个PSU的超集,包含了GI PSU、DB PSU及EXPDATA和DBIM的相关修复,从dba_registry_sqlpatch视图中可以看到Database Bundle Patch (DBBP) 区别于原来的PSU,也就是从12.1.0.2以后Database Proactive Bundle Patch可以应用于所有数据库环境。另外DBBP仅用于LINUX和UNIX环境,与WINDOWS 的BP没有关系, Windows平台还继续使用Bundle Patch (Windows 32bit & 6bit). 更多信息关注
如何选择最新的补丁?
另外SPU, PSU ,DBBP不兼容,更换补丁方法要检查冲突,回滚之前的冲突,如安装DBBP不能基于上一季度的PSU。
1) SPU contains only the CPU program security fixes
2)PSU contains the CPU program security fixes and additional high-impact/low-risk critical bug fixes
3)Proactive Bundle Patch (PBP) includes all PSU fixes along with fixes targeted at the specific Bundle Patch environment.
Can be applied on Database Servers, Client-Only and
Instant Client.
5)GI PSU – Can be applied on GI Home (Oracle Restart or Oracle Clusterware) in conjunction with RAC, RACOne,
Single Instance home, Client-Only and
Instant Client.
6)Proactive Bundle Patch – Can be applied on GI Home in conjunction with RAC, RACOne, or Single Instance home, Client-Only and
Instant Client.
补丁的术语:
Release Release
版本的前2个字段指定(小数点分隔的字段)如ORACLE 10gR1 10gR2 , 11gR1 11gR2, 12cR1 12cR2…
Base/Major Release
版本的前4个字段, 如11.2.0.1, 可以在OTN、edelivery等站点上公开下载,
Patch Set Release
就是早期大家常说的PSR。这是在主版本号上发布的补丁集,版本的第4个字段指定,如11.2.0.4,修复了较多的Bug,可能会包含一些增强功能(Enhancement)。比如11.2.0.1是一个主版本,那么11.2.0.2、11.2.0.3就是2个不同的Patch set。这种补丁集经过了严格的集成测试,也是累积型的。所以推荐安装最新的Patch Set。
Database Patch Set Update
就是DBA&DMA们常论道的PSU.Oracle 选取在每个季度用户下载数量最多,并且得到验证具有较低风险的补丁放入到每个季度的PSU中,修复比较严重的一些问题,包含每个季度的CPU,是累积型的。针对数据库以及数据库客户端的重要修复。包括安全(CPU)内容。没有优化器修复,虽然在描述PSU的时候会用到数据库版本第5位,但实际上打完PSU后并不会真正改变数据库的版本,需要从opatch lsinv确认
(1) Windows上没有CPU和PSU,对于Windows和Exadata,Oracle使用Bundle Patch代替PSU,Bundle Patch会包含PSU的内容
(2) 在11G之前有些PSU可以直接安装,而有些PSU则必须要求安装了上一个版本的PSU之后才能继续安装。比如对于10.2.0.4版本的数据库来说,PSU 10.2.0.4.4可以直接安装在最原始的10.2.0.4.0版本中,而最新的PSU 10.2.0.4.8则必须要求先安装10.2.0.4.4。更多信息参考PSU 附带的readme.txt
(3)从11.2.0.2版本开始,一个新的补丁策略被引入,11.2.0.1之后发布的Patch Set本身就是一个完整的安装包,不再需要基础的Release 版本安装。
站点中Oracle Recommended Patches — Oracle Database [ID ] 文档中查到各个产品版本最新的PSU。
$opatch lsinventory -bugs_fixed | grep -i &#8216;DATABASE PSU&#8217;
# 11g r2 and above
$ opatch lsinventory | grep &#8220;Patch Set Update&#8221;
Database Grid Infrastructure Patch Set Update
也就是GI PSU,适用于11.2.0.1以上的RAC DB 安装在 Unix 平台上 (包括单实例 RAC)。补丁包括 Grid Infrastructure 的重要修复,也包括匹配的 DB PSU,但不包括任何 OJVM PSU,季度发行,在11.2以前叫CRS PSU,从11.2后不再发行。
OJVM Patch Set Update
也就没是OJVM PSU, 适用于数据库版本DB 版本 11.1.0.7,11.2.0.3,11.2.0.4,12.1.0.1 及以上所有平台。须知 Windows 平台有特殊的 OJVM PSU 覆盖补丁安装于 Windows BP 上,
2014年10月提出 OJVM PSU,但是 OJVM 和 JDBC 有单独的补丁。
2015年1月之后 OJVM PSU 包括 JDBC 针对数据库的修复
在12c中的DBBP中包含了OJVM PSU
Timezone Patches
DB 和 DB client 安装,当对最新时区数据要求很高时,补丁仅包含时区数据,每半年发行一次。
Critical Patch Update
Oracle在2005年开始引入的产品安全更新策略,CPU最早的雏形出现在2005年,该项目致力于为客户周期性地提供累积性的补丁以修复安全漏洞。没有一个强制要求安装CPU的理由,Oracle仅仅是强烈推荐实施这些补丁以降低潜在的安全风险并降低受到骇客入侵成功的概率, 由月/年指定 如11.2.0.4 Jan 2015 SPU
¤ 这个指的就是CPU补丁。每季度发布一次,用来修复安全方面的一些补丁,是累积型的。目前(2012年10月)已经更名为Security Patch Update (SPU)
¤ 这类问题本来不属于软件错误,在正常使用中不会出现任何问题。但是别有用心的人可以通过运行非常精巧设计的代码 ,绕过数据库系统的安全管理机制,达到非授权存取的目的。
分为Normal CPU和Molecular CPU(最早是从10.2.0.3 CPUJUL2007)For LINUX/UNIT 平台, CPU Bundle Patch For Windows平台
¤ 重要补丁公告参见.
PSU包含了最新的CPU, 从12.1.0.1开始CPU不再单独发布而是包含在PSU中发布。
Interim Patch/One-Off Patch
¤ 是我们常说的小补丁,为了修复某(几)个Bug而发布的补丁。这种补丁推荐在测试库上测试无误后再安装在生产库上。
Merged Patch
¤ 合并的补丁。当几个小补丁之间有冲突,不能同时安装的时候,需要提供这种Merged Patch。补丁冲突主要是由于2个或者多个补丁修改同一个文件,但是修改的内容是不同的。
&#8220;Quarterly Full Stack Download Patch&#8221; / &#8220;Combo Patch&#8221;
若干不同的补丁打包在一起发布,适用于DB 版本 11.1.0.7,11.2.0.3,11.2.0.4,12.1.0.1 及以上,2014年10月开始每季度发行一次, 在一个下载中包括不同组件的 Patch Set Updates
例如:&#8221;Quarterly Full Stack Download Patch for Exadata&#8221; 把 &#8220;Quarterly Database Patch for Exadata&#8221;与 OJVM PSU 还有其他的 Exadata系统补丁包含在一个下载链接中。
Windows Bundle Patch(BP)
¤ 仅适用于WINDOWS平台的补丁集修复多个Bug。在Windows平台上的Oracle没有小补丁,只有这种Bundle Patch。 这种累积型的补丁集会周期性的发布(至少每季一次),也就是每个Bundle Patch会包含之前所有的Bundle Patch。比如Windows Bundle Patch 16,它会包含之前所有15个Bundle Patch,所以我们总是推荐安装最新的Bundle Patch。Oracle的集群软件和数据库软件的Window Bundle Patch是同一个,比如Windows Bundle Patch 16(补丁号,既可以打在集群上,也可以打在数据库上) , 每季度会包含 DB PSU 和 OJVM PSU 内容。。
■要了解Windows Bundle Patch的补丁号,可以参考MOS文档:
Oracle Database, Networking and Grid Agent Patches for Microsoft Platforms
Diagnostic Patch
诊断补丁。顾名思义,这类补丁不是用来解决问题的,而是用来寻找问题的原因的。这类补丁只在Oracle技术支持部门要求安装时,才需要安装。在得到需要的诊断信息后 ,应立即卸载这一补丁。
Composite Patch
¤ 从2012年4月份的Database PSU 11.2.0.3.2和11.2.0.2.0.7开始,推出一种新的概念叫Composite Patches。 这是一种新型的补丁包,它不同于其他的累积型补丁包。如果是第一次安装Composite Patches,那么该Composite Patches所包括的全部补丁都会被安装,后续安装的Composite Patches,只会安装对比前一次Composite Patches有变化的部分和新增加的补丁。
¤ Composite Patche的改进包括减少补丁安装时间,减少回滚以前应用的overlay patches的需要。 新的Composite Patches格式,使以前PSU应用的overlay patches和新安装的PSU并存成为可能。更多信息,请参考Document
‘Composite Patches for Oracle Products’ 和.
■ PSU就是一种Composite Patch
¤第一次安装的composite patch为PSU 11.2.0.3.5:
Installed Top-level Products (1):
Oracle Database 11g 11.2.0.3.0
There are 1 products installed in this Oracle Home.
Interim patches (1) :
Patch : applied on Fri Dec 09 10:59:28 EST 2011
Patch Description: “Database Patch Set Update : 11.2.0.3.5 ()”
&==变化和新增的部分
Created on 14 Jan :00 hrs PST8PDT
Sub-patch ; “Database Patch Set Update : 11.2.0.3.4 ()”&==Sub-patch
Sub-patch ; “Database Patch Set Update : 11.2.0.3.3 ()”&==Sub-patch
Sub-patch ; “Database Patch Set Update : 11.2.0.3.2 ()”&==Sub-patch
Sub-patch ; “Database Patch Set Update : 11.2.0.3.1 ()”&==Sub-patch
Bugs fixed:
¤安装下一个composite patch PSU 11.2.0.3.6时,只需要安装有变化的部分和新增加的patches,不需要再安装之前已经安装的11.2.0.3.1 、11.2.0.3.2,11.2.0.3.4和11.2.0.3.5,之前已经安装的这部分就称为sub-patch:
Patch : applied on Sun Apr 28 12:42:57 CST 2013
Patch Description: “Database Patch Set Update : 11.2.0.3.6 ()”
&==变化和新增的部分
Created on 12 Mar :47 hrs PST8PDT
Sub-patch ; “Database Patch Set Update : 11.2.0.3.5 ()”&==Sub-patch
Sub-patch ; “Database Patch Set Update : 11.2.0.3.4 ()”&==Sub-patch
Sub-patch ; “Database Patch Set Update : 11.2.0.3.3 ()”&==Sub-patch
Sub-patch ; “Database Patch Set Update : 11.2.0.3.2 ()”&==Sub-patch
Sub-patch ; “Database Patch Set Update : 11.2.0.3.1 ()”&==Sub-patch
Bugs fixed:
¤在MOS文档中有针对Composite Patches详细的说明:Note
Composite Patches for Oracle Products
Database Patch for Exadata
也叫EXADBBP 或BP,仅用于exadata machine ORACLE 11G,每月发行, 每月重要 的BP都会放在本季度的Quarterly Full Stack Download Patch for Exadata
Quarterly Full Stack Download Patch for Exadata
QFSDP for Exadata,同样也是仅用于EXADATA MACHINE ORACLE 11G, 每季度发行,包括 Exadata 上的数据库补丁以及其他 Exadata 组件的补丁。
不可用于非EXADATA系统。大多数更新都是专门为 Exadata 上的 Oracle Database (DB_BP) 和 Oracle Clusterware (GI_BP) 创建的 Bundle patches 发行的。Bundle patches 包含的不是 Exadata 特定代码,但是,只能在用于测试目的,或者是为Exadata 系统提供灾难恢复支持的时候,才可以在 non-Exadata 系统上安装这些补丁。只有当 non-Exadata 系统用在 Data Guard 环境中作为 Exadata 系统的备用系统时,Oracle 才为 non-Exadata 系统提供在 Exadata bundle patches 基础上的临时修复。
Database Proactive Bundle Patch
适用于12c 数据库安装在 Exadata 上,同样适用于任何使用 Database In-Memory (DBIM) 特性的 12c 系统,RAC 或 non-RAC。数据库和 Grid 的 home 也适用。仅用于 12.1.0.2 及以上 DB on linux/unix平台,从可以看出在2016年4月前的补丁都是叫for Engineered Systems and DB In-Memory, 发布周期为每个月一次,截至2016年4月,Database Patch for Engineered Systems and Database In-Memory 已重新命名为&#8221;Database Proactive Bundle Patch&#8221;,不再只限于Engineered Systems and DB In-Memory,可以用于EXADATA也可以用于非EXADATA,和RAC及非RAC系统。为每季度发布一次,成为了一种新型的季度补丁,也是累计型,版本的第5个字段指定,&#8221;Database Proactive Bundle Patch&#8221;比Patch Set Update (PSU) 需要多一些测试,因为它提供了大量的修复.
¤DBBP就PSU的 超集,BP是增量包含的如10,包含1-9,也包含了创建BP时最近的PSU和CPU,所以建议安装最新的BP, 准确应该是说包含了PSU,CPU修复的问题。
¤最新的BP
latest Bundle Patch can be found in the MOS note
or in the Mos note: 12.1.0.2 Bundle Patches for Engineered Systems and DB In-Memory (Doc ID ).
¤For In-Memory customers we recommend that you always run with the latest Bundle Patch!
¤重要的一点是12C的DBBP和以前的 “Windows Bundle Patch” (BP)没有直接关系,windows 还是继续使用之前的WINDOWS BP.
新的DBBP在单独的子目录中所含下列组件:
* Clusterware component the same as GI PSU
* ACFS component the same as GI PSU
* 一个数据库bundle 组件包含了所有的PSU修复补丁及并且“以及专门针对Engineered Systems and DB In-Memory的额外修复”
¤虽然DBBP是包含了多个PSU和BUG FIXED,但是DBBP不能是基于上一季度的PSU继续安装,反之亦然,所以如果切换DBBP和PSU的补丁安装技术需要提前rollback有冲突的PSU, 这样做需要更我的时间窗口和停机时间。
如果下载同期的DBBP和PSU 会发现里面的子补丁存在互斥, 在DBBP的readme中会看到DBBP明确是增量的包含了所有的PSU和CPU,虽然子补丁号不同 但是安装后使用opatch lsinventory -bugs_fixed 会发现DBBP会包含了同期PSU修得的所有BUG,还能找到一些fixed的BUG在DBBP中,而没有在PSU中 。除此之外,“Proactive”DBBP包含Non-Engineered Systems或DBIM时影响RDBMS的PSU中未包含修复的错误。
dba_registry_sqlpatch视图的字段BUNDLE_SERIES可以看到安装的PATCH是PSU还是DBBP. 前面所指的都是ORACLE企业版,在有些DBBP的readme中可能会写标准版还是应该安装PSU,注意是“应该”而不是“必须”.
该 bundle 的修复信息可能包括一些”Exadata”特定的修复,这是因为 bundle 同样适用于 Exadata 系统。
详情请参阅
12.1.0.2 Database Proactive Bundle Patches / Bundle Patches for Engineered Systems and DB In-Memory &#8211; List of Fixes in each Bundle &#8211; 每个 bundle 的修复列表。
References :
Oracle Database &#8211; 数据库补丁使用方法概述 (文档 ID )
微信扫一扫,打赏作者吧~
MySql Link
ORACLE Link
Others Link
微信公众号

我要回帖

更多关于 如何打补丁 的文章

 

随机推荐