oracle数据库opatch补丁操作流程

1、 确认数据库版本
SQL> select * from v$version;

2、 查询补丁安装信息

SQL> select * from dba_registry_history;

Oracle数据库补丁一般分为两种CPU和PSU补丁。

Oracle PSU的全称是Patch Set Update,Oracle对于其产品每个季度发行一次的补丁包,包含了bug的修复。
Oracle选取被用户下载数量多,且被验证过具有较低风险的补丁放入到每个季度的PSU中。在每个PSU中不但包含Bug的修复而且还包含了最新的CPU。PSU通常随CPU一起发布。
PSU通常是增量的,大部分PSU可以直接安装,但有些PSU则必须要求安装了上一个版本的PSU之后才能继续安装,要仔细看各个PSU的Readme文档。

Oracle CPU的全称是Critical Patch Update, Oracle对于其产品每个季度发行一次安全补丁包,通常是为了修复产品中的安全隐患。CPU是累积的(Cumulative),

即最新的CPU补丁已经包含以往的CPU补丁,所以只要安装最新的CPU补丁即可。安全漏洞整改时我们要安装的是CPU补丁。

5、 查询补丁信息

登陆oracle官网安全专题http://www.oracle.com/technetwork/topics/security点击learn More,找到Critical Path Update Advisory

升级过程:

1、升级OPatch工具
[oracle@oggtarget OPatch]$ ./opatch version
OPatch Version: 11.2.0.3.4
OPatch succeeded.

查看已安装补丁

[oracle@oggtarget db_1]$  $ORACLE_HOME/OPatch/opatch lsinv

p26031190_112040_Linux-x86-64.zip

 

打补丁过程

目录结构

1.26031190

2.|

3.|- README.txt

4.|

5.|- README.html

6.|

7.|- /

8.|      --README.html

9.|      -- <other files and directories>

10.  |

11.  |- /

12.  |      --README.html

13.  |      -- <other files and directories>

 

升级过程:

1、升级OPatch工具

[oracle@oggtarget OPatch]$ ./opatch version

OPatch Version: 11.2.0.3.4

OPatch succeeded.

 

查看已安装补丁

[oracle@oggtarget db_1]$ $ORACLE_HOME/OPatch/opatch lsinv

 

 

其中打补丁过程过程

 

升级应用程序

$ORACLE_HOME/OPatch/opatch napply -skip_subset -skip_duplicate

 

升级数据库

cd $ORACLE_HOME/rdbms/admin

sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> STARTUP

SQL> @catbundle.sql cpu apply

SQL> QUIT

 

cd $ORACLE_HOME/rdbms/admin

sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> @utlrp.sql

 

 

 

其中打补丁过程过程

 

升级应用

$ cd <PATCH_TOP_DIR>/26027154

$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./

-----检查是否冲突

$ORACLE_HOME/OPatch/opatchapply------------------安装----注意在补丁目录

 

$ ORACLE_HOME/OPatch/opatchlsinventory-------------检查补丁安装情况

 

升级数据

cd $ORACLE_HOME/sqlpatch/26027154

sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> startup upgrade

SQL> @postinstall.sql

SQL> shutdown

SQL> startup

 

cd $ORACLE_HOME/sqlpatch/26027154

sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> STARTUP

SQL> alter system set cluster_database=false scope=spfile;

SQL> SHUTDOWN

SQL> STARTUP UPGRADE

SQL> @postinstall.sql

SQL> alter system set cluster_database=true scope=spfile;

SQL> SHUTDOWN

SQL> STARTUP

 

cd $ORACLE_HOME/rdbms/admin

sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> @utlrp.sql