绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
因为漏洞扫描借机谈谈打补丁这事
2020-09-02 16:36:20


做Oracle数据库的运维,打补丁这事是必须面对的,这是世界上哪里会有没有bug的软件呢,其实一个通用软件
面对这个世界这么复杂的使用环境,有一系列的补丁策略、流程、标准本身也是十分成熟软件公司的体现。
我们基本会遇到如下几种情况需要打补丁
1 安装时需要打RU或者叫PSU(12C之前),这个补丁集是Oracle每个个季度发布一次,1,4,7,10月份
这是新的补丁集,往往在安装数据库时,处于安全考虑可以直接打新的RU。
2 生产库遇到bug ,但又不想大动干戈打RU和PSU,有的也不包含着后续的RU中。这时就需要根据Oracle的要求
打对应的补丁。近我们在做漏洞扫描,从应用软件,中间件到数据库,我就从一个11.2.0.3.0版本的数据库开始说起吧,不要问
到2020年了怎么还跑十几年前的数据库,我们在维护中有大量这样的库存在,原因bulabulabula,好吧,这个你也应该懂得

漏洞扫描发现了近100个漏洞,但是经过分析,我们发现只需要打一个PSU和一个修改网络配置文件的方式就可以
解决扫描到的所有漏洞。下面是我写总结时的记录:
总结:
(1) 从分析看,只需要Patch:p21150891_112030_Linux-x86-64即可,该patch包含:
COMBO OF OJVM COMPONENT 11.2.0.3.4 DB PSU + DB PSU 11.2.0.3.15 (JUL2015)
(2) Oracle数据库TNS Listener远程代码执行漏洞(CVE-2012-1675)
参考MOS文档解决:
Using Class of Secure Transport (COST) to Restrict Instance Registration (Doc ID 1453883.1)

下面我们分析这个PSU和打补丁过程,这个Patch包括两个patch一个针对OJVM的一个针对DB的。解压补丁p21150891_112030_Linux-x86-64
后,确实有个两个补丁。如下所示:
20760997
21068553
我们打开一个比如20760997 ,这里我们需要认真读readme信息,这是数据库补丁
Patch 20760997 - Database Patch Set Update 11.2.0.3.15 (Includes CPUJul2015)
readme我们主要关注几个部分:
1 Patch Information
(1)累积的PSU (2)RAC Rolling Installable (3)DataGuard Standby-first Installable
(4) Oracle home必须是 11.2.0.3.0
2 Prerequisites
OPatch 版本11.2.0.3.0 或更高
3 Installation
3.1, "安装前的准备工作"
(1) 跟集群相关的注意事项
(2)环境检查,主要是$PATH环境变量
(3)补丁冲突
unzip p20760997_11203_<platform>.zip
cd 20760997
opatch prereq CheckConflictAgainstOHWithDetail -
3.2 Patch 安装
与DG和RAC相关注意事项这里忽略,大家可以根据实际整理一个自己环境的完整流程,我这里是单
实例,就忽略了。
unzip p20760997_11203_<platform>.zip
cd 20760997
opatch apply
注意:这里需要关闭数据库,监听以及RAC的trf之类的相关进程。

3.3 Patch 安装之后的操作
(1) 3Loading Modified SQL Files into the Database
具体操作为:
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT
(2) 如果需要 ,升级RMAN 的 Catalog


$ rman catalog username/password@alias
RMAN> UPGRADE CATALOG;

4 补丁回退
确定文件$ORACLE_HOME/rdbms/admin/catbundle_PSU_<database SID>_ROLLBACK.sql存在
关闭数据库实例和监听
补丁回退:opatch rollback -id 20760997

这里是针对单实例的过程,如果是集群或者DG环境,根据readme具体整理吧,readme中都说的
很清楚,尤其是前提条件务必满足,比如OPatch版本,安装目录空间要求等,这里我们借机作为例子说明readme的内容。



分享好友

分享这个小栈给你的朋友们,一起进步吧。

Oracle运维新鲜事-技术与管理各占半边天
创建时间:2020-08-04 11:34:57
本技术栈旨在分享技术心得,运维趣事,故障处理经验,调优案例,故障处理涉及集群,DG,OGG,大家生产中遇到的问题基本都会囊括了,我会发布生产库遇到的故障,希望在交流中互助互益,共同提高,也希望大家讨论,如果您有生产中遇到的集群问题,也可以在这里提出来,一起讨论,现实中也帮助不少同学解决了生产库的故障。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • Abraham林老师
    栈主
  • 小雨滴
    嘉宾
  • hawkliu
    嘉宾
  • u_97a59a25246404
    嘉宾

小栈成员

查看更多
  • 栈栈
  • dapan
  • 小菜鸟___
  • hwayw
戳我,来吐槽~