在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
什么是CPU/PSU CPU是累积的(Cumulative),即最新的CPU补丁已经包含以往的CPU补丁,所以只要安装最新的CPU补丁即可。 如何下载CPU/PSU 注意:要下载CPU/PSU,必须要有Oracle Support账号才行! 右边点击Database链接,就是该补丁的一个详细说明文档,找到3.1.3 Oracle Database,并点击相应的数据库版本(如下图所示) 在相应的数据库版本里,可以看到各个平台下CPU和PSU版本号,前面已经说过,PSU包含CPU,所以建议尽量安装PSU,注意:这里的UNIX平台也包括Linux
点击上面的版本号,会自动跳到Oracle Support下载页面,如下图所示。选择相应的平台后,点击Readme可以查看Readme文档,点击Download下载
阅读Readme文档 复制代码 代码如下: 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 |
请发表评论