共计 8093 个字符,预计需要花费 21 分钟才能阅读完成。
这篇文章主要介绍 oracle 11.2.0.4 单实例打补丁的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
0、如何获取 oracle 11g 安装包:
1)登陆 SR(https://support.oracle.com),搜索 13390677,按照平台选择对应的安装包,比如 rhel 64 位选择 Linux x86-64
2)下载对应包:
p13390677_112040_Linux-x86-64_1of7.zip:oracle 服务器软件安装包
p13390677_112040_Linux-x86-64_2of7.zip:oracle 服务器软件安装包
p13390677_112040_Linux-x86-64_3of7.zip:grid 软件安装包
p13390677_112040_Linux-x86-64_4of7.zip:oracle 客户端软件安装包
1、如何获取 oracle 11g 补丁:
1) 登陆 SR,搜索 1454618.1
2)选项解释:
Oracle Database Base Releases: 用于下载一些测试版本的 oracle 软件,比如 11.2.0.1,建议不适用这类版本,因为漏洞较多。
Oracle Database Patchsets: 数据库软件安装包(可以搜索到 0 步中的文件)
Oracle Database Release Updates(Versions 12.2 higher):???????
Oracle Database Release Update Revisions(Versions 12.2 higher):???????
Oracle Database PSU,SPU(CPU),Bundle Patches(Versions 12.1 lower): 常用的补丁包
OJVM RU/PSU/Bundle Patches: 包含 OJVM 的补丁包
Lastest Available Microsoft Windows Patches:windows 相关的
2、如何获取 opatch:
1)登陆 SR,搜索文档(274526.1)或者直接搜索 opatch
2)选择对应版本下载。
3、区别:
1)SPU(CPU):指的是 CPU(Critical Patch Update)补丁。每季度发布一次(应该是隔段时间发布),用来修复安全方面的一些补丁,是累积型的。在 2012 年已更名为 Security Patch Update(SPU)。主要指那些本来不属于软件错误,正常使用不会出错的问题。但是别有用心的人可以特别手段绕过数据库安全机制获取非法权限。说白了就是一种安全补丁,为了防止黑客利用,攻击数据库。
2)PSU:指的是 Patch Set Update,就是补丁集。Oracle 选取在每个季度用户下载数量最多,并且得到验证具有较低风险的补丁放入每个季度的 PSU 中,修复一些比较严重的问题,也是累积型的。
值得注意的是,每个季度的 PSU 包含相应季度的 SPU 补丁。
3)BP:指的是 Bundle Patch,也是补丁集,修复多个 Bug,只不过是用于 Windows 平台上的,也是累积型的。Oracle 会周期性发布 BP(至少每季度一次),而且每个 BP 会包含之前所有的 BP,也就是说,只需要安装最新的 BP 即可。另外,Oracle 的集群软件和数据库软件的 BP 是同一个,也就是既可以打在集群上,也可以打在数据库软件上。
4)GI PSU:用于安装在集群软件的补丁集。针对 Oracle Rac。
5)OJVM PSU:用于修复 JAVA 虚拟机相关漏洞的补丁集。针对 Rac,建议 grid 层面打一次,oracle 层面也打一次。
综上所示:
对于 windows 系统,只需要下载最新版本 BP,在集群层面(若有)和数据库层面各打一次布丁即可。
对于非 windows 系统,集群层面(若有)需要打最新版本 OJVM + GI PSU,数据库层面需要打最新版本 OJVM +DB PSU。
4、修复过程:
1)将 opatch 文件、单实例 PSU 上传到服务器的 /tmp 目录
2)查看当前补丁集:
[oracle@testlihb OPatch]$ cd $ORACLE_HOME/OPatch
[oracle@testlihb OPatch]$ ./opatch lsinv
Oracle Interim Patch Installer version 11.2.0.3.4
Copyright (c) 2012, Oracle Corporation. All rights reserved.
Oracle Home : /database/jkzx/product/11.2.0/db_1
Central Inventory : /database/jkzx/oraInventory
from : /database/jkzx/product/11.2.0/db_1/oraInst.loc
OPatch version : 11.2.0.3.4
OUI version : 11.2.0.4.0
Log file location : /database/jkzx/product/11.2.0/db_1/cfgtoollogs/opatch/opatch3018-04-02_15-22-15PM_1.log
Lsinventory Output file location : /database/jkzx/product/11.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2018-04-02_15-22-15PM.txt
——————————————————————————–
Installed Top-level Products (1):
Oracle Database 11g 11.2.0.4.0
There are 1 products installed in this Oracle Home.
There are no Interim patches installed in this Oracle Home.
——————————————————————————–
OPatch succeeded.
3)更换 OPatch 文件
[oracle@testlihb OPatch]$ cd $ORACLE_HOME
[oracle@testlihb db_1]$ mv /tmp/p6880880_112000_Linux-x86-64.zip .
[oracle@testlihb db_1]$ mv OPatch OPatch_bak
[oracle@testlihb db_1]$ unzip p6880880_112000_Linux-x86-64.zip
4)解压 PSU 文件
[oracle@testlihb db_1]$ cd /tmp/
[oracle@testlihb tmp]$ unzip p27011017_112040_Linux-x86-64.zip
5)安装 PSU 补丁集(必须先安装 PSU 补丁集再安装 OJVM 补丁集)
[oracle@testlihb tmp]$ cd 27011017/
[oracle@testlihb 27011017]$ ls
26925532 26925576 README.html README.txt
## 关库
[oracle@testlihb 27011017]$ sqlplus / as sysdba
SQL shutdown immediate
SQL exit
[oracle@testlihb 27011017]$ ps -ef|grep smon_
oracle 30411 30118 0 15:40 pts/0 00:00:00 grep smon_
## 关监听
[oracle@testlihb 27011017]$ ps -ef|grep lsn
oracle 24373 1 0 11:44 ? 00:00:00 /database/jkzx/product/11.2.0/db_1/bin/tnslsnr LISTENER -inherit
oracle 30413 30118 0 15:40 pts/0 00:00:00 grep lsn
[oracle@testlihb 27011017]$ lsnrctl stop
[oracle@testlihb 27011017]$ ps -ef|grep lsn
oracle 30415 30118 0 15:41 pts/0 00:00:00 grep lsn
## 安装前环境配置和检查
[oracle@testlihb 27011017]$ cd 26925576
[oracle@testlihb 26925576]$ export PATH=$PATH:$ORACLE_HOME/OPatch:/usr/ccs/bin
[oracle@testlihb 26925576]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Prereq checkConflictAgainstOHWithDetail passed.
OPatch succeeded.
[oracle@testlihb 26925576]$ opatch apply
Do you want to proceed? [y|n]
y
Email address/User Name:
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: y
Is the local system ready for patching? [y|n]
y
Applying sub-patch 17478514 to OH /database/jkxt/product/11.2.0/db_1
Patching component oracle.rdbms, 11.2.0.4.0…
。。。
Applying sub-patch 26392168 to OH /database/jkxt/product/11.2.0/db_1
ApplySession: Optional component(s) [oracle.oid.client, 11.2.0.4.0] not present in the Oracle Home or a higher version is found.
OPatch found the word error in the stderr of the make command.
Please look at this stderr. You can re-run this make command.
Stderr output:
chmod: changing permissions of `/database/jkxt/product/11.2.0/db_1/bin/extjobO : Operation not permitted
make: [iextjob] Error 1 (ignored)
Composite patch 26925576 successfully applied.
OPatch Session completed with warnings.
Log file location: /database/jkxt/product/11.2.0/db_1/cfgtoollogs/opatch/opatch3018-04-02_16-51-12PM_1.log
OPatch completed with warnings.
6)安装 PSU 补丁集后的补充工作
[oracle@testlihb 26925576]$ cd $ORACLE_HOME/rdbms/admin
[oracle@testlihb admin]$ sqlplus / as sysdba
SQL startup
SQL @catbundle.sql psu apply
SQL shutdown immediate
SQL exit
7)安装 OJVM 补丁集预检查
[oracle@testlihb admin]$ cd /tmp/27011017/26925532
[oracle@testlihb 27011017]$ cd 26925532
[oracle@testlihb 26925532]$ export PATH=$PATH:/database/jkzx/product/11.2.0/db_1/OPatch
[oracle@testlihb 26925532]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./
。。。
Prereq checkConflictAgainstOHWithDetail passed.
OPatch succeeded.
8)安装 OJVM 补丁集
[oracle@testlihb 26925532]$ opatch apply
。。。
OPatch continues with these patches: 26925532
Do you want to proceed? [y|n]
y
Email address/User Name:
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: y
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files…
Applying interim patch 26925532 to OH /database/jkxt/product/11.2.0/db_1
ApplySession: Optional component(s) [oracle.sqlj, 11.2.0.4.0] , [oracle.sqlj.companion, 11.2.0.4.0] not present in the Oracle Home or a higher version is found.
Patching component oracle.javavm.server, 11.2.0.4.0…
。。。
Patch 26925532 successfully applied.
Log file location: /database/jkxt/product/11.2.0/db_1/cfgtoollogs/opatch/opatch3018-04-02_17-10-13PM_1.log
OPatch succeeded.
9)安装 OJVM 补丁集的后续工作
[oracle@testlihb 26925532]$ cd $ORACLE_HOME/sqlpatch/26925532
[oracle@testlihb 26925532]$ sqlplus / as sysdba
SQL startup upgrade
SQL @postinstall.sql
SQL shutdown immediate
SQL startup
SQL @?/rdbms/admin/utlrp.sql
SQL exit
[oracle@testlihb 26925532]$ lsnrctl start
[oracle@testlihb 26925532]$ lsnrctl status
10)检查当前补丁集情况:
[oracle@testlihb 26925532]$ opatch lsinv
。。。
Installed Top-level Products (1):
Oracle Database 11g 11.2.0.4.0
There are 1 products installed in this Oracle Home.
Interim patches (2) :
Patch 26925532 : applied on Mon Apr 02 17:11:56 CST 2018
Unique Patch ID: 21750570
Patch description: OJVM PATCH SET UPDATE 11.2.0.4.180116
Created on 27 Nov 2017, 11:12:35 hrs PST8PDT
Bugs fixed:
18933818, 19176885, 17201047, 25067795, 14774730, 19153980, 21911849
。。。
Patch 26925576 : applied on Mon Apr 02 16:56:21 CST 2018
Unique Patch ID: 21773885
Patch description: Database Patch Set Update : 11.2.0.4.180116 (26925576)
Created on 5 Dec 2017, 05:23:24 hrs PST8PDT
Sub-patch 26392168; Database Patch Set Update : 11.2.0.4.171017 (26392168)
。。。
Sub-patch 17478514; Database Patch Set Update : 11.2.0.4.1 (17478514)
Bugs fixed:
21174504, 17184721, 21538558, 16091637, 18092127, 17381384, 15979965
。。。
——————————————————————————–
OPatch succeeded.
以上是“oracle 11.2.0.4 单实例打补丁的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!