January 2011 Patch set Update发布

January 2011补丁集更新在大约2周前发布了,与Oracle Database相关的psu分别为10.2.0.5.2,10.2.0.4.7(REQUIRES PRE-REQUISITE 10.2.0.4.4),11.2.0.1.4,11.2.0.2.1.

Advice on upgrading to 11.2.0.2 and converting to RAC

Question:Problem Description: Currently we are running 11.2.0.1 Grid on a 2 nodes. We are facing DB crash issue and different bugs with current environment. One of the option Oracle provided is to upgrade Grid to 11.2.0.2 and convert to real RAC.

There are 11.2.0.1 database under the clusterware. These DBs are currently actively running on one node and cold failover HA enabled by Oracle’s perl scripts. We also have 10g standalone DBs running under the same clusterware.

We are planning the upgrade of Grid from 11.2.0.1 to 11.2.0.2, and also converting the cold faliover HA DBs to the real RAC 2 nodes or RAC 1 node.

We will need Oracle’s advice on the technical road map and procedures on this. Also the issues we might face. The upgrade is planned to start in one week from now. We really appreciate that Oracle get back to us as quickly as possible. Thanks.

Answer:
Please follow the below document for manual upgrade or using dbua.
Complete Checklist for Manual Upgrades to 11gR2 (Doc ID 837570.1)
Complete checklist to upgrade the database to 11g R2 using DBUA (Doc ID 870814.1)
Please follow the document to convert the single instance to RAC.
How to Convert 10g Single-Instance database to 10g RAC using Manual Conversion procedure (Doc ID 747457.1)

1. Our current version of Grid/clusterware is 11.2.0.1. Two versions of RDBMS are running currently on the cluster: 11.2.0.1 and 10.2.0.5. They are all on ASMs. +ASM1 is running on node 1 while +ASM2 is running on node 2. Some DBs are Standalone DBs and some DBs are Oracle active-passive HA with failover controlled by the Oracle perl scripts.
We are planning to upgrade Grid to 11.2.0.2 and converting Oracle HA to the real RAC 2 node or RAC 1 node. At the sametime, we are planning to move other system’s DBs onto the same cluster. The current DB versions for that system have 10.2.0.4,10.2.0.1, 9.2.0.7, 9.2.0.5.

Ans:

Oracle 9i Databases were not managed by Oracle Clusterware 11.1 already.The Clusterware has exceeded the limitation. So kindly request to upgrade the 9i database ASAP to manage these databases on 11gR2 clusterware.

2. Does Oracle have any suggestion on the order of upgrade to 11.2.0.2 and the converting to real RAC from Oracle HA under clusterware?

Ans:

There is no documentation. I assume that you have installed clusterware,ASM and RDBMS has been installed on active-passive(Oracle HA) nodes. You need to disable the pearl script and bring up the clusterware ,ASM and RDBMS instance on passive node.

3. In note 1212703.1 Oracle provided, patch 9974223 is mentioned if multicast is enabled only for 224.0.0.251 address. I am confused on the instructions in the readme of patch 9974223. It mentions to apply both on CRS_HOME and RDBMS HOME.

Ans:

If we upgrade RDBMS to 11.2.0.2 as well becides the Grid 11.2.0.2 upgrade, is it required to apply the patch to the RDBMS HOME too, or just optional? If it is required, does the patch only need to be applied in the RDBMS, which has RAC DB running? Does it need to apply on the Standalone DB on the Grid/ASM?

The patch 9974223 is applicable for CRS/RDBMS. You can apply this patch on both home. Yes. Please apply the patch on RDBMS home also. You no need to apply for standalone DB on the Grid/ASM.

1. Per Infrastructure Redundant Interconnect and ora.cluster_interconnect.haip [ID 1210883.1 ], Redundant Interconnect without any 3rd-party IP failover technology (bond, IPMP or similar) is supported natively by Grid Infrastructure starting from 11.2.0.2. The note is for the interconnect.
What about the Oracle VIP? We already binded the 2nd public interface of IPMP to the node-vip (nodeapps) in order to resolve the DB listener down issue when IPMP failover to 2nd interface , do we have to undo it before the 11.2.0.2 upgrade?h

Ans: – no need to undo ipmp what is already configured.

2. In the note Oracle provided: http://download.oracle.com/docs/cd/E11882_01/install.112/e17213/procstop.htm#CEGHBJDB, It says:
=========
– To upgrade existing 11.2.0.1 Oracle Grid Infrastructure installations to Oracle Grid Infrastructure 11.2.0.2, you must first do at least one of the following:

Patch the release 11.2.0.1 Oracle Grid Infrastructure home with the 9413827 and 9706490 patches.

Install Oracle Grid Infrastructure Patch Set 1 (GI PSU1) or Oracle Grid Infrastructure Patch Set 2 (GI PSU2).

– Oracle Clusterware and Oracle ASM upgrades are always out-of-place upgrades. With 11g release 2 (11.2), you cannot perform an in-place upgrade of Oracle Clusterware and Oracle ASM to existing homes.
==========

If the”Oracle Clusterware and Oracle ASM upgrades are always out-of-place upgrades for 11.2″, why still need to patch the existing 11.2.0.1 Grid CRS HOME as mentioned above? If it is out of place, then Grid will have a new CRS HOME.

Ans:- Yes. Still you need to apply the recommended patches before upgrade. The reason is due to known issues, it is recommended to apply the patch before upgrade.
Ofcourse the grid infra needs to be installed on new home. Please go thorough the Grid installation document for more detail.

1. Our Grid is 11.2.0.1.0, we only need to apply one patch 9413827?

Yes. Please apply the 9413827 only.

2. Do we need to apply 9413827 to the RDBMS Home for 2 HA DBs that are under CRS control right before we upgrade the Grid to 11.2.0.2?

Yes. Please apply it.

Please refer the below document to check RAC option is enabled or not.
How to check RAC Option is currently linked into the Oracle Binary (Doc ID 284785.1)

RAC one node is only supported with DB version of 11g under 11.2.0.2 Grid for Solaris 10, correct?

Yes. It is supported. Please find the certification metrics as below

OS Product Certified With Version Status
10 11gR2 64-bit Oracle Clusterware 11g Certified
10 11gR2 64-bit Oracle Solaris Cluster 3.3 Certified
10 11gR2 64-bit Oracle Solaris Cluster 3.2 Certified
10 11gR2 64-bit Veritas Storage Foundation for Oracle RAC 5.1 Certified
10 11gR2 64-bit Veritas Storage Foundation for Oracle RAC 5.0 Certified

We have some DBs with 10g version. Right now they are standalone DBs and can not be upgraded for now. Does Oracle support 10g database with RAC 2 nodes under 11.2.0.2 Grid on Solaris 10?

Yes. It is supported.

如何确定所打Patch是否需要停机

Oracle在11g中提出了online patching(也可以叫做hot patch)的概念,有效减少了因实施one-off patch而导致的系统停机时间。但我们如何得知哪些Patch是可以online apply的,而哪些Patch是必须关闭实例(shutdown instance)后应用的呢?
下面我们就介绍一种简单有效地方法来识别这2种Patch:

1.
从MOS下载所需要的Patch文件

2.
解压该Patch文件(一般为zip压缩包),cd到/$PATCH_ID/etc/config目录,打开inventory.xml文件

3.
检查xml文件中的instance_shutdown选项,如
<instance_shutdown>true</instance_shutdown>
则说明该one-patch要求offline apply,而不能在线实施

ora-00600[kkocxj:pjpCtx]内部错误一例

一套HP-UX上的10.2.0.4系统在运行某条 select查询语句时出现ORA-00600[kkocxj:pjpCtx]内部错误,TRACE文件信息如下:


FILE VERSION
------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /oracle/app/oracle/product/10.2
System name:    HP-UX
Node name:      crmdb1
Release:        B.11.31
Version:        U
Machine:        ia64
Instance name: cbssnm
Redo thread mounted by this instance: 1

TRACE FILE
---------------
Filename = cbssnm_ora_29061.trc

*** ACTION NAME:(SQL 窗口 - 新建) 2010-07-02 15:59:46.238
*** MODULE NAME:(PL/SQL Developer) 2010-07-02 15:59:46.238
*** SERVICE NAME:(SYS$USERS) 2010-07-02 15:59:46.238
*** SESSION ID:(770.4341) 2010-07-02 15:59:46.237
*** 2010-07-02 15:59:46.237
ksedmp: internal or fatal error
ORA-00600: internal error code, arguments: [kkocxj : pjpCtx], [], [], [], [], [], [], []
Current SQL statement for this session:
select p.access_number, aa.name
 from crm.product p,
      (select aa.prod_id, os.name, os.staff_number
         from (select *
                 from (select prod_id,
                              party_id,
                              row_number() over(partition by prod_id order by start_dt desc) num
                         from crm.party_2_prod
                        where end_dt > sysdate
                          and party_product_rela_role_cd = 3)
                where num = 1) aa,
              crm.our_staff os
        where aa.party_id = os.staff_id) aa
where p.prod_id = aa.prod_id(+)
  and p.access_number = '15335581126'
----- Call Stack Trace -----
    ksedst <- ksedmp <- ksfdmp <- kgerinv <- kgeasnmierr        
<- $cold_kkocxj <- kkoiqb <- kkooqb <- kkoqbc <- apakkoqb         
<- apaqbdDescendents <- apaqbd <- kkqctCostTransfQB <- kkqctdrvJP 
<- kkqjpdttr          <- kkqctdrvTD <- kkqjpddrv <- kkqdrv <- kkqctdrvIT 
<- apadrv           <- opitca <- kksFullTypeCheck <- rpiswu2 <- kksLoadChild 
<- kxsGetRuntimeLock            <- kksfbc <- kkspsc0 <- kksParseCursor 
<- opiosq0 <- kpooprx             <- kpoal8 <- opiodr <- ttcpip <- opitsk 
<- opiino              <- opiodr <- opidrv <- sou2o <- opimai_real <- main               
<- main_opd_entry

根据错误代码和stack trace可以在metalink上匹配到如下Bug:

Bug:7014646
Abstract: ORA-600: INTERNAL ERROR CODE, ARGUMENTS: [KKOCXJ : PJPCTX], [], [], [], [], []
Affects:
    Product (Component)	Oracle Server (Rdbms)
    Range of versions believed to be affected	Versions < 11.2
    Versions confirmed as being affected	
        * 10.2.0.4
        * 11.1.0.6 
    Platforms affected	Generic (all / most platforms affected)
Fixed:
    This issue is fixed in	
        * 10.2.0.4 Patch 7 on Windows Platforms
        * 10.2.0.5 (Server Patch Set)
        * 11.1.0.7 (Server Patch Set)
        * 11.2 (Future Release) 
Symptoms:
    * Internal Error May Occur (ORA-600)
    * ORA-600 [kkocxj : pjpCtx] 
Related To:
    * Optimizer
    * _OPTIMIZER_PUSH_PRED_COST_BASED 
Description
    A complex query can fail during parse with 
    ORA-600 [kkocxj : pjpCtx]
    Workaround
     Set  "_optimizer_push_pred_cost_based"=false

该bug可以通过实施one off Patch 7014646修复,也可以尝试通过修改隐式参数_optimizer_push_pred_cost_based禁用基于成本的谓词前置特性(WORKAROUND: disable cost based push predicate)来规避该[KKOCXJ:PJPCTX]内部错误发生,具体的修改方法:

SQL> conn / as sysdba
SQL> alter system set "_optimizer_push_pred_cost_based"=false;
SQL> exit
/* 设置该隐式参数无需重启实例 */

Oracle GCS更推荐通过应用补丁7014646的方法来解决问题,而修改以上隐式参数则不一定百分之百能解决问题。

Patch your 10g Oracle database to PSU 10.2.0.4.5

有人会问不是10.2.0.5已经release了吗?为什么还要装10.2.0.4版本的PSU(Patch set Update)呢?做出这样的决定很大程度上是处于无奈的,毕竟Oracle的Bug有那么多,百年大计安全第一;10.2.0.4的稳定性在10g的范畴内可说是有目共睹的,而多达5个版本的PSU也进一步保证了能在10.2.0.4基础上不做大的变更,只修复合并一些小的bug。继10.2.0.4.4后(10.2.0.4.4有CRS和DB 2个版本)在July 13.2010推出了10.2.0.4.5 PSU,该PSU只有1.3MB大小,合并了:9714832, 9713537, 9678695, 9655017, 9173248, 8309642, 9678697, 9678690,9573054, 9654991等多个patch;因为10.2.0.4.5 PSU需要在10.2.0.4.4的基础上才能apply,所以我们需要首先应用10.2.0.4.4 PSU补丁。

PSU 10.2.0.4.5 的安装步骤:

1.如果你是全新的fresh安装的话,需要安装数据库Server软件10.2.0.1,之后升级到10.2.0.4;此外因为是fresh installation,还不存在数据库,所以只要是以custom database形式创建的新库都可以skip Post installation的步骤(也就是说不用执行脚本),而以DBCA中General, Data Warehouse, Transaction Processing形式创建新库需要执行catbundle.sql升级脚本(Loading Modified SQL Files into the Database)。
2.安装Oracle Opatch软件版本11.2.0.0,对应的patch号为6880880,使用10.2.0.4默认的Opatch软件在prereq和apply阶段会遇到Bug,并出现以下问题:

Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" not executed
Unable to create Patch Object.
Exception occured : Patch ID is null.

Invoking prereq "checkconflictagainstohwithdetail"
The location ".//README.html" is not a directory or a valid patch zip file.
Prereq "checkConflictAgainstOHWithDetail" not executed
PrereqSession failed: Invalid patch location.

可以从MOS下载到p6880880_112000_$PLATFORM.zip的介质,解压后将OPatch部分的内容覆盖到原$ORACLE_HOME/OPatch目录:
[Read more…]

Applying Database PSU 10.2.0.4.6

Last week Patch set update 10.2.0.4.6 has been released, this psu includes “All fixes in the 10.2.0.4.5 overlay patch” and “New fixes which are included in the Critical Patch Update for October 2010 (CPUOCT2010)”.
Now I am trying to apply it on my 10.2.0.4.5 instance!
[Read more…]

Oct 12: Patch Set Update Released

一周不关注MOS就变得落伍了!在上周的Oct 12,Oracle分别发布了10.2.0.4 Patch Set的PSU 6(10.2.0.4.6)和10.2.0.5的第一个PSU。
10.2.0.4.6补丁更新集包含了所有10.2.0.4.5中的fix,此外添加了CPU(Critical Patch Update) For October 2010 (CPUOCT2010);而10.2.0.5.1则包含了Critical Patch Update for October 2010 (CPUOCT2010),并修复了以下bug:

Bug:6402302  Streams table and schema rules not consistently applied for DDL on view/synonym
Bug:7519406  Larger trace than needed for ORA-8103 under kteincnt1
Bug:8544696  Table segment growth (blocks are not reused) with ASSM
Bug:8546356  ORA-8102/ORA-1499/OERI[kdsgrp1] Composite Partitioned Index corruption after rebuild ONLINE in RAC
Bug:8664189  OERI [kdiss_uncompress: buffer length] on key compressed index
Bug:9711859  ORA-600 [ktsptrn_fix-extmap] during extent allocation caused by bug 8198906
Bug:9713537  Message file change for ORA-600
Bug:9714832  Message file change for ORA-7445
  • 10.2.0.4.6 PSU Note:https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=9952234.8
  • 10.2.0.4.6 Known Issues:https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1230884.1
  • 10.2.0.5.1 PSU Note:https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=9952230.8
  • 10.2.0.5.1 Known Issues:https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1230855.1

同时10.2.0.5已经被confirm成为10g release 2的Final Patch Set:

10.2.0.5.0 – Patch Set #4, List of fixes: Note 1088172.1 ==> Last Patch Set
10.2.0.5.1 – Patch Set Update (PSU 1): Note 9952230.8

记以录之。

Oracle Critical Patch Updates Unwrapped

7月最新发布10.2.0.4.5 Patch Set Update

同11.2.0.1.2 psu同时发布的还有10.2.0.4.5 psu,值得注意的是这2个psu都包括了针对ora-600/7445错误出现时信息显示的原因和调用(cause/action)。

附该psu的readme note:

Released: July 13, 2010

This document is accurate at the time of release. For any changes and additional information regarding PSU 10.2.0.4.5, see these related documents that are available at My Oracle Support (http://support.oracle.com/):

  • Note 854428.1 Patch Set Updates for Oracle Products

  • Note 1089052.1 Oracle Database Patch Set Update 10.2.0.4.5 Known Issues

Patch Set Update 10.2.0.4.5 introduces new overlay PSU packaging. This new packaging reduces, and may eliminate altogether, the number of new overlay patches required to install the PSU. There are changes in both the patch application and patch conflict resolution. Oracle recommends that you read this entire readme before installing the patch.

This document includes the following sections:

1 Patch Information

Patch Set Update PSU 10.2.0.4.5 is an overlay PSU whose base PSU is 10.2.0.4.4. This patch can only be applied in an Oracle home for which PSU 10.2.0.4.4 has already been installed.

PSU 10.2.0.4.5 contains the bug fixes listed in Section 5, “Bugs Fixed by This Patch”.

Table 1 describes installation types and security content. For each installation type, it indicates the most recent PSU patch to include new security fixes that are pertinent to that installation type. If there are no security fixes to be applied to an installation type, then “None” is indicated. If a specific PSU is listed, then apply that or any later PSU patch to be current with security fixes.

Table 1 Installation Types and Security Content

Installation Type Latest PSU with Security Fixes

Server homes

PSU 10.2.0.4.5

Client-Only Installations

None

Instant Client Installations

None

(The Instant Client installation is not the same as the client-only Installation. For additional information about Instant Client installations, see Oracle Database Concepts.)

ASM (Automatic Storage Management) homes

PSU 10.2.0.4.1

CRS (Cluster Ready Services) homes

None


2 Patch Installation and Deinstallation

This section includes the following sections:

2.1 Platforms for PSU 10.2.0.4.5

For a list of platforms that are supported in this Patch Set Update, see My Oracle Support Note 1060989.1 Critical Patch Update July 2010 Patch Availability Document for Oracle Products.


2.2 OPatch Utility Information

You must use the OPatch 10.2 version 10.2.0.4.8 or later to apply this patch. Oracle recommends that you use the latest released OPatch 10.2, which is available for download from My Oracle Support patch 6880880 by selecting the 10.2.0.0.0 release.

For information about OPatch documentation, including any known issues, see My Oracle Support Note 293369.1 OPatch documentation list.


2.3 Patch Installation

These instructions are for both non-RAC environments and RAC environments.

2.3.1 Patch Pre-Installation Instructions

Before you install PSU 10.2.0.4.5, perform the following actions to check the environment and to detect and resolve any one-off patch conflicts.


2.3.1.1 Environment Checks
  1. Ensure that the $PATH definition has the following executables: make, ar, ld, and nm.

    The location of these executables depends on your operating system. On many operating systems, they are located in /usr/ccs/bin, in which case you can set your PATH definition as follows:

    export PATH=$PATH:/usr/ccs/bin  


2.3.1.2 Prerequisite 10.2.0.4.4 Base Patch Set Update Patch

PSU 10.2.0.4.5 is packaged as an overlay patch which requires that the 10.2.0.4.4 Patch Set Update has been installed. Check that PSU 10.2.0.4.4 is installed by ensuring that the OPatch inventory includes the PSU 10.2.0.4.4 tracking bug (9352164).

If the PSU 10.2.0.4.4 tracking bug (9352164) is not present in the OPatch inventory, do the following to minimize your downtime:

  1. Download PSU 10.2.0.4.4 patch 9352164 and review its readme instructions.

  2. Perform the One-off Patch Conflict Detection and Resolution for both PSU 10.2.0.4.4 and PSU 10.2.0.4.5. That is, you do not need to have PSU 10.2.0.4.4 installed to do the conflict detection on PSU 10.2.0.4.5. If there are conflicts, you only need to file one Support Request to get them resolved.

  3. After conflicts are resolved, install PSU 10.2.0.4.4, followed by PSU 10.2.0.4.5.

  4. Install any conflict resolution overlay patches.

  5. Perform the PSU 10.2.0.4.4 Post-Installation Instructions, followed by the PSU 10.2.0.4.5 Post-Installation Instructions.


2.3.1.3 One-off Patch Conflict Detection and Resolution

For an introduction to the PSU one-off patch concepts, see “Patch Set Updates Patch Conflict Resolution” in My Oracle Support Note 854428.1 Patch Set Updates for Oracle Products.

The fastest and easiest way to determine whether you have one-off patches in the Oracle home that conflict with the PSU, and to get the necessary conflict resolution patches, is to use the Patch Recommendations and Patch Plans features on the Patches & Updates tab in My Oracle Support. These features work in conjunction with the My Oracle Support Configuration Manager. Recorded training sessions on these features can be found in Note 603505.1.

However, if you are not using My Oracle Support Patch Plans, follow these steps:

  1. Determine whether any currently installed one-off patches conflict with the PSU patch as follows:

    unzip p9654991_102044_<platform>.zip  opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./9654991  
  2. The report will indicate the patches that conflict with PSU 10.2.0.4.5. File a service request (SR) requesting a new merge patch that will replace PSU 10.2.0.4.5.


2.3.2 Patch Installation Instructions

Follow these steps:

  1. If you are using a Data Guard Physical Standby database, you must first install this patch on the primary database before installing the patch on the physical standby database. It is not supported to install this patch on the physical standby database before installing the patch on the primary database. For more information, see My Oracle Support Note 278641.1.

  2. If you are patching an ASM instance, shut down all Oracle Database instances that use this ASM instance. (To see which Oracle Database instances are connected to this ASM instance, query the V$ASM_CLIENT view.)

  3. Do one of the following, depending on whether this is a RAC environment:

    • If this is a RAC environment, choose one of the patch installation methods provided by OPatch (rolling, all node, or minimum downtime), and shutdown instances and listeners as appropriate for the installation method selected.

      This PSU patch is rolling RAC installable. Refer to My Oracle Support Note 244241.1 Rolling Patch – OPatch Support for RAC.

    • If this is not a RAC environment, shut down all instances and listeners associated with the Oracle home that you are updating. For more information, see Oracle Database Administrator’s Guide.

  4. Set your current directory to the directory where the patch is located and then run the OPatch utility by entering the following commands:

    unzip p9654991_102044_<platform>.zip  cd 9654991  opatch apply  
  5. If there are errors, refer to Section 3, “Known Issues”.


2.3.3 Post Installation Instructions

Do not perform the operations in this section on ASM instances. However, if you shut down ASM as part of applying the PSU, you must start ASM instances before you can perform any of the actions in this section on any database instances.

After installing the patch, perform the following actions:

  1. Load modified SQL files into the database, as explained in Section 2.3.3.1.

  2. Recompile views in the database, if necessary, as explained in Section 2.3.3.2.

2.3.3.1 Loading Modified SQL Files into the Database

The following steps load modified SQL files into the database. For a RAC environment, perform these steps on only one node.

  1. For each database instance running on the Oracle home being patched, connect to the database using SQL*Plus. Connect as SYSDBA and run the catbundle.sql script as follows:

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

    The catbundle.sql execution is reflected in the dba_registry_history view by a row associated with bundle series OPSU.

    For information about the catbundle.sql script, see My Oracle Support Note 605795.1 Introduction to Oracle Database catbundle.sql.

  2. Check the following log files in $ORACLE_HOME/cfgtoollogs/catbundle for any errors:

    catbundle_OPSU_<database SID>_APPLY_<TIMESTAMP>.log  catbundle_OPSU_<database SID>_GENERATE_<TIMESTAMP>.log  

    where TIMESTAMP is of the form YYYYMMMDD_HH_MM_SS. If there are errors, refer to Section 3, “Known Issues”.


2.3.3.2 Recompiling Views in the Database

Recompiling views in the database is a one-time action that is required to complete the installation of CPU fixes that were initially released in January, 2008. It requires that the database be in upgrade mode, so this step is not rolling RAC installable. You may defer this step to a later downtime. If you do this, your system will continue to work; however, the installation of the January 2008 CPU fixes will not be complete until the view recompilation is completed.

Skip this section if you have recompiled views for this database during the installation of a previous PSU or CPU.

The time required to recompile the views and related objects depends on the total number of objects and on your system configuration. In one internal Oracle test with approximately 2000 views and 4000 objects, the total execution time for view_recompile_jan2008cpu.sql and utlrp.sql was about 30 minutes.

If you want to check whether view recompilation has already been performed for the database, execute the following statement:

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

If the view recompilation has been performed, this statement returns one or more rows. If the view recompilation has not been performed, this statement returns no rows.

The following steps recompile the views in the database. For a RAC environment, perform these steps on only one node.

  1. Run the pre-check script (so named because it was initially released in CPUJan2008), which reports the maximum number of views and objects that may be recompiled:

    cd $ORACLE_HOME/cpu/view_recompile  sqlplus /nolog  SQL> CONNECT / AS SYSDBA  SQL> @recompile_precheck_jan2008cpu.sql  SQL> QUIT  

    The purpose of this step is to help you determine whether view recompilation should be done at the same time as the PSU install, or scheduled later.

  2. If the database is not in a RAC environment, perform this step and skip the next step. (If the database is in a RAC environment, go to the next step.)

    Run the view recompilation script. Note that this script is run with the database in upgrade mode, which restricts connections as SYSDBA.

    cd $ORACLE_HOME/cpu/view_recompile  sqlplus /nolog  SQL> CONNECT / AS SYSDBA  SQL> SHUTDOWN IMMEDIATE  SQL> STARTUP UPGRADE  SQL> @view_recompile_jan2008cpu.sql  SQL> SHUTDOWN;  SQL> STARTUP;  SQL> QUIT  
  3. If the database is in a RAC environment, run the view recompilation script as follows. Note that this script is run with the database in upgrade mode, which restricts connections as SYSDBA. Stop all instances except the one where the view recompilation is being executed.

    cd $ORACLE_HOME/cpu/view_recompile  sqlplus /nolog  SQL> CONNECT / AS SYSDBA  SQL> STARTUP NOMOUNT  SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=spfile;  SQL> SHUTDOWN  SQL> STARTUP UPGRADE  SQL> @view_recompile_jan2008cpu.sql  SQL> SHUTDOWN;  SQL> STARTUP NOMOUNT;    Set the CLUSTER_DATABASE initialization parameter to TRUE:    SQL> ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=spfile;    Restart the database:    SQL> QUIT  cd $CRS_HOME/bin  srvctl start database -d <database-name>  
  4. Check the log file for any errors. The log file is in the current directory and is named: vcomp_<sid>_<timestamp>.log

  5. If any invalid objects were reported, run the utlrp.sql script as follows:

    cd $ORACLE_HOME/rdbms/admin  sqlplus /nolog  SQL> CONNECT / AS SYSDBA  SQL> @utlrp.sql  

    Then, manually recompile any invalid objects. For example:

    SQL> alter package schemaname.packagename compile;  


2.3.4 Post Installation Instructions for Databases Created or Upgraded after Installation of PSU 10.2.0.4.5 in the Oracle Home

These instructions are for a database that is created or upgraded after the installation of PSU 10.2.0.4.5.

You must execute the steps in Section 2.3.3.1, “Loading Modified SQL Files into the Database” for any new database only if it was created by any of the following methods:

  • Using DBCA (Database Configuration Assistant) to select a sample database (General, Data Warehouse, Transaction Processing)

  • Using a script that was created by DBCA that creates a database from a sample database

  • Cloning a database that was created by either of the two preceding methods, and if the steps in Section 2.3.3.1, “Loading Modified SQL Files into the Database” were not executed after PSU 10.2.0.4.5 was applied

Upgraded databases require that you perform the steps in Section 2.3.3.2, “Recompiling Views in the Database” if these steps have not previously been performed; otherwise, no post-installation steps need to be performed.


2.4 Patch Deinstallation

These instructions are for both Non-RAC environments and RAC environments.

2.4.1 Patch Deinstallation Instructions for a Non-RAC Environment

Follow these steps:

  1. Verify that an $ORACLE_HOME/rdbms/admin/catbundle_OPSU_<database SID>_ROLLBACK.sql file exists for each database associated with this ORACLE_HOME. If this is not the case, you must execute the steps in Section 2.3.3.1, “Loading Modified SQL Files into the Database” against the database before deinstalling the PSU.

  2. Shut down all instances and listeners associated with the Oracle home that you are updating. For more information, see Oracle Database Administrator’s Guide.

  3. Run the OPatch utility specifying the rollback argument as follows.

    opatch rollback -id 9654991  

    After the rollback command completes, PSU 10.2.0.4.5 is deinstalled, but PSU 10.2.0.4.4 and any of its other overlay patches remain installed in the Oracle home.

  4. If there are errors, refer to Section 3, “Known Issues”.


2.4.2 Post Deinstallation Instructions for a Non-RAC Environment

Follow these steps:

  1. Start all database instances running from the Oracle home. (For more information, see Oracle Database Administrator’s Guide.)

  2. For each database instance running out of the ORACLE_HOME, connect to the database using SQL*Plus as SYSDBA and run the rollback script as follows:

    cd $ORACLE_HOME/rdbms/admin  sqlplus /nolog  SQL> CONNECT / AS SYSDBA  SQL> STARTUP  SQL> @catbundle_OPSU_<database SID>_ROLLBACK.sql  SQL> QUIT  

    In a RAC environment, the name of the rollback script will have the format catbundle_OPSU_<database SID PREFIX>_ROLLBACK.sql.

  3. Check the log file for any errors. The log file is found in $ORACLE_HOME/cfgtoollogs/catbundle and is named catbundle_OPSU_<database SID>_ROLLBACK_<TIMESTAMP>.log where TIMESTAMP is of the form YYYYMMMDD_HH_MM_SS. If there are errors, refer to Section 3, “Known Issues”.


2.4.3 Patch Deinstallation Instructions for a RAC Environment

Follow these steps for each node in the cluster, one node at a time:

  1. Shut down the instance on the node. (Shut down all RDBMS instances before any ASM instances.)

  2. Run the OPatch utility specifying the rollback argument as follows.

    opatch rollback -id 9654991  

    After the rollback command completes, PSU 10.2.0.4.5 is deinstalled, but PSU 10.2.0.4.4 and any of its other overlay patches remain installed in the Oracle home.

    If there are errors, refer to Section 3, “Known Issues”.

  3. Start the instance on the node. Depending on the type of home, enter the following commands or command.

    • For ASM homes:

      srvctl start listener  srvctl start asm  srvctl start instance  
    • For RDBMS (non-ASM) homes:

      srvctl start instance  


2.4.4 Post Deinstallation Instructions for a RAC Environment

Follow the instructions listed in Section Section 2.4.2, “Post Deinstallation Instructions for a Non-RAC Environment” only on the node for which the steps in Section 2.3.3.1, “Loading Modified SQL Files into the Database” were executed during the patch application.

All other instances can be started and accessed as usual while you are executing the deinstallation steps.


3 Known Issues

For information about OPatch issues, see My Oracle Support Note 293369.1 OPatch documentation list.

For issues documented after the release of this PSU, see My Oracle Support Note 1089052.1 Oracle Database Patch Set Update 10.2.0.4.5 Known Issues.

Other known issues are as follows.

Issue 1   

The following ignorable errors may be encountered while running the catbundle.sql script or its rollback script:

ORA-29809: cannot drop an operator with dependent objects  ORA-29931: specified association does not exist  ORA-29830: operator does not exist  ORA-00942: table or view does not exist  ORA-00955: name is already used by an existing object  ORA-01430: column being added already exists in table  ORA-01432: public synonym to be dropped does not exist  ORA-01434: private synonym to be dropped does not exist  ORA-01435: user does not exist  ORA-01917: user or role 'XDB' does not exist  ORA-01920: user name '<user-name>' conflicts with another user or role name  ORA-01921: role name '<role name>' conflicts with another user or role name  ORA-01952: system privileges not granted to 'WKSYS'  ORA-02303: cannot drop or replace a type with type or table dependents  ORA-02443: Cannot drop constraint - nonexistent constraint  ORA-04043: object <object-name> does not exist  ORA-29832: cannot drop or replace an indextype with dependent indexes  ORA-29844: duplicate operator name specified   ORA-14452: attempt to create, alter or drop an index on temporary table already in use  ORA-06512: at line <line number>. If this error follow any of above errors, then can be safely ignored.  ORA-01927: cannot REVOKE privileges you did not grant  
Issue 2   

The view recompilation pre-check script returns different results during subsequent runs (such as after the first time you ran it).

The results (the maximum number of views and objects that may be recompiled) may be more or less than reported in the previous running of the script. This is expected behavior, and is not a problem.

Issue 3   

If the view recompilation script has already been run, a message is displayed indicating that the script has already been applied.

This is not a problem, because as the instructions note, you do not need to run the script if it has already been run.


4 References

The following documents are references for this patch.

Note 293369.1 OPatch documentation list

Note 360870.1 Impact of Java Security Vulnerabilities on Oracle Products

Note 468959.1 Enterprise Manager Grid Control Known Issues

Note 9352164.8 Bug 9352164 – 10.2.0.4.4 Patch Set Update (PSU)


5 Bugs Fixed by This Patch

This patch includes the following bug fixes.


5.1 CPU Molecules

CPU molecules in PSU 10.2.0.4.5:

PSU 10.2.0.4.5 contains the following new PSU 10.2.0.4.5 molecules:

9678690 – DB-10.2.0.4-MOLECULE-043-CPUJUL2010

9678695 – DB-10.2.0.4-MOLECULE-044-CPUJUL2010

9678697 – DB-10.2.0.4-MOLECULE-045-CPUJUL2010


5.2 Bug Fixes

PSU 10.2.0.4.5 contains the following new fixes:

9573054 – ORA-07445 IN TIME MGR PROCESS ON RAC WHILE QUERYING AQ$_QUEUE_TABLE_AFFINITY

9713537 – ENHANCE CAUSE/ACTION FIELDS OF THE INTERNAL ERROR ORA-00600

9714832 – ENHANCE CAUSE/ACTION FIELDS OF THE INTERNAL ERROR ORA-07445

沪ICP备14014813号-2

沪公网安备 31010802001379号