admin
2011-04-19
Patch 11724977 - 10.2.0.4.8 Patch Set Update
1 Patch Information
Patch Set Update PSU 10.2.0.4.8 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.8 is cumulative from PSU 10.2.0.4.5. Thus, there is no need to install PSU 10.2.0.4.5 or 10.2.0.4.6 before installing PSU 10.2.0.4.8.
PSU 10.2.0.4.8 contains the bug fixes listed in Section 7, "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.8
Client-Only Installations
PSU 10.2.0.4.8 for certain configurations. See My Oracle Support Note: 1313771.1 TCPS configurations pertaining to the April 2011 CPU and PSU Patches for further information.
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 Prerequisites
This section includes the following section:
Section 2.1, "OPatch Utility"
2.1 OPatch Utility
You must use the OPatch 10.2 version 10.2.0.5.0 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.
3 Installation
These instructions are for both non-RAC environments and RAC environments.
Section 3.1, "Patch Pre-Installation Instructions"
Section 3.2, "Patch Installation Instructions"
Section 3.3, "Post Installation Instructions"
Section 3.4, "Post Installation Instructions for Databases Created or Upgraded after Installation of PSU 10.2.0.4.8 in the Oracle Home"
3.1 Patch Pre-Installation Instructions
Before you install PSU 10.2.0.4.8, perform the following actions to check the environment and to detect and resolve any one-off patch conflicts.
3.1.1 Environment Checks
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
3.1.2 Prerequisite 10.2.0.4.4 Base Patch Set Update Patch
PSU 10.2.0.4.8 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:
Download PSU 10.2.0.4.4 patch 9352164 and review its readme instructions.
Perform the One-off Patch Conflict Detection and Resolution for both PSU 10.2.0.4.4 and PSU 10.2.0.4.8. 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.8. If there are conflicts, you only need to file one Support Request to get them resolved.
If PSU 10.2.0.4.1 (8576156), PSU 10.2.0.4.2 (8833280), or PSU 10.2.0.4.3(9119284) is installed, an ignorable conflict will be reported with PSU 10.2.0.4.6 (9952234).
After conflicts are resolved, install PSU 10.2.0.4.4, followed by PSU 10.2.0.4.8.
Install any conflict resolution overlay patches.
Perform the PSU 10.2.0.4.4 Post-Installation Instructions, followed by the PSU 10.2.0.4.8 Post-Installation Instructions.
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:
Determine whether any currently installed one-off patches conflict with the PSU patch as follows:
unzip p11724977_102044_<platform>.zip
opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./11724977
The report will indicate the patches that conflict with PSU 10.2.0.4.8. File a service request (SR) requesting a new merge patch that will replace PSU 10.2.0.4.8.
3.2 Patch Installation Instructions
Follow these steps:
If you are using a Data Guard Physical Standby database, you must install this patch on both the primary database and the physical standby database, as described by My Oracle Support Note 278641.1.
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.)
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.
Set your current directory to the directory where the patch is located and then run the OPatch utility by entering the following commands:
unzip p11724977_102044_<platform>.zip
cd 11724977
opatch apply
If there are errors, refer to Section 5, "Known Issues".
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:
Load modified SQL files into the database, as explained in Section 3.3.1.
Recompile views in the database, if necessary, as explained in Section 3.3.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.
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.
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 5, "Known Issues".
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.
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.
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
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>
Check the log file for any errors. The log file is in the current directory and is named: vcomp_<sid>_<timestamp>.log
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;
3.4 Post Installation Instructions for Databases Created or Upgraded after Installation of PSU 10.2.0.4.8 in the Oracle Home
These instructions are for a database that is created or upgraded after the installation of PSU 10.2.0.4.8.
You must execute the steps in Section 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 3.3.1, "Loading Modified SQL Files into the Database" were not executed after PSU 10.2.0.4.8 was applied
Upgraded databases require that you perform the steps in Section 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.
4 Deinstallation
These instructions are for both Non-RAC environments and RAC environments.
Section 4.1, "Patch Deinstallation Instructions for a Non-RAC Environment"
Section 4.2, "Post Deinstallation Instructions for a Non-RAC Environment"
Section 4.3, "Patch Deinstallation Instructions for a RAC Environment"
Section 4.4, "Post Deinstallation Instructions for a RAC Environment"
4.1 Patch Deinstallation Instructions for a Non-RAC Environment
Follow these steps:
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 3.3.1, "Loading Modified SQL Files into the Database" against the database before deinstalling the PSU.
Shut down all instances and listeners associated with the Oracle home that you are updating. For more information, see Oracle Database Administrator's Guide.
Run the OPatch utility specifying the rollback argument as follows.
opatch rollback -id 11724977
After the rollback command completes, PSU 10.2.0.4.8 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 5, "Known Issues".
4.2 Post Deinstallation Instructions for a Non-RAC Environment
Follow these steps:
Start all database instances running from the Oracle home. (For more information, see Oracle Database Administrator's Guide.)
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.
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 5, "Known Issues".
4.3 Patch Deinstallation Instructions for a RAC Environment
Follow these steps for each node in the cluster, one node at a time:
Shut down the instance on the node. (Shut down all RDBMS instances before any ASM instances.)
Run the OPatch utility specifying the rollback argument as follows.
opatch rollback -id 11724977
After the rollback command completes, PSU 10.2.0.4.8 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 5, "Known Issues".
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
4.4 Post Deinstallation Instructions for a RAC Environment
Follow the instructions listed in Section Section 4.2, "Post Deinstallation Instructions for a Non-RAC Environment" only on the node for which the steps in Section 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.
5 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 1291876.1 Oracle Database Patch Set Update 10.2.0.4.8 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.
6 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 11724977.8 BUG 11724977 - DATABASE PSU 10.2.0.4.8 (REQUIRES PRE-REQUISITE 10.2.0.4.4|INCLUDES CPUAPR2011)
7 Bugs Fixed by This Patch
This patch includes the following bug fixes.
7.1 CPU Molecules
CPU molecules in PSU 10.2.0.4.8:
PSU 10.2.0.4.8 contains all molecules previously released in PSU 10.2.0.4.7 and the following new PSU 10.2.0.4.8 molecules:
11787762 - DB-10.2.0.4-MOLECULE-053-CPUAPR2011
11787763 - DB-10.2.0.4-MOLECULE-054-CPUAPR2011
11787764 - DB-10.2.0.4-MOLECULE-055-CPUAPR2011
11787765 - DB-10.2.0.4-MOLECULE-056-CPUAPR2011
11787766 - DB-10.2.0.4-MOLECULE-057-CPUAPR2011
11787767 - DB-10.2.0.4-MOLECULE-058-CPUAPR2011
7.2 Bug Fixes
PSU 10.2.0.4.8 contains all fixes previously released in PSU 10.2.0.4.7 and no new nonsecurity bug fixes.