当前位置:  数据库>oracle

[Oracle] CPU/PSU补丁安装详细教程

    来源: 互联网  发布时间:2014-10-04

    本文导语:  什么是CPU/PSUOracle CPU的全称是Critical Patch Update, Oracle对于其产品每个季度发行一次安全补丁包,通常是为了修复产品中的安全隐患。Oracle PSU的全称是Patch Set Update,Oracle对于其产品每个季度发行一次的补丁包,包含了bug的修复。O...

什么是CPU/PSU

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

Oracle PSU的全称是Patch Set Update,Oracle对于其产品每个季度发行一次的补丁包,包含了bug的修复。Oracle选取被用户下载数量多,且被验证过具有较低风险的补丁放入到每个季度的PSU中。在每个PSU中不但包含Bug的修复而且还包含了最新的CPU。PSU通常随CPU一起发布。

CPU是累积的(Cumulative),即最新的CPU补丁已经包含以往的CPU补丁,所以只要安装最新的CPU补丁即可。
PSU通常也是增量的,大部分PSU可以直接安装,但有些PSU则必须要求安装了上一 个版本的PSU之后才能继续安装,要仔细看各个PSU的Readme文档。

如何下载CPU/PSU

注意:要下载CPU/PSU,必须要有Oracle Support账号才行!
到Oracle CPU主页 ,可以看到每个季度发布的CPU补丁列表(如下图所示),根据你的需要选择相应的CPU补丁即可,这里选择July2011年的补丁。



每个补丁只针对特定的数据库版本,你要找到对应的数据库版本(如下图所示),这里的数据库版本为11.2.0.1,如果找不到,说明该补丁不支持该版本数据库。



右边点击Database链接,就是该补丁的一个详细说明文档,找到3.1.3 Oracle Database,并点击相应的数据库版本(如下图所示)


在相应的数据库版本里,可以看到各个平台下CPU和PSU版本号,前面已经说过,PSU包含CPU,所以建议尽量安装PSU,注意:这里的UNIX平台也包括Linux


点击上面的版本号,会自动跳到Oracle Support下载页面,如下图所示。选择相应的平台后,点击Readme可以查看Readme文档,点击Download下载

阅读Readme文档
每个CPU/PSU都有一个Readme文档,关于该CPU/PSU的所有信息都在Readme文档里,一定要仔细阅读。
有两个部分要特别注意:
1)OPatch的版本,你可以通过opatch version命令查看Oracle Home当前的OPatch版本,如果低于Readme规定的最低版本,一定要先升级OPatch才能打补丁。
2)打Patch步骤:基本上所有的CPU/PSU都大同小异,具体步骤将在下面的例子中展示。
安装CPU/PSU补丁
1)事先检查:查看数据库打补丁前信息,保留现场
在打补丁前最好把数据库的一些基本信息保留下来,以备不时之需。

代码如下:

set line 150
set pagesize 99
col action_time for a30
col action for a30
col comments for a90
col object_name for a30
col object_type for a30
col comp_name for a50
col comp_id for a20
--查看实例名
sys@ORCL>select instance_name,status from v$instance;
INSTANCE_NAME    STATUS
---------------- ------------
orcl             OPEN
--查看数据库版本
sys@ORCL>select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
--查看数据库大小
sys@ORCL>select sum(bytes)/1024/1024||'M' from dba_segments;
SUM(BYTES)/1024/1024||'M'
-----------------------------------------
68058.375M
--查看组件信息
sys@ORCL>select COMP_ID,COMP_NAME,VERSION,STATUS from DBA_REGISTRY;
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 Types                 11.2.0.1.0                     VALID
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 rows selected.
--查看补丁情况
sys@ORCL>select ACTION_TIME, ACTION, COMMENTS from sys.DBA_REGISTRY_HISTORY;
no rows selected
--查看无效对象
sys@ORCL>select count(*) from dba_objects where status'VALID';
  COUNT(*)
----------
       123
sys@ORCL> select object_name,object_type,owner,status from dba_objects where status'VALID';
sys@ORCL>spool off

2)备份数据库
这里对全库进行备份,以防打补丁出现意外,可以从备份集中恢复数据。
先关闭监听器,关闭数据库实例,将其启到mount状态,然后用rman进行冷备。
3)备份Oracle软件
把Oracle软件打包备份
4)安装Opatch
代码如下:

--首先,查看当前的OPatch版本
[oracle@data ~]$ opatch version
Invoking OPatch 11.1.0.6.6
OPatch Version: 11.1.0.6.6
OPatch succeeded.
--如果当前的Opatch版本不够,下载最新的Opatch,覆盖原来的opatch即可
[oracle@data psu_jul_2011]$ unzip p6880880_112000_Linux-x86-64.zip
--unzip之后,在当前文件夹下出现OPatch文件夹
[oracle@data psu_jul_2011]$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_20130705
[oracle@data psu_jul_2011]$ cp -r ./OPatch $ORACLE_HOME
[oracle@data psu_jul_2011]$ opatch version
OPatch Version: 11.2.0.3.4
OPatch succeeded.

5)安装补丁(Oracle软件部分)
首先,通过opatch lsinventory 查看之前打过的补丁信息。
然后解压缩补丁文件:
代码如下:

[oracle@data psu_jul_2011]$ unzip p12419378_112010_Linux-x86-64.zip
[oracle@data psu_jul_2011]$ cd 12419378

最后在补丁的主目录下执行opatch apply,等待5~10分钟即可(注意:一定要先完全关闭数据库和监听器)
代码如下:

[oracle@data 12419378]$ pwd
/home/oracle/psu_jul_2011/12419378
[oracle@data 12419378]$ opatch apply

如果最后有warnings一般都没什么问题,只要不是error就好。
6)安装补丁(数据库部分)
这步比较简单,就是跑catbundle脚本,但时间比较长,10分钟左右(视机器性能而定)
代码如下:

cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT

7)重新编译CPU相关视图 (如果是PSU可略过次步骤)
该步骤在一个数据库上永远只需要执行一次,是为了完成在2008年1月份第一次发布CPU补丁时的后续工作,如果在安装以前的PSU或者CPU时执行过这个步骤那么就可以无需再次执行,另外,即使不执行该步骤,数据库也是正常运行的,只不过意味着2008年1月份的 CPU补丁没有正常结束安装。
代码如下:

SQL> SELECT * FROM registry$history where ID = '6452863';

上面这条语句用于判断是否已经执行过,如果有行数返回,说明已经执行过,可跳过该步骤;
如果没有行数返回,则可根据以下步骤重新编译CPU/PSU相关视图:
代码如下:

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

8)事后检查
该步骤可以和第1)步的事先检查对照
先编译无效对象:
代码如下:

@?/rdbms/admin/utlrp.sql

代码如下:

set line 150
set pagesize 99
col action_time for a30
col action for a30
col comments for a90
col object_name for a30
col object_type for a30
col comp_name for a50
col comp_id for a20
SQL> spool post_check.log
SQL> select instance_name,status from v$instance;
SQL> select COMP_ID,COMP_NAME,VERSION,STATUS from DBA_REGISTRY;
SQL> select ACTION_TIME, ACTION, COMMENTS from DBA_REGISTRY_HISTORY;
SQL> select owner,object_name,object_type,status from dba_objects where status'VALID';
SQL> select count(*) from dba_objects where status'VALID';
SQL> spool off


    
 
 

您可能感兴趣的文章:

  • Oracle将发布41个安全补丁
  • 急求SCO UNIX 5.06的ORACLE补丁包oss459a.z,请问各位大侠,哪里可以下载,急等!!!
  • AS3安装Oracle 9.2.0前,打补丁出错,导致系统无法引导.大侠们帮忙
  • turbolinux7.1 安装 oracle817 的问题 补丁binutils-2.11.92.0.7-2.i586.rpm不能安装
  • 那位仁兄有oracle8i for red hat linux9 的 glibc-2.1.3-stubs.tar.gz 补丁程序?急用!
  • 快一个月了,我参考了所有的安装帖子,下了所有的补丁,Oracle安装依然出错。为什么??想哭。
  • VMware中linux环境下oracle安装图文教程(二)ORACLE 10.2.05版本的升级补丁安装
  • oracle for Linux 的补丁在哪里下??我怎么在Oracle的站点上找不到??
  • Linux下安装Oracle 11G的语义网补丁
  • [Oracle] Data Guard CPU/PSU补丁安装详细教程
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • 请问:谁在linux下安装过oracle?详细安装步骤共享一下吧!我有急用。谢谢了!
  • 那里有免费的oracle odbc driver for linux?或怎么破解easysoft oracle odbc driver安装包?急
  • 在redhat9.0下,能安装oracle的客户端么?? 哪里下载,怎么安装?
  • 安装oracle9时,安装界面的字体无法正确显示,怎么解决啊???
  • Linux下的Oracle安装问题(非常问题)
  • 有人在fedora 10下安装 oracle database 11g,没有呀?提供个安装步骤
  • Linux安装oracle,菜鸟急用!
  • 在ubuntu安装oracle的疑问
  • 在Redhat7.2+Oracle8i如果硬件配置中用P4处理器,对oracle的安装有没有影响(100分)
  • 安装Oracle加载数据库错误areasQueries的解决
  • vmware 下安装oracle
  • CentOS 5 环境下安装oracle 10g 与 rhel 5下 安装有区别吗? [散分]
  • 在Linux下安装ORACLE
  • 安装ORACLE时的安装界面显示一堆乱码如何解决(我很菜的,分100可再加)---在线
  • 求ubuntu12.04下面安装oracle数据库,求安装教材,百度上就两种,都不能成功
  • 寻求在Linux 8.0上安装Oracle 9i的安装文档,分不够,可以再加,在线等待。。。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle相关基础知识教程集锦
  • Oracle新手教程 手工创建数据库的全部脚本及说明
  • oracle与mysql的视频教程下载地址分享
  • Oracle教程:浅析监听器安装/配置入门
  • 求ferdora15 上安装oracle11G详细教程
  • redhat 4中安装Oracle 10g图文教程
  • 全套OCP视频(Oracle认证专家)教程之一
  • [Oracle新手教程] 用PL/SQL画直方图
  • 基于Linux平台的Oracle RAC 10g集群教程:删除节点所需要的步骤
  • Oracle 11g2的监听器配置教程
  • ORACLE 10g 安装教程[图文]
  • Oracle教程 误添加数据文件删除方法
  • Oracle 存储过程教程
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒 iis7站长之家
  • VMware中linux环境下oracle安装图文教程(一)
  • DBA 在Linux下安装Oracle Database11g数据库图文教程
  • Linux系统(X64)安装Oracle11g完整安装图文教程另附基本操作
  • 高手教程 在UNIX服务器上设置Oracle8i全文检索
  • Oracle SQL tuning 数据库优化步骤分享(图文教程)
  • Oracle 12c发布简单介绍及官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • oracle 11g最新版官方下载地址
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 10g和Oracle 11g网格技术介绍
  • Linux /$ORACLE_HOME $ORACLE_HOME


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3