oracle 11.2.0.1 for windows server2012R2应用p12429529_112010_MSWIN-x86-64补丁集,也是oracle数据库安全加固的范畴。因为每次oracle数据库加固过程中
总会有些许意外发生,这里记录一次oracle 11.2.0.1 for windows server2012R2应用p12429529_112010_MSWIN-x86-64补丁集。
本次oracle安全加固使用的参考文档:
一、目的
针对windwos server 2012/2012R2平台上运行的oracle数据库 11.2.0.1应用目前可用最新的CPU补丁集p12429529,修复该版本数据库在日常应用中的风险漏洞,
减少应用系统架构非计划停机时间、屏蔽数据库风险漏洞被利用的可能。
二、安全加固基础信息
操作系统类型 |
数据库版本 |
预用补丁版本 |
备注 |
windows server 2012R2 |
oracle 11.2.0.1 |
p12429529_112010_MSWIN-x86-64 |
最新CPU |
windows server 2012 |
oracle 11.2.0.1 |
p12429529_112010_MSWIN-x86-64 |
最新CPU |
三、安全加固操作步骤
1、 对预用补丁集数据库的应用进行关停;
2、 对预用补丁集数据库进行基础健康检查;
3、 预用补丁集数据库备份前启停,排除已有会话干扰;
4、 对预用补丁集数据库进行备份,做expdp/rman全备;
5、 预用补丁集前数据库相关服务全部停止
a) 停止数据库监听lsnrctl stop
b) 停止数据库服务shutdown immediate;
c) 操作系统层次停止oracle相关的所有服务
6、 Opatch版本升级
a) 备份旧版本的opatch目录及文件
b) 解压新版opatch(p6880880_112000_MSWIN-x86-64)到ORACLE_HOME目录
7、 应用补丁集
a) 解压补丁集p12429529
b) 设置操作系统环境变量
c) 应用补丁集p12429529
8、 启动数据库相关服务
a) 启动数据库操作系统层次相关服务,参考5.c操作
b) 确认数据库监听状态lsnrctl status
c) 确认数据库状态
Select open_mode from v$database;
Select status from v$instance;
d) 确认补丁集应用情况 opatch lsinventory
9、 应用程序功能性验证
四、风险评估
1、 应用CPU补丁能修复已有数据库漏洞,但是也会引入新的未知oracle漏洞,CPU产生的影响需在应用日后的使用中发现。
2、 不排除CPU补丁的应用失败情况
五、失败回退
1、 尝试补丁集回滚,然后重启数据库服务,如应用测试后正常,则回滚成功;
2、 删除当前数据库,新建对应版本数据库,使用备份进行恢复,经测正常后回退成功。
---------------------------------------------------------------------------------------------------------------------
oracle 11.2.0.1 for windows server2012R2应用p12429529_112010_MSWIN-x86-64补丁集过程如下:
1、关停相关oracle数据库的应用程序
2、打补丁前数据库基础健康检查
--查看数据库实例状态
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL> select count(*) from v$session;
COUNT(*)
----------
31
SQL>
--查看数据库大小
--查看数据库归档模式,以确定数据库备份策略
--查看数据库组件状态
--查看数据库告警日志,确定数据库是否有历史遗留故障
3、 预用补丁集数据库备份前启停,排除已有会话干扰;
4、 对预用补丁集数据库进行备份,做expdp全备(由于对方库是非归档模式);
create directory zhul as 'e:\orabak';
expdp \"/ as sysdba\" directory = zhul dumpfile=expdp_full_orcl_20171201_%U.dmp expdp_full_orcl_20171201.log full=y
5、 预用补丁集前数据库相关服务全部停止
a) 停止数据库监听lsnrctl stop
C:\Users\Administrator>lsnrctl stop
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 01-12月-2017 17:14:04
Copyright (c) 1991, 2010, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hp)(PORT=1521)))
命令执行成功
b) 停止数据库服务shutdown immediate;
c) 操作系统层次停止oracle相关的所有服务
6、 Opatch版本升级
a) 备份旧版本的opatch目录及文件
b) 解压新版opatch(p6880880_112000_MSWIN-x86-64)到ORACLE_HOME目录
D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>opatch lsinventory
Oracle 中间补丁程序安装程序版本 11.2.0.3.6
版权所有 (c) 2013, Oracle Corporation。保留所有权利。
Oracle Home : D:\app\Administrator\product\11.2.0\dbhome_1
Central Inventory : C:\Program Files\Oracle\Inventory
from : n/a
OPatch version : 11.2.0.3.6
OUI version : 11.2.0.1.0
Log file location : D:\app\Administrator\product\11.2.0\dbhome_1\cfgtoollogs\opa
tch\opatch3017-12-01_17-29-01下午_1.log
Lsinventory Output file location : D:\app\Administrator\product\11.2.0\dbhome_1\
cfgtoollogs\opatch\lsinv\lsinventory2017-12-01_17-29-01下午.txt
--------------------------------------------------------------------------------
已安装的顶级产品 (1):
Oracle Database 11g 11.2.0.1.0
此 Oracle 主目录中已安装 1 个产品。
此 Oracle 主目录中未安装任何中间补丁程序。
--------------------------------------------------------------------------------
OPatch succeeded.
D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>
7、 应用补丁集
a) 解压补丁集p12429529
b) 设置操作系统环境变量
C:\Users\Administrator>set oracle_home=D:\app\Administrator\product\11.2.0\dbhome_1
c) 应用补丁集p12429529
D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>c:
c:\>cd C:\Users\Administrator\Desktop\p12429529_112010_MSWIN-x86-64\12429529
C:\Users\Administrator\Desktop\p12429529_112010_MSWIN-x86-64\12429529>D:\app\Administrator\product\11.2.0\dbhome_1\OPatch\opatch apply
Oracle 中间补丁程序安装程序版本 11.2.0.3.6
版权所有 (c) 2013, Oracle Corporation。保留所有权利。
Oracle Home : D:\app\Administrator\product\11.2.0\dbhome_1
Central Inventory : C:\Program Files\Oracle\Inventory
from : n/a
OPatch version : 11.2.0.3.6
OUI version : 11.2.0.1.0
Log file location : D:\app\Administrator\product\11.2.0\dbhome_1\cfgtoollogs\opa
tch\12429529_Dec_01_2017_17_34_20\apply2017-12-01_17-34-20下午_1.log
Applying interim patch '12429529' to OH 'D:\app\Administrator\product\11.2.0\dbhome_1'
Verifying environment and performing prerequisite checks...
Patch 12429529: Optional component(s) missing : [ oracle.rdbms.ic, 11.2.0.1.0 ]
, [ oracle.has.crs, 11.2.0.1.0 ] , [ oracle.usm, 11.2.0.1.0 ]
All checks passed.
提供电子邮件地址以用于接收有关安全问题的通知, 安装 Oracle Configuration Manager
并启动它。如果您使用 My Oracle
Support 电子邮件地址/用户名, 操作将更简单。
有关详细信息, 请访问 http://www.oracle.com/support/policies.html。
电子邮件地址/用户名:
尚未提供电子邮件地址以接收有关安全问题的通知。
是否不希望收到有关安全问题 (是 [Y], 否 [N]) [N] 的通知: Y
请关闭本地系统上在此 ORACLE_HOME 之外运行的 Oracle 实例。
(Oracle 主目录 = 'D:\app\Administrator\product\11.2.0\dbhome_1')
本地系统是否已准备打补丁? [y|n]
y
User Responded with: Y
Backing up files...
正在为组件 oracle.rdbms.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.util, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.dbscripts, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.plsql, 11.2.0.1.0 打补丁...
正在为组件 oracle.xdk.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.network.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.oraolap, 11.2.0.1.0 打补丁...
正在为组件 oracle.ntoledb.odp_net_2, 11.2.0.1.0 打补丁...
正在为组件 oracle.has.db, 11.2.0.1.0 打补丁...
正在为组件 oracle.has.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.javavm.server, 11.2.0.1.0 打补丁...
正在为组件 oracle.network.listener, 11.2.0.1.0 打补丁...
正在为组件 oracle.odbc.ic, 11.2.0.1.0 打补丁...
正在为组件 oracle.oraolap.api, 11.2.0.1.0 打补丁...
正在为组件 oracle.owb.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.precomp.common, 11.2.0.1.0 打补丁...
正在为组件 oracle.ctx, 11.2.0.1.0 打补丁...
正在为组件 oracle.has.common, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.rsf.ic, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.oci, 11.2.0.1.0 打补丁...
正在为组件 oracle.has.common.cvu, 11.2.0.1.0 打补丁...
正在为组件 oracle.has.deconfig, 11.2.0.1.0 打补丁...
正在为组件 oracle.swd.oui.core, 11.2.0.1.0 打补丁...
正在为组件 oracle.ntoledb, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.deconfig, 11.2.0.1.0 打补丁...
正在为组件 oracle.sysman.agent, 10.2.0.4.2 打补丁...
正在为组件 oracle.precomp.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.precomp.common, 11.2.0.1.0 打补丁...
正在为组件 oracle.sysman.console.db, 11.2.0.1.0 打补丁...
正在为组件 oracle.sysman.oms.core, 10.2.0.4.2 打补丁...
正在为组件 oracle.sysman.plugin.db.main.repository, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.dv.oc4j, 11.2.0.1.0 打补丁...
正在为组件 oracle.ldap.rsf, 11.2.0.1.0 打补丁...
正在为组件 oracle.ldap.rsf.ic, 11.2.0.1.0 打补丁...
正在为组件 oracle.rdbms.dv, 11.2.0.1.0 打补丁...
正在为组件 oracle.nlsrtl.rsf, 11.2.0.1.0 打补丁...
Verifying the update...
Patch 12429529 successfully applied
Log file location: D:\app\Administrator\product\11.2.0\dbhome_1\cfgtoollogs\opat
ch\12429529_Dec_01_2017_17_34_20\apply2017-12-01_17-34-20下午_1.log
OPatch succeeded.
C:\Users\Administrator\Desktop\p12429529_112010_MSWIN-x86-64\12429529>d:
D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>
D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>opatch lsinventory
Oracle 中间补丁程序安装程序版本 11.2.0.3.6
版权所有 (c) 2013, Oracle Corporation。保留所有权利。
Oracle Home : D:\app\Administrator\product\11.2.0\dbhome_1
Central Inventory : C:\Program Files\Oracle\Inventory
from : n/a
OPatch version : 11.2.0.3.6
OUI version : 11.2.0.1.0
Log file location : D:\app\Administrator\product\11.2.0\dbhome_1\cfgtoollogs\opa
tch\opatch3017-12-01_17-38-33下午_1.log
Lsinventory Output file location : D:\app\Administrator\product\11.2.0\dbhome_1\
cfgtoollogs\opatch\lsinv\lsinventory2017-12-01_17-38-33下午.txt
--------------------------------------------------------------------------------
已安装的顶级产品 (1):
Oracle Database 11g 11.2.0.1.0
此 Oracle 主目录中已安装 1 个产品。
中间补丁程序 (1) :
Patch 12429529 : applied on Fri Dec 01 17:35:58 CST 2017
Unique Patch ID: 13854432
Created on 17 Jun 2011, 02:07:52 hrs PST8PDT
Bugs fixed:
12429529, 9554332, 12363485, 10625485, 9268192, 9935787, 10205230
12412745, 12393432, 12341758, 10130392, 11853331, 6055658, 11723722
11735927, 11772687, 9902590, 9871302, 10132870, 7365514, 10422748
10180190, 9825461, 11731176, 9368502, 9705984, 10302581, 10130633
8331063, 10237271, 10082277, 10054513, 9695366, 8889137, 10383833
11076894, 10220194, 10401327, 9042035, 10235640, 9564886, 10104492
9302054, 10374238, 9613016, 10432045, 8772524, 10357603, 9243068, 9448277
8672862, 9725141, 9328390, 9275876, 9033671, 10154951, 9890701, 9628444
10352692, 10086495, 10155684, 10156303, 10157313, 10201938, 10220033
10278864, 8332021, 8771916, 8800514, 8874588, 8946311, 9003145, 9115829
9131242, 9240305, 9398685, 9469117, 9569029, 9751158, 8446618, 10245351
10052141, 10116578, 10134677, 10140809, 10157402, 10172454, 7662438
8397251, 8499180, 8522654, 9090269, 9234660, 9255996, 9395237, 9461782
9668086, 9703463, 9736701, 9795214, 9823660, 9826065, 9866728, 9916260
9972680, 9524640, 8841699, 10216200, 10225758, 10155838, 10030675
10080167, 10132342, 6866145, 8790561, 8984021, 9096076, 9137871, 9193873
9277263, 9303326, 9457109, 9457492, 9472669, 9539440, 9659614, 9845644
9903704, 9920616, 9930649, 10100101, 8780369, 8866808, 8883722, 9004242
9021724, 9028780, 9049725, 9058865, 9212844, 9243912, 9306119, 9350527
9387574, 9399991, 9413827, 9488247, 9498108, 9500147, 9532911, 9544104
9548269, 9578533, 9593656, 9594372, 9706490, 9721013, 9734300, 9746699
9764806, 9770451, 9778018, 9799342, 9828495, 9881328, 9932143, 10080735
9901433, 9966926, 8574851, 8790837, 8802195, 8863249, 8981681, 8993052
9198871, 9217088, 9300021, 9369183, 9442189, 9500046, 9648040, 9657283
9685694, 9772171, 9847494, 9793452, 9888298, 9135679, 9495697, 9081430
6855031, 8793567, 9286015, 9442015, 9504322, 9535951, 8684595, 9663844
9539556, 7452759, 9196440, 8893949, 9011590, 9382101, 9775337, 9083671
9324531, 8654177, 8569325, 8686932, 9271344, 8434467, 6086930, 9024737
9047975, 9056912, 9069046, 9336476, 9355794, 9495669, 8467123, 8663644
8855396, 8886819, 8951812, 8467825, 9187546, 9102860, 9109487, 8546356
9170308, 8725282, 9308296, 9406607, 8720802, 9711859, 9531984, 9482399
9471411, 9390484, 9362218, 9320786, 9320130, 9302343, 9290526, 9231605
8554900, 9490054, 9389304, 8783690, 9577583, 9736229, 9259407, 8602840
9469133, 8682102, 9693101, 9898160, 9669478, 9736865, 7327630, 8268775
8505803, 8544696, 8565708, 8633358, 8664189, 8702535, 8755082, 8771556
8783301, 8790767, 8799099, 8803762, 8839301, 8856478, 8865718, 8872096
8909984, 8974548, 8981059, 8991997, 9023338, 9032717, 9057443, 9119194
9145181, 9147830, 9165206, 9170608, 9216806, 9219338, 9227662, 9255542
9275072, 9321701, 9341448, 9363145, 9363384, 9391025, 9399090, 9467635
9488887, 9637033, 9711600, 9713537, 9714832, 9719541, 9736836, 7028305
7519406, 8330783, 8431487, 8477973, 8496830, 8581792, 8607693, 8643160
8650719, 8717461, 8730312, 8774868, 8813536, 8815639, 8822531, 8822832
8834425, 8875671, 8879707, 8891929, 8914054, 8918433, 9001453, 9002336
9007859, 9010222, 9011088, 9015983, 9027691, 9035113, 9041943, 9050716
9053676, 9054253, 9057754, 9067282, 9068088, 9093300, 9120088, 9145541
9167285, 9189070, 9202351, 9271246, 9272086, 9294110, 9298307, 9316329
9378712, 9395500, 9408883, 9467727, 9504129, 9561609, 9584383, 9657157
9661684, 9489422, 9595786, 8405205, 8543770, 8856467, 8998066, 8897784
9004697, 9007836, 9036013, 9037724, 9047110, 9318214, 8328200, 8570322
8629716, 8761974, 8857211, 8885539, 9035438, 8971021, 8685327, 8707506
8866903, 8771297, 8772028, 8796511
--------------------------------------------------------------------------------
OPatch succeeded.
D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 12月 1 17:59:34 2017
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> STARTUP
SQL> @catcpu.sql
SQL> @utlrp.sql
SQL> quit
8、 启动数据库相关服务
a) 启动数据库操作系统层次相关服务,参考5.c操作
b) 确认数据库监听状态lsnrctl status
C:\Users\Administrator>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 01-12月-2017 20:38:48
Copyright (c) 1991, 2010, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期 01-12月-2017 20:38:43
正常运行时间 0 天 0 小时 0 分 5 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件 d:\app\administrator\diag\tnslsnr\XXFB02\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=XXFB02)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 3 个处理程序...
命令执行成功
c) 确认数据库状态
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 12月 1 17:39:34 2017
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
SQL> select status from v$instance;
STATUS
------------
OPEN
COMP_ID COMP_NAME VERSION STATUS
--------------- ------------------------------ --------------- ----------------------
OWB OWB 11.2.0.1.0 VALID
APEX Oracle Application Express 3.2.1.00.10 VALID
EM Oracle Enterprise Manager 11.2.0.1.0 VALID
AMD OLAP Catalog 11.2.0.1.0 VALID
SDO Spatial 11.2.0.1.0 VALID
ORDIM Oracle Multimedia 11.2.0.1.0 VALID
XDB Oracle XML Database 11.2.0.1.0 VALID
CONTEXT Oracle Text 11.2.0.1.0 VALID
EXF Oracle Expression Filter 11.2.0.1.0 VALID
RUL Oracle Rules Manager 11.2.0.1.0 VALID
OWM Oracle Workspace Manager 11.2.0.1.0 VALID
CATALOG Oracle Database Catalog Views 11.2.0.1.0 VALID
CATPROC Oracle Database Packages and T 11.2.0.1.0 VALID
ypes
JAVAVM JServer JAVA Virtual Machine 11.2.0.1.0 VALID
XML Oracle XDK 11.2.0.1.0 VALID
CATJAVA Oracle Database Java Packages 11.2.0.1.0 VALID
APS OLAP Analytic Workspace 11.2.0.1.0 VALID
XOQ Oracle OLAP API 11.2.0.1.0 VALID
已选择18行。
SQL>
过程中可能遇到的异常
1、有时候虽然停止了数据库操作系统层次的所有服务,但是应用补丁时依然有报错:
以上报错原因,虽然oracle相关服务已经停止,但是之前连接到数据库的进程还占用数据库软件部分文件,导致OPatch无法应用补丁,需要完全释放
oracle数据库软件的文件,解决方法是:重启数据库服务器,注意需要将oracle相关的服务全部暂时调整至手动启动,补丁应用完后调整到原先的设置。
2、安装了oracle数据库客户端的服务器需要临时调整操作系统PATH变量,否则无法登陆数据库
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 12月 1 20:29:40 2017
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS: 协议适配器错误
请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误
请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误
SP2-0157: 在 3 次尝试之后无法连接到 ORACLE, 退出 SQL*Plus
C:\Users\Administrator>
--调整前:
D:\app\Administrator\product\11.2.0\client_1;D:\app\Administrator\product\11.2.0\dbhome_1\bin;C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn\;C:\AltiServ\Exe;C:\AltiServ\SP\H323SP;C:\Program Files (x86)\AltiGen\VRManager\bin
--临时调整
D:\app\Administrator\product\11.2.0\dbhome_1\bin;C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn\;C:\AltiServ\Exe;C:\AltiServ\SP\H323SP;C:\Program Files (x86)\AltiGen\VRManager\bin
3、本次打补丁一共实施了3个oracle实例,过程中就有一个实例从高级日志中确定其临时表空间有问题,备份的时候因临时表空间问题无法备份
关于临时表空间有问题的实例解决方法是重建临时表空间