oracle查看cpu补丁,[Oracle] CPU/PSU补丁安装详细教程

阅读Readme文档每个CPU/PSU都有一个Readme文档,关于该CPU/PSU的所有信息都在Readme文档里,一定要仔细阅读。

有两个部分要特别注意:1)OPatch的版本,你可以通过opatch version命令查看Oracle Home当前的OPatch版本,如果低于Readme规定的最低版本,一定要先升级OPatch才能打补丁。

2)打Patch步骤:基本上所有的CPU/PSU都大同小异,具体步骤将在下面的例子中展示。

安装CPU/PSU补丁

1)事先检查:查看数据库打补丁前信息,保留现场在打补丁前最好把数据库的一些基本信息保留下来,以备不时之需。

--查看实例名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(*)

----------

123sys@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 /nologSQL> 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_recompilesqlplus /nologSQL> CONNECT / 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)步的事先检查对照先编译无效对象:cd $ORACLE_HOME/rdbms/admin

sqlplus /nologSQL> CONNECT / AS SYSDBA

SQL> @utlrp.sql

SQL> QUIT

转自:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值