检查数据库的CPU和PSU补丁信息

简单描述如何检查当前数据库的CPUPSU补丁安装情况。

正常情况下有两种方法,一种是登录数据库检查DBA_REGISTRY_HIST视图:

MODDB2:[/home/oracle]$sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Aug 18 13:04:43 2011

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Oracle Label Security, Data Mining
and Real Application Testing options

SQL> set pages 100 lines 120
SQL> col action format a6
SQL> col namespace format a10
SQL> col version format a10
SQL> col comments format a15
SQL> col action_time format a30
SQL> col bundle_series format a15
SQL> alter session set nls_timestamp_format = 'yyyy-mm-dd hh24:mi:ss.ff';

Session altered.

SQL> select * from dba_registry_history;

ACTION_TIME ACTION NAMESPACE VERSION ID BUNDLE_SERIES COMMENTS
--------------------------- ------ ---------- ---------- ---- -------------- ---------------
2011-06-02 16:54:21.301023 APPLY SERVER 10.2.0.4 4 PSU PSU 10.2.0.4.4
2011-06-02 16:54:42.711877 APPLY SERVER 10.2.0.4 1 OPSU PSU 10.2.0.4.5

另一种方式是通过opatch lsinventory方式:

MODDB2:[/home/oracle]$opatch lsinventory
Invoking OPatch 10.2.0.5.0

Oracle Interim Patch Installer version 10.2.0.5.0
Copyright (c) 2010, Oracle Corporation. All rights reserved.

Oracle Home : /oracle/db
Central Inventory : /oracle/oraInventory
from : /var/opt/oracle/oraInst.loc
OPatch version : 10.2.0.5.0
OUI version : 10.2.0.4.0
OUI location : /oracle/db/oui
Log file location : /oracle/db/cfgtoollogs/opatch/opatch2011-08-18_11-18-30AM.log

Patch history file: /oracle/db/cfgtoollogs/opatch/opatch_history.txt

Lsinventory Output file location : /oracle/db/cfgtoollogs/opatch/lsinv/lsinventory2011-08-18_11-18-30AM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (2):

Oracle Database 10g 10.2.0.1.0
Oracle Database 10g Release 2 Patch Set 3 10.2.0.4.0
There are 2 products installed in this Oracle Home.

Interim patches (4) :

Patch 6367097 : applied on Tue Sep 14 22:08:15 GMT+08:00 2010
Created on 20 Jul 2008, 23:37:14 hrs US/Pacific
Bugs fixed:
6367097

......

Bugs fixed:
9294403

OPatch succeeded.

注意,CPUPSU补丁分为两部分,首先通过opatch命令,随后还需要运行cat_bundle.sql。如果没有运行这个SQL,则补丁不算安装成功,这时通过OPATCH命令检查可以看到补丁的安装信息,但是在数据库的DBA_REGISTRY_HISTORY中是找不到对应的信息的。

PS:我建了几个oracle QQ群,欢迎数据库爱好者加入。

Oracle专家QQ1群:60632593    

Oracle专家QQ2群:60618621     

Oracle专家QQ3群:23145225