Oracle Database PSU/CPU
1. 什么是PSU/CPU?
CPU: Critical Patch Update
Oracle对于其产品每个季度发行一次的安全补丁包,通常是为了修复产品中的安全隐患。
PSU: Patch Set Updates
Oracle对于其产品每个季度发行一次的补丁包,包含了bug的修复。Oracle选取被用户下载数量多的,并且被验证过具有较低风险的补丁放入到每个季度的PSU中。在每个PSU中不但包含Bug的修复而且还包含了最新的CPU。
2. 如何查找最新的PSU?
每个数据库版本都有自己的PSU,PSU版本号体现在数据库版本的最后一位,比如最新的10.2.0.5的PSU是10.2.0.5.3,而11.2.0.2的最新PSU则是11.2.0.2.2。
MOS站点中Oracle
Recommended Patches — Oracle Database [ID 756671.1]
文档中查到各个产品版本最新的PSU。
如果你记不住这个文档号,那么在MOS中以“PSU”为关键字搜索,通常这个文档会显示在搜索结果的最前面。
注意:必须购买了Oracle基本服务获取了CSI号以后才有权限登陆MOS站点。
3. 如何正确安装PSU?
每个PSU安装包中都包含一个README.html文档,其中描述了如何安装该PSU,有些PSU是可以直接安装的,而有些PSU则必须要求安装了上一个版本的PSU之后才能继续安装。比如对于10.2.0.4版本的数据库来说,PSU
10.2.0.4.4可以直接安装在最原始的10.2.0.4.0版本中,而最新的PSU
10.2.0.4.8则必须要求先安装10.2.0.4.4。这些信息在README.html中都可以找到,所以请仔细阅读该文档。
通常安装PSU是比较简单的,步骤如下:
1)
安装PSU需要使用到opatch,在README.html中有描述该PSU需要的最低版本opatch,如果当前opatch版本过低,则需要先下载 Patch
6880880,该Patch中包含最新的opatch,只需要解压覆盖原先的$ORACLE_HOME/OPatch目录即可。
查看当前的opatch版本,可以使用opatch version命令。
$ opatch version
Invoking OPatch 10.2.0.5.2
OPatch Version: 10.2.0.5.2
OPatch succeeded.
2)安装PSU,请仔细阅读README.html,确认安装命令,通常是简单的opatch
apply。
3)更新数据库,将修改过的SQL文件应用到数据库中,很多DBA在执行完上述安装命令以后就不再进行这一步,那么实际上PSU是没有完整安装的。
cd $ORACLE_HOME/rdbms/admin
sqlplus / as sysdba
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT
注意:如果PSU是overlay
PSU,比如10.2.0.4.8,则需要执行@catbundle.sql opsu
apply,同样这些在README.html中都有详细描述。
4)重新编译CPU相关视图。该步骤在一个数据库上永远只需要执行一次,是为了完成在2008年1月份第一次发布CPU补丁时的后续工作,如果在安装以前的PSU或者CPU时执行过这个步骤那么就可以无需再次执行,另外,即使不执行该步骤,数据库也是正常运行的,只不过意味着2008年1月份的
CPU补丁没有正常结束安装。
cd $ORACLE_HOME/cpu/view_recompile
sqlplus / as sysdba
SQL> @recompile_precheck_jan2008cpu.sql
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP UPGRADE
SQL> @view_recompile_jan2008cpu.sql
SQL> SHUTDOWN;
SQL> STARTUP;
SQL> QUIT
注意:该步骤由于需要重新编译大量视图,因此要启动数据库到upgrade状态才可以完成。也就是将引起停机时间。
4.
如何确认当前数据库已经安装了什么PSU/CPU?
无论是从V$VERSION或者DBA_REGISTRY或者PRODUCT_COMPONENT_VERSION视图中,都无法查找到PSU的信息,这些视图中始终显示的是最原始的版本,比如10.2.0.4.0。
最常用的方法是使用opatch命令。在打完最新的PSU
10.2.0.4.8的10.2.0.4数据库中会有以下显示。
$ opatch lsinventory -bugs_fixed | grep -i
'DATABASE PSU'
9654991 11724977 Wed May 25 16:37:17 CST 2011
DATABASE PSU 10.2.0.4.5 (REQUIRES PRE-REQUISITE
9952234 11724977 Wed May 25 16:37:17 CST 2011
DATABASE PSU 10.2.0.4.6 (REQUIRES PRE-REQUISITE
10248636 11724977 Wed May 25 16:37:17 CST 2011
DATABASE PSU 10.2.0.4.7 (REQUIRES PRE-REQUISITE
11724977 11724977 Wed May 25 16:37:17 CST 2011
DATABASE PSU 10.2.0.4.8 (REQUIRES PRE-REQUISITE
8576156 9352164 Wed May 25 15:10:48 CST 2011
DATABASE PSU 10.2.0.4.1 (INCLUDES CPUJUL2009)
8833280 9352164 Wed May 25 15:10:48 CST 2011
DATABASE PSU 10.2.0.4.2 (INCLUDES CPUOCT2009)
9119284 9352164 Wed May 25 15:10:48 CST 2011
DATABASE PSU 10.2.0.4.3 (INCLUDES CPUJAN2010)
9352164 9352164 Wed May 25 15:10:48 CST 2011
DATABASE PSU 10.2.0.4.4 (INCLUDES CPUAPR2010)
另外的方法是查看registry$history表。
SQL> select action,comments from
registry$history;
ACTION COMMENTS
-------------------------------
--------------------
APPLY PSU 10.2.0.4.4
APPLY PSU 10.2.0.4.8
CPU view
recompilation
注意:该表的内容是在上述安装PSU步骤的第三步中运行catbundle.sql才会插入的,因此如果该步骤忘记执行,则此表中无记录。因此我们在作数据库健康检查的时候不但要用opatch检查当前数据库最新的PSU补丁,也要检查registry$history表,以确认其它DBA是否正确地完成了PSU的安装。
如果多个PSU的安装都忘记了执行上述第三步,可以通过以下方法依次补作。
$ ls -l $ORACLE_HOME/psu
total 0
drwxrwxrwx 2 oracle dba 96 Oct 16 2010
10.2.0.4.4
drwxrwxrwx 2 oracle dba 96 Oct 16 2010
10.2.0.4.5
$sqlplus / as sysdba
SQL> @?/psu/10.2.0.4.4/catpsu.sql
SQL>
@?/psu/10.2.0.4.5/catopsu.sql
更多关于CPU的信息,可以参看:Maclean的了解Oracle Critical Patch Update。
5. 参考文档。
Oracle Recommended Patches — Oracle
Database [ID 756671.1]
Patch Set Updates for Oracle Products
[ID 854428.1]
Introduction To Oracle Database
catbundle.sql [ID 605795.1]
How to confirm that a Critical Patch
Update (CPU) has been installed in Linux / UNIX [ID 821263.1]
转载:http://www.cnblogs.com/ebs-blog/archive/2011/07/28/2167232.html
Oracle Database PSU/CPU的更多相关文章
- 【转】Oracle Database PSU/CPU
转自: http://www.cnblogs.com/ebs-blog/archive/2011/07/28/2167232.html 1. 什么是PSU/CPU?CPU: Critical Patc ...
- Oracle Database常用补丁集Patch号及各版本PSU
Oracle Database常用补丁集Patch号及各版本PSU------------------------------------------------------------------- ...
- oracle数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1)
数据库 PSU,SPU(CPU),Bundle Patches 和 Patchsets 补丁号码快速参考 (文档 ID 1922396.1) 文档内容 用途 详细信息 Patchsets ...
- [转帖]Oracle 补丁体系(PSR/PSU/CPU) 及 opatch 工具 介绍
Oracle 补丁体系(PSR/PSU/CPU) 及 opatch 工具 介绍 原文:http://blog.csdn.net/tianlesoftware/article/details/58095 ...
- Oracle Recommended Patches -- "Oracle JavaVM Component Database PSU" (OJVM PSU) Patches (文档 ID 1929745.1)
From: https://support.oracle.com What is "Oracle JavaVM Component Database PSU" ? Oracle J ...
- Opatching PSU in Oracle Database 11g Release 2 RAC on RHEL6
Opatching PSU in Oracle Database 11g Release 2(11.2.0.4) RAC on RHEL6 1) 升级opatch工具 1.1) For GI home ...
- Oracle® Database Patch 19121551 - Database Patch Set Update 11.2.0.4.4 (Includes CPUOct2014) - 傲游云浏览
Skip Headers Oracle® Database Patch 19121551 - Database Patch Set Update 11.2.0.4.4 (Includes CPUOct ...
- 转 Oracle最新PSU大搜罗
Quick Reference to Patch Numbers for Database/GI PSU, SPU(CPU), Bundle Patches and Patchsets (文档 ID ...
- Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
ORACLE集群概念和原理(二) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
随机推荐
- php环境重启
php-fpm mysql nginx 一个lnmp的服务,主要就是靠这三个来维持的. 重启nginx # /usr/local/nginx/sbin/nginx -s stop # /usr/loc ...
- 100W数据,测试复合索引
复合索引不是那么容易被catch到的. 两个查询条件都是等于的时候,才会被catch到. mysql> select count(*) from tf_user_index where sex ...
- Java回顾之多线程同步
在这篇文章里,我们关注线程同步的话题.这是比多线程更复杂,稍不留意,我们就会“掉到坑里”,而且和单线程程序不同,多线程的错误是否每次都出现,也是不固定的,这给调试也带来了很大的挑战. 在这篇文章里,我 ...
- python numpy 学习
例子 >>> import numpy as np >>> a = np.arange(15).reshape(3, 5) >>> a array ...
- Assert 类
Assert 类 使用 true/false 命题验证单元测试中的条件. 继承层次结构 System.Object Microsoft.VisualStudio.TestTools.Uni ...
- spring boot 使用velocity模板(十六)
(不要使用这种模板了,spring boot最新版已经不支持了.使用FreeMarker吧:http://blog.csdn.net/clementad/article/details/5194262 ...
- Hadoop本地安装
安装JDK卸载已经安装的JDK安装sun公司的JDK安装Hadoop(本地方式)解压并安装启动测试程序 安装JDK 卸载已经安装的JDK rpm -qa|grep jdk rpm -qa|grep g ...
- C++面向对象高级编程(九)Reference与重载operator new和operator delete
摘要: 技术在于交流.沟通,转载请注明出处并保持作品的完整性. 一 Reference 引用:之前提及过,他的主要作用就是取别名,与指针很相似,实现也是基于指针. 1.引用必须有初值,且不能引用nul ...
- ubuntu:在ubuntu上安装vmware12
在ubuntu上安装vmware12 下载vmware12 https://pan.baidu.com/s/1i5BQEmL 官方的 密匙 5A02H-AU243-TZJ49-GTC7K-3C ...
- Linux:自动获取静态IP地址,清空iptable,修改selinux脚本
自动获取静态IP地址,清空iptable,修改selinux脚本 环境:VMware 平台:centos6.8全新 功能: 1)应用ifconfig -a,route -n,cat /etc/reso ...