Skip Headers
Oracle® Database Patch Set Notes
10g Release 2 (10.2.0.4) Patch Set 3 for Microsoft Windows (32-Bit)
 

 

Oracle® Database

Patch Set Notes

10g Release 2 (10.2.0.4) Patch Set 3 for Microsoft Windows (32-Bit)

 

March 2008

These patch set notes accompany the Oracle Database release 10.2.0.4 patch set. This document contains the following sections:

1 Patch Set Overview

Patch sets are a mechanism for delivering fully tested and integrated product fixes. Patch sets provide bug fixes only; they do not include new functionality and they do not require certification on the target system.

Patch sets include all of the libraries that have been rebuilt to implement the bug fixes in the set. All of the fixes in the patch set have been tested and are certified to work with each other. Because the patch set includes only low impact patches, it does not require you to certify applications or tools against the server.

You can apply the Oracle Database release 10.2.0.4 patch set to the following Oracle Database 10g release 2 installations:

For a list of products included in this patch set, see the "Patch Set Components" section.

2 Components of This Patch Set

The following are the updated components of this patch set:

3 Accessing the Latest Version of this Document

This document may be updated after release. To check for updates to this document, see document 316900.1 on the OracleMetaLink Web site:

http://metalink.oracle.com

To locate document 316900.1:

  1. Log on to OracleMetaLink.

  2. Click Advanced at the top of the OracleMetaLink page.

  3. Enter 316900.1 in the Document ID field, then click Submit.

4 Oracle Universal Installer Version Requirements

This patch set includes Oracle Universal Installer release 10.2.0.4, which is also installed when you install this patch set. This is to ensure that the Oracle home can be patched in the future. You should not use Oracle Universal Installer from the earlier maintenance release media or Oracle home.

This is not a complete software distribution. You must install it in an existing Oracle Database 10g (10.2.0.x) installation.

5 Patch Set Documentation

There are two documents related to this release of the Oracle Database patch set:

Both of these documents are included with the patch set. In addition, they are available from document 316900.1, ALERT: Oracle 10g release 2 (10.2) Support Status and Alerts on the OracleMetaLink Web site:

http://metalink.oracle.com

To locate document 316900.1:

  1. Log on to OracleMetaLink.

  2. Click Advanced at the top of the OracleMetaLink page.

  3. Enter 316900.1 in the Document ID field, then click Submit.

The following sections describe the contents of the Oracle Database Patch Set Notes and the Oracle Database List of Bugs Fixed.

Oracle Database Patch Set Notes, 10g Release 2 (10.2.0.4) Patch Set 3 for Microsoft Windows (32-Bit)

This document provides:

Oracle Database List of Bugs Fixed, 10g Release 2 (10.2.0.4) Patch Set

The List of Bugs Fixed is a list of all generic bugs related to Oracle Database that have been fixed to date.

6 System Requirements

The following are the system requirements for this patch set:

7 Preinstallation Tasks

Complete the following preinstallation tasks before installing the patch set:

7.1 Review Known Preinstallation Issues

Review the information in the following sections. If any of the issues apply to the Oracle installation, follow the instructions before installing the patch set.

7.1.1 Upgrading Oracle E-Business Suite Databases

If you are an Oracle E-Business Suite customer and you want to upgrade the Oracle E-Business Suite release 11i database server to this patch set, then you must check the latest certification status and Interoperability Notes available on the OracleMetaLink Web site:

http://metalink.oracle.com

7.1.2 Upgrading Installations that use Physical or Logical Standby Databases

Before applying this patch set to an Oracle Database 10.2.0.x installation that uses one or more physical or logical standby databases, review the following OracleMetaLink documents:

  • For information about physical standby databases, review document 278641.1.

  • For information about logical standby databases, review document 278643.1.

These documents are available on the OracleMetaLink Web site:

http://metalink.oracle.com

7.1.3 Upgrading Installations that use Java Virtual Machine or Oracle interMedia

If any of the databases use Java Virtual Machine or Oracle interMedia, then install the Oracle Database 10g Products installation type from the Oracle Database 10g Companion CD before installing the 10.2.0.4 patch set. For information about installing the Oracle Database 10g Products installation type from the Companion CD, see the Oracle Database Companion CD Installation Guide for the platform. This installation type includes the Natively Compiled Java Library files to improve Java performance. If you do not install the Natively Compiled Java Library files, the ORA-29558: JAccelerator (NCOMP) not installed error occurs when a database that uses Java Virtual Machine is upgraded to the patch release.


See Also:

OracleMetaLink document 293658.1 for more information about the ORA-29558: JAccelerator (NCOMP) not installed error

7.1.4 Upgrading Oracle Clusterware

The Oracle Clusterware software must be at the same or newer level as the Oracle software in the Oracle RAC Oracle home. Therefore, you should always upgrade Oracle Clusterware before you upgrade Oracle RAC. This patch does not allow you to upgrade Oracle RAC before you upgrade Oracle Clusterware.

7.1.5 Notes to Oracle OLAP Users

To apply this patch set, Oracle OLAP users should ensure that the base release is the Enterprise Edition of 10.2.0.x with the Oracle OLAP option installed. Oracle highly recommends the Data Warehouse configuration type to optimize the database for Oracle OLAP.

If you are moving the Oracle Database from a 32-bit operating system to a 64-bit operating system, either prior to applying the patch set or after applying the patch set, review document 352306.1 on the OracleMetaLink Web site:

http://metalink.oracle.com

To locate document 352306.1:

  1. Log on to OracleMetaLink.

  2. Click Advanced at the top of the OracleMetaLink page.

  3. Enter 352306.1 in the Document ID field, then click Submit.

7.1.6 Disabling Oracle Database Vault

Complete the steps in this section before upgrading Oracle Database Vault from 10.2.0.x to 10.2.0.4 or downgrading Oracle Database Vault from 10.2.0.4 to 10.2.0.x:

  1. Re-create and replace the password file, in order to log in to an Oracle Database Vault instance as a SYS user with SYSDBA privilege:

    orapwd file=$ORACLE_HOME\dbs\orapwsid password=syspasswd force=y nosysdba=n
    

    Note:

    The SYS connection as SYSDBA is disabled in a default Oracle Database Vault installation. Without enabling SYSDBA, you cannot unlock DVSYS in Step 6 that follows.

  2. Shut down the database:

    For Oracle RAC:

    $ srvctl stop database -d db_name -c "SYS/SYS_password as SYSDBA"
    

    For Single Instance:

    SQL> CONNECT SYS AS SYSOPER
    Enter password: SYS_password
    SQL> SHUTDOWN
    
  3. Turn off Oracle Database Vault.

  4. Re-link the Oracle database software with dv_off:


    Note:

    For Oracle RAC, you must run the following commands on all the nodes.

    C:\> cd ORACLE_HOME\bin
    C:\> move oradv10.dll oradv10_backup.dll
    
  5. Start the database:

    For Oracle RAC:

    $ srvctl start database -d db_name "SYS/SYS_password as SYSDBA"
    

    For Single Instance:

    $ sqlplus /nolog 
    SQL> CONNECT SYS AS SYSDBA
    Enter password:SYS_password
    SQL> STARTUP
    
  6. Unlock the DVSYS account and set the password:

    SQL> ALTER USER DVSYS ACCOUNT UNLOCK;
    SQL> ALTER USER DVSYS IDENTIFIED BY DVSYS;
    
  7. Disable the Oracle Database Vault triggers:

    Run Oracle Database Vault Configuration Assistant (DVCA) by using the dvca -action disable option. This disables the Database Vault triggers. Use the following syntax:

    dvca -action disable
    -service service_name
    -owner_account DV_owner_account_name
    [-logfile .\dvca.log]
    [-nodecrypt] 
    
    Enter SYS password: sys_password
    Enter owner password: owner_password
    

7.2 Identify the Oracle Database Installation

This is not a complete software distribution. You must install it in an existing Oracle Database 10g Oracle home. To identify Oracle home directories, view the/etc/oratab file.Use Oracle Universal Installer to identify Oracle home directories. From the Welcome screen, click Installed Products, then click the Environment tab. You should then cross-check this by executing

opatch lsinventory -all

If you are installing this patch set on an existing Oracle Real Application Cluster 10g release 10.2.0.x installation, you must run Oracle Universal Installer from the same node from which the Oracle Database software was installed.

7.3 Check Postrelease Updates

Before installing this patch set in a production environment, review document 316900.1, ALERT: Oracle 10g release 2 (10.2) Support Status and Alerts, available on the OracleMetaLink Web site:

http://metalink.oracle.com

To locate this document:

  1. Log on to OracleMetaLink.

  2. Click Advanced at the top of the OracleMetaLink page.

  3. Enter 316900.1 in the Document ID field, then click Submit.

This document is created by Oracle Support Services and provides information about the status of issues discovered after this patch set was released. If you are unable to access this site, then contact Oracle Support Services before installing this patch set in a production environment.

7.4 Download and Extract the Installation Software

Download and extract the p6810189_10204_Win32.zip patch set installation archive to a directory that is not the Oracle home directory or under the Oracle home directory.

7.5 Update Oracle Time Zone Definitions

The 10.2.0.4 patch set includes an update to the Oracle time zone definitions to Version 4. This version of the time zone definitions includes the changes to daylight saving time in the USA in 2007 and other updates.

In the Oracle database the TIMESTAMP WITH LOCAL TIME ZONE (TSLTZ) and TIMESTAMP WITH TIME ZONE (TSTZ) data types and the TZ_OFFSET function select the time zone information from the time zone files.

It may be necessary to take action on existing TIMESTAMP WITH LOCAL TIME ZONE (TSLTZ) and TIMESTAMP WITH TIME ZONE (TSTZ) data or to re-apply DST patches afterwards.

For full overview please see OracleMetaLink document 553812.1 Actions for the DSTv4 update in the 10.2.0.4 patchset.

  1. When patching from a lower 10.2 release or upgrading from 10.1.0.X directly to 10.2.0.4, check the current version of the Oracle time zone definitions with the following command:

    SELECT version FROM v$timezone_file;
    
    • If this query reports version 4, no action is required; in this case, continue with steps described in section 7.6.

    • If this reports a version lower or higher then 4, see OracleMetalink document 553812.1 Actions for the DSTv4 update in the Release 10.2.0.4 patchset.

  2. On upgrading from Release 9i directly to Release 10.2.0.4, see OracleMetaLink document 553812.1 Actions for the DSTv4 update in the 10.2.0.4 patchset.

  3. On upgrading from Release 8.1.7 directly to Release 10.2.0.4, no action is required because Release 8.1.7 has no timezone data stored; in this case continue with steps described in section 7.6.

7.6 Stop All Services

Go to the following sections based on the Oracle Database installation type:


See also:

Appendix F, "How to Stop Processes in an Existing Oracle Real Application Clusters Database, and How to Perform Oracle Clusterware Rolling Upgrades" of Oracle Database Oracle Real Application Clusters Installation Guide.

7.6.1 Stopping All Services for a Single Instance Installation

Shut down the following Oracle Database 10g services in the order specified before installing the patch set:

  1. Shut down all services in the Oracle home that might be accessing a database, for example Oracle Enterprise Manager Database Control or iSQL*Plus:

    $ emctl stop dbconsole
    $ isqlplusctl stop
    $ lsnrctl stop
    
    C:\> ORACLE_BASE\ORACLE_HOME\bin\emctl stop dbconsole
    C:\> ORACLE_BASE\ORACLE_HOME\bin\isqlplusctl stop
    

    You can also stop these services using the Control Panel. In the Services window, these services are referred to as OracleDBConsoleSID and OracleSIDiSQL*Plus respectively.


    Note:

    Before you shut down all processes that are monitored by Oracle Enterprise Manager Grid Control, set a blackout in Grid Control for the processes that you intend to shut down. This is necessary so that the availability records for these processes indicate that the shutdown was planned downtime rather than an unplanned system outage.

  2. Shut down all listeners running in the Oracle home directory, where you need to install the patch set:

    C:\> lsnrctl stop
    

    Use the Control Panel to stop the listener service OracleHOME_NAMETNSListenerLISTENER_nodename.

  3. Set the values for ORACLE_HOME and ORACLE_SID and then shut down all database instances running in the Oracle home directory, where you need to install the patch set by entering the following command:

    C:\> sqlplus /NOLOG
    SQL> CONNECT SYS AS SYSDBA
    Enter password:SYS_Password
    SQL> SHUTDOWN
    

    Use the Control Panel to stop the Oracle Database service OracleServiceSID where SID is the system identifier of the database.

  4. If the Automatic Storage Management instance is running in the Oracle home directory, where you need to install the patch set, then you need to perform the following steps:

    1. Shut down the Automatic Storage Management instance after setting the values for the environment variables ORACLE_HOME to ASM_HOME and ORACLE_SID to +ASM, by entering the following commands:

      C:\> sqlplus /NOLOG
      SQL> CONNECT SYS AS SYSDBA
      Enter password:SYS_Password
      SQL> SHUTDOWN
      
    2. Shut down the Oracle Cluster Synchronization Services instance by entering the following command:

      C:\> ORACLE_BASE\ORACLE_HOME\bin\crsctl stop crs
      
    3. Shut down the OracleASMServiceASMSID service using the Services Control manager.

    4. Shut down the OracleCSService service using the Services Control manager.

7.6.2 Stopping All Services for an Oracle Clusterware Installation

This section contains the following information:

7.6.2.1 Rolling Upgrade

By default, Oracle supports rolling upgrade for Oracle Clusterware. Complete the following steps only on one node:

  1. Shut down all services in the Oracle home on the node that might be accessing a database, for example Oracle Enterprise Manager Database Control or iSQL*Plus:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\emctl stop dbconsole
    C:\> ORACLE_BASE\ORACLE_HOME\bin\isqlplusctl stop
    

    Note:

    Before you shut down all services that are monitored by Oracle Enterprise Manager Grid Control, set a blackout in Grid Control for the services that you intend to shut down. This is necessary so that the availability records for these services indicate that the shutdown was planned downtime rather than an unplanned system outage.

  2. Shut down all services in the Oracle home on the node that might be accessing a database:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop service -d db_name [-s service_name_list [-i inst_name]]
    
  3. Shut down the Oracle RAC instance on the node on which you intend to perform the rolling upgrade. To shut down Oracle RAC instance, enter the following command where db_name is the name of the database:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop instance -d db_name -i inst_name
    
  4. If an Automatic Storage Management instance is present, then shut down the Automatic Storage Management instance on the node on which you intend to perform the rolling upgrade. To shut down an Automatic Storage Management instance, enter the following command where node is the name of the node where the Automatic Storage Management instance is running:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop asm -n node
    
  5. Stop all node applications running on the node. Enter the following command, where node is the name of the node where the applications are running:

    C:\> CRS_home\bin\srvctl stop nodeapps -n node
    
  6. Stop the Oracle Clusterware on the node on which you intend to perform the rolling upgrade:

    C:\> CRS_home\bin\crsctl stop crs
    
  7. Use Service Manager to stop the following services if any of them is running:

    OracleDBConsoleSID
    OracleServiceSID
    OracleJobSchedulerSID
    OracleASMServiceASMSID
    OracleHOME_NAMETNSListenerLISTENER_nodename
    Oracle Object Service
    OracleClusterVolumeService
    OracleCRService
    OracleCSService
    OracleEVMService
    OracleRemExecService
    
  8. Complete the steps mentioned in Section 8.


    Note:

    The following instructions are displayed on the Oracle Universal Installer screen:

    To complete the installation of this patch set, perform the following tasks on each node:

    1. Shut down the following Oracle Clusterware Services:

      OracleCRService
      OracleEVMService
      OracleCSService
      Oracle Object Service
      OracleClusterVolumeService
      
    2. Run patch102.bat to automatically start the Oracle Clusterware services on the patched node:

      C:\> CRS_home\install\patch102.bat
      
    3. After completing this procedure, proceed to the next node and repeat.


  9. To upgrade the rest of the nodes, go to the next node and perform Steps 1 to 7 and then enter the following command:

    C:\> CRS_home\install\patch102.bat
    
7.6.2.2 Non Rolling Upgrade

For non rolling upgrade, Oracle Clusterware needs to be shut down completely.

Complete the following steps:

  1. Shut down all services in the Oracle home on each node that might be accessing a database, for example Oracle Enterprise Manager Database Control or iSQL*Plus:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\emctl stop dbconsole
    C:\> ORACLE_BASE\ORACLE_HOME\bin\isqlplusctl stop
    

    Note:

    Before you shut down all services that are monitored by Oracle Enterprise Manager Grid Control, set a blackout in Grid Control for the services that you intend to shut down. This is necessary so that the availability records for these services indicate that the shutdown was planned downtime rather than an unplanned system outage.

  2. Shut down all services in the Oracle home on each node that might be accessing a database:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop service -d db_name [-s service_name_list [-i inst_name]]
    
  3. Shut down all Oracle RAC instances on all cluster nodes by entering the following command where db_name is the name of the database:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop database -d db_name
    
  4. If Automatic Storage Management instance is present, then shut down Automatic Storage Management instances on all cluster nodes by entering the following command where node is the name of the node where the Automatic Storage Management instance is running:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop asm -n node
    
  5. Stop all node applications on all cluster nodes by entering the following command, where node is the name of the node where the applications are running:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop nodeapps -n node
    
  6. Shut down the Oracle Clusterware services on each node by entering the following command:

    C:\> CRS_home\bin\crsctl stop crs
    
  7. Use Service Manager to stop the following services if any of them is running:

    OracleDBConsoleSID
    OracleServiceSID
    OracleJobSchedulerSID
    OracleASMServiceASMSID
    OracleHOME_NAMETNSListenerLISTENER_nodename
    Oracle Object Service
    OracleClusterVolumeService
    OracleCRService
    OracleCSService
    OracleEVMService
    OracleRemExecService
    
  8. Complete the steps mentioned in Section 8.

  9. Run patch102.bat to upgrade the current node, and to automatically start the Oracle Clusterware services:

    C:\> CRS_home\install\patch102.bat
    
  10. To upgrade the rest of the nodes, go to the next node and enter the following command:

    C:\> CRS_home\install\patch102.bat
    

7.6.3 Stopping All Services for an Oracle RAC Installation

Shut down the following Oracle Database 10g services before installing the patch set:

  1. Shut down all services in the Oracle home on each node that might be accessing a database, for example Oracle Enterprise Manager Database Control or iSQL*Plus:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\emctl stop dbconsole
    C:\> ORACLE_BASE\ORACLE_HOME\bin\isqlplusctl stop
    

    Note:

    Before you shut down all services that are monitored by Oracle Enterprise Manager Grid Control, set a blackout in Grid Control for the services that you intend to shut down. This is necessary so that the availability records for these services indicate that the shutdown was planned downtime rather than an unplanned system outage.

  2. Shut down all services in the Oracle home on the node that might be accessing a database:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop service -d db_name [-s service_name_list [-i inst_name]]
    
  3. Shut down all Oracle RAC instances on the nodes, which run from the Oracle home on which you are going to apply the patch set. To shut down all Oracle RAC instances for a database, enter the following command where db_name is the name of the database:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop database -d db_name
    
  4. If Automatic Storage Management instance is present, then shut down Automatic Storage Management instances on all nodes by entering the following command where node is the name of the node where the Automatic Storage Management instance is running:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop asm -n node
    
  5. Stop any listeners that are running from the Oracle home that you are patching on all nodes. To stop the listener running on a node, enter the following command, where node is the name of the node where the listener is running:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop listener -n node [-l listenername]
    
  6. Use Service Manager to stop the following services if any of them is running:

    OracleDBConsoleSID
    OracleServiceSID
    OracleASMServiceASMSID
    OracleHOME_NAMETNSListenerLISTENER_nodename
    

Note:

Using a logical standby database, you can upgrade Oracle Database software and patch sets with almost no downtime. Using Data Guard SQL Apply, you can perform a rolling upgrade of the Oracle Database software from release 10.2.0.1 to the current patch set release. During a rolling upgrade, you can run different releases of Oracle Database on the primary and logical standby databases, while you upgrade them, one at a time, incurring minimal downtime on the primary database.


See also:

Chapter 11, "Using SQL Apply to Upgrade the Oracle Database" of Oracle Data Guard Concepts and Administration

7.7 Back Up the System

Oracle recommends that you create a backup of the Oracle Inventory, Oracle 10g home and Oracle 10g Database before you install the patch set. If you are planning to apply this patch to Oracle RAC, ensure that you create a backup of these components on all nodes before applying the patch.


See also:

Oracle Database Backup and Recovery User's Guide for more information.

8 Installation Tasks

You can install the patch set either interactively or noninteractively. See one of the following sections for information about how to complete the installation:


Note:

If you also plan to apply this patch to Oracle Clusterware, ensure that you apply the patch to Oracle Clusterware before applying it to Oracle Database. This is because Oracle Clusterware should always be at the same or later version as the database.

8.1 Installing the Oracle Database 10g Patch Set Interactively

To install the Oracle Database 10g patch set interactively:


Note:

If you attempt to install this patch set in an Oracle home directory that does not contain an Oracle Database 10g release 10.2.0.1 or higher installation, Oracle Universal Installer displays a warning dialog with the following error:
OUI-10091: There are no patches that need to be applied from the patch set Oracle Database 10g Release 2 Patch Set 3
10.2.0.4

The Oracle Universal Installer does not allow the installation to proceed. Click OK, then click Cancel to end the installation.


  1. Log on as a member of the Administrators group to the computer on which you are going to install Oracle components. If you are installing on a Primary Domain Controller or a Backup Domain Controller, log on as a member of the Domain Administrators group.

  2. Start Oracle Universal Installer located in the unzipped area of the patch set. For example, Oracle_patch\setup.exe.

  3. On the Welcome screen, click Next.

  4. In the Specify Home Details screen, select the name of the Oracle home that you want to update, or select the Path that you want to update from the list, then click Next

  5. If you are installing the patch set on an Oracle RAC cluster, click Next when the Selected Nodes screen appears.


    Note:

    The Selected Nodes screen lists the existing Oracle RAC 10g release 2 nodes. The first node in the list is the node from where the Oracle RAC 10g release 2 software was installed. You must install the patch set software from this node. If this is not the node where you are running Oracle Universal Installer, exit and install the patch set software from the first node in the list of nodes.

    Alternatively, reset the node order as follows:

    1. Exit Oracle Universal Installer.

    2. Enter a command similar to the following, where the node that you want to install the patch set from is the first node in the list of nodes:

      C:\Oracle_patch> setup.exe -updateNodeList "CLUSTER_NODES=node2,node1,node3" -local
       ORACLE_BASE\ORACLE_HOME=oracle_home_path
      

      In this example, the Oracle RAC 10g release 2 (10.2.0.x) software was installed from node1, but the patch set will be installed from node2.


  6. On the Summary screen, click Install.

    When the installation is complete, the End of Installation screen appears.


    Note:

    If you are applying this patch set to an Oracle Clusterware installation, then complete all the steps displayed on the Oracle Universal Installer.

    The Oracle Clusterware installation instructions displayed on the Oracle Universal Installer screen are also available in the CRS_home\install\readme.txt file.


  7. On the End of Installation screen, click Exit, then click Yes to exit from Oracle Universal Installer.

  8. Staring Oracle Database 10g Release 2 (10.2.0.4), the Oracle Process Manager service is supported for Oracle RAC. However, this service is not installed automatically and you need to install it manually. To install the Oracle Process Manager service, run the following command on each node of Oracle Clusterware:

    SYSTEM_DRIVE:> crs_home\bin\opmd -install
    

8.2 Installing the Oracle Database 10g Patch Set Noninteractively

To install the Oracle Database 10g patch set noninteractively:

  1. Copy the response file template provided in the response directory where you unpacked the patch set archive file.

  2. Edit the values for all fields labeled as <Value Required> as described by the comments and examples in the template.


    Note:

    For Oracle RAC installations, make sure the CLUSTER_NODES variable specifies all of the nodes used in the original Oracle RAC installation.

  3. Start Oracle Universal Installer located in the unzipped area of the patch set. You should pass the full path of the response file template you have edited locally as the last argument. For example:

    C:\Oracle_patch> setup.exe -silent -responseFile response_file_path
    

    Note:

    If you are applying this patch set to an Oracle Clusterware installation, then complete all the steps in the CRS_home\install\readme.txt file.

9 Postinstallation Tasks

Review the information in this section before using the upgraded software. This section lists required and optional postinstallation tasks, depending on the installation type and the products that you want to use.

9.1 Updating Oracle Time Zone Definitions

Based on the result you had in Section 7.5, "Update Oracle Time Zone Definitions" regarding the DST (Oracle time zone definitions):

  • If the DST version in 7.5 was 4, no action is required.

  • If f the DST version in 7.5 was higher than 4, reapply the version of DST patches as described in OracleMetaLink document 553812.1 Actions for the DSTv4 update in the 10.2.0.4 patchset.

  • If the DST version in 7.5 was lower then 4, restore TSTZ data from backup (if any). For more information, see OracleMetaLink document 553812.1 Actions for the DSTv4 update in the 10.2.0.4 patchset.

  • If you are upgrading from Release 8.1.7 directly to Release 10.2.0.4, no action is required.

9.2 Upgrading Earlier Oracle Database to Oracle Database 10g Release 2 (10.2.0.4)

Review the following sections before upgrading an earlier Database to Oracle Database 10g release 2 (10.2.0.4):

9.2.1 Upgrading Earlier Oracle Database Releases to Oracle Database 10g Release 2 (10.2.0.4)

For information about upgrading Oracle Databases from an earlier Oracle Database (Oracle8i, Oracle9i, or Oracle Database 10g), see Oracle Database Upgrade Guide.

If you are upgrading an Oracle RAC database, refer to Oracle Real Application Clusters Administration Guide as well.

9.2.2 Upgrading a Release 9.2 Database Not Using Oracle Label Security

To find if Oracle Label Security is in the installation, complete the following steps:

  1. You can use one of the following methods check if Oracle Label Security is installed:

    • If the following script exists on the computer, Oracle Label Security is installed:

      $ORACLE_HOME/rdbms/admin/catnools.sql
      
    • Check the inventory at the end of the installAction log file for the base version installation (9.2). If Oracle Label Security is installed, Label Security is listed in the inventory section of the log file.

  2. Use the following commands to check if Oracle Label Security is installed with the 9.2 database:

    $ sqlplus
    SQL> CONNECT SYS AS SYSDBA
    Enter password:password
    SELECT * FROM V$OPTION WHERE PARAMETER = "ORACLE LABEL SECURITY";
    

    If the command does not display any results, Oracle Label Security is not applied to the database and you can ignore this section. However, if the command returns some results, you must complete this section.

If you want to upgrade an Oracle9i release 9.2 preconfigured database, and you are not using Oracle Label Security, complete the following steps to avoid errors during the upgrade:

  1. Use Oracle Universal Installer release 9.2 to install Oracle Label Security using the Custom installation type.

  2. Run the ORACLE_BASE\ORACLE_HOME\admin\catnools.sql script with the SYSDBA privilege to remove Oracle Label Security components from the database.

9.3 Upgrading Oracle Database 10g Release 10.2.0.x to Oracle Database 10g Release 10.2.0.4

See one of the following sections for upgrading an Oracle Database 10g release 10.2.0.x to Oracle Database 10g release 10.2.0.4:

9.3.1 Upgrading a Release 10.2 Database using Oracle Database Upgrade Assistant

After you install the patch set, you must perform the following steps on every database associated with the upgraded Oracle home:


Note:

If you do not run the Oracle Database Upgrade Assistant script as described in this section, then the following errors are displayed:

ORA-01092: ORACLE instance terminated.

ORA-39700: database must be opened with UPGRADE option.


  1. Log in with administrator privileges.

  2. Set the values for the environment variables ORACLE_HOME, ORACLE_SID and PATH.

  3. For single-instance installations, if you are using Automatic Storage Management, start the Automatic Storage Management instance.

  4. For Oracle single-instance installations, start the listener as follows:

    C:\> lsnrctl start
    
  5. Ensure the Oracle RAC database is up before running Oracle Database Upgrade Assistant by entering the following command:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl start database -d db_name -o mount
    
  6. Ensure that dbconsole service is stopped and service control panel is closed on all the nodes before running Oracle Database Upgrade Assistant.

  7. Run Oracle Database Upgrade Assistant either in the interactive or noninteractive mode:

    Interactive mode:

    Start the Oracle Database Upgrade Assistant:

    From the Start menu, select Programs, then Oracle - HOME_NAME, then Configuration and Migration Tools and then Database Upgrade Assistant to start the Oracle Database Upgrade Assistant.

    Complete the following steps displayed in the Oracle Database Upgrade Assistant screen:

    1. On the Welcome screen, click Next.

    2. On the Databases screen, select the name of the Oracle Database that you want to update, then click Next.


      Note:

      For Oracle RAC, enter the SYS password to do the upgrade.

    3. On the Recompile invalid objects screen, select the Recompile the invalid objects at the end of upgrade option, then click Next.

    4. If you have not taken the back up of the database earlier, on the Backup screen, select the I would like to take this tool to backup the database option, mention the Path, then click Next.

    5. On the Summary screen, check the summary, then click Finish.

    6. On the End of Upgrade screen, click Exit, then click Yes to exit from Oracle Database Upgrade Assistant.

    Noninteractive mode:

    Enter the following command to upgrade Oracle Database using Oracle Database Upgrade Assistant in noninteractive mode:

    C:\> ORACLE_BASE\ORACLE_HOME\dbua -silent -dbname ORACLE_SID -oracleHome 
    ORACLE_HOME -sysDBAUserName UserName -sysDBAPassword SYS_password 
    -recompile_invalid_objects true
    
  8. If you are using the Oracle Recovery Manager catalog, enter the following command:

    C:\> rman catalog username/password@alias
    RMAN> UPGRADE CATALOG;
    
  9. For Oracle RAC installations, start any database services that you want to use by entering the following command:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl start service -d db_name -s service_name
    

9.3.2 Manually Upgrading a Release 10.2 Database

Complete the following sections to upgrade an Oracle Database 10g release 10.2.0.x to Oracle Database 10g release 10.2.0.4:

  1. Run the Pre-Upgrade Information Tool

  2. Upgrading a Release 10.2 Database

  3. Missing Components When Upgrading

9.3.2.1 Run the Pre-Upgrade Information Tool

If you are upgrading database manually, then you should analyze it by running the Pre-Upgrade Information Tool.

The Pre-Upgrade Information Tool is a SQL script that ships with Oracle Database 10.2. Complete the following procedure to run the Pre-Upgrade Information Tool:

  1. Start the database in the UPGRADE mode:

    SQL> STARTUP UPGRADE
    
  2. Set the system to spool results to a log file for later analysis:

    SQL> SPOOL upgrade_info.log 
    
  3. Run the Pre-Upgrade Information Tool:

    SQL> @?/rdbms/admin/utlu102i.sql
    
  4. Turn off the spooling of script results to the log file:

    SQL> SPOOL OFF
    

Check the output of the Pre-Upgrade Information Tool in the upgrade_info.log file. The following is an example of the output generated by the Pre-Upgrade Information Tool:

Oracle Database 10.2 Upgrade Information Utility    02-04-2008 11:48:11
.
**********************************************************************
Database:
**********************************************************************
--> name:       X102040
--> version:    10.2.0.1.0
--> compatible: 10.2.0.1
--> blocksize:  8192
.
**********************************************************************
Tablespaces: [make adjustments in the current environment]
**********************************************************************
--> SYSTEM tablespace is adequate for the upgrade.
.... minimum required size: 505 MB
.... AUTOEXTEND additional space required: 15 MB
--> UNDOTBS1 tablespace is adequate for the upgrade.
.... minimum required size: 401 MB
.... AUTOEXTEND additional space required: 376 MB
--> SYSAUX tablespace is adequate for the upgrade.
.... minimum required size: 265 MB
.... AUTOEXTEND additional space required: 15 MB
--> TEMP tablespace is adequate for the upgrade.
.... minimum required size: 58 MB
.... AUTOEXTEND additional space required: 38 MB
--> EXAMPLE tablespace is adequate for the upgrade.
.... minimum required size: 69 MB
.
**********************************************************************
Update Parameters: [Update Oracle Database 10.2 init.ora or spfile]
**********************************************************************
WARNING: --> "shared_pool_size" needs to be increased to at least 167772160
WARNING: --> "java_pool_size" needs to be increased to at least 67108864
.
**********************************************************************
Components: [The following database components will be upgraded orinstalled]
**********************************************************************
--> Oracle Catalog Views         [upgrade]  VALID
--> Oracle Packages and Types    [upgrade]  VALID
--> JServer JAVA Virtual Machine [upgrade]  VALID
--> Oracle XDK for Java          [upgrade]  VALID
--> Oracle Java Packages         [upgrade]  VALID
--> Oracle Text                  [upgrade]  VALID
--> Oracle XML Database          [upgrade]  VALID
--> Oracle Workspace Manager     [upgrade]  VALID
--> Oracle Data Mining           [upgrade]  VALID
--> Messaging Gateway            [upgrade]  VALID
--> OLAP Analytic Workspace      [upgrade]  VALID
--> OLAP Catalog                 [upgrade]  VALID
--> Oracle OLAP API              [upgrade]  VALID
--> Oracle interMedia            [upgrade]  VALID
--> Spatial                      [upgrade]  VALID
--> Oracle Ultra Search          [upgrade]  VALID
--> Oracle Label Security        [upgrade]  VALID
--> Expression Filter            [upgrade]  VALID
--> EM Repository                [upgrade]  VALID
--> Rule Manager                 [upgrade]  VALID
PL/SQL procedure successfully completed.

The following sections describe the output of the Pre-Upgrade Information Tool.

Database

This section displays global database information about the current database, such as the database name and release number before the database is upgraded.

Tablespaces

This section displays a list of tablespaces in the current database. For each tablespace, the tablespace name and minimum required size is displayed. In addition, a message is displayed if the tablespace is adequate for the upgrade. If the tablespace does not have enough free space, then space must be added to the tablespace in the current database. Tablespace adjustments must be made before the database is upgraded.

Update/Obsolete/Deprecated Parameters

These sections display a list of initialization parameters in the parameter file of the current database that should be adjusted before the database is upgraded. The adjustments must be made to the Oracle Database 10.2 init.ora or spfile.

Components

This section displays a list of database components that are upgraded or installed when the current database is upgraded.

9.3.2.2 Upgrading a Release 10.2 Database

After you install the patch set, you must perform the following steps on every database associated with the upgraded Oracle home:


Note:

If you do not run the catupgrd.sql script as described in this section and you start up a database for normal operation, then ORA-01092: ORACLE instance terminated. Disconnection forced errors will occur and the error ORA-39700: database must be opened with UPGRADE option will be in the alert log.

  1. Log in with administrator privileges.

  2. For Oracle RAC installations, start listener on each node of the cluster as follows:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl start listener -n node
    
  3. If you are using Automatic Storage Management, start the Automatic Storage Management instance.

  4. For single-instance installations, start the listener as follows:

    C:\> lsnrctl start
    
  5. For single-instance installations, use SQL*Plus to log in to the database as the SYS user with SYSDBA privileges:

    C:\> sqlplus /NOLOG
    SQL> CONNECT SYS AS SYSDBA
    Enter password:SYS_password
    

    Users of single-instance installations now proceed to step 7.

  6. For Oracle RAC installations:

    1. Use SQL*Plus to log in to the database as the SYS user with SYSDBA privileges:

      C:\> sqlplus /NOLOG
      SQL> CONNECT SYS AS SYSDBA
      Enter password: SYS_password
      SQL> STARTUP NOMOUNT
      
    2. Set the CLUSTER_DATABASE initialization parameter to FALSE:

      SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=spfile; 
      
    3. Shut down the database:

      SQL> SHUTDOWN
      
  7. Enter the following SQL*Plus commands:

    SQL> STARTUP UPGRADE
    SQL> SPOOL patch.log
    SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\catupgrd.sql
    SQL> SPOOL OFF
    
  8. Review the patch.log file for errors and inspect the list of components that is displayed at the end of catupgrd.sql script.

    This list provides the version and status of each SERVER component in the database.

  9. If necessary, rerun the catupgrd.sql script after correcting any problems.

  10. Restart the database:

    SQL> SHUTDOWN IMMEDIATE
    SQL> STARTUP
    
  11. Run the utlrp.sql script to recompile all invalid PL/SQL packages now instead of when the packages are accessed for the first time. This step is optional but recommended.

    SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\utlrp.sql
    

    Note:

    When the 10.2.0.4 patch set is applied to an Oracle Database 10g Standard Edition database, there may be 54 invalid objects after the utlrp.sql script runs. These objects belong to the unsupported components and do not affect the database operation.

    Ignore any messages indicating that the database contains invalid recycle bin objects similar to the following:

    BIN$4lzljWIt9gfgMFeM2hVSoA==$0
    

  12. Run the following command to check the status of all the components after the upgrade:

    SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
    

    In the output of the preceding command, the status of all the components should be VALID for a successful upgrade.

  13. If you are using the Oracle Recovery Manager catalog, enter the following command:

    C:\> rman catalog username/password@alias 
    RMAN> UPGRADE CATALOG; 
    
  14. For Oracle RAC installations:

    1. Set the CLUSTER_DATABASE initialization parameter to TRUE:

       SQL> ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=spfile; 
      
    2. Restart the database:

      SQL> SHUTDOWN IMMEDIATE
      SQL> STARTUP
      
    3. Start any database services that you want to use:

      C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl start service -d db_name -s service_name
      
  15. To configure and secure Enterprise Manager follow these steps:

    Ensure the database and Listener are operational.

    • In the case of a single instance, execute

      emca -upgrade db
      
    • In the case of Oracle Real Application Clusters (RAC), execute

      emca -upgrade db -cluster
      

    Note:

    If you are upgrading a database having dbcontrol configured in non-secure mode, after upgrade dbconsole will run in secure mode.

9.3.2.3 Missing Components When Upgrading

When you upgrade Oracle Database 10g Release 1 (10.1.0.5) to Oracle Database 10g Release 2 (10.2.0.4), the diagnostics of the preupgrade utility script utlu102.sql may indicate that some database components on the 10g Companion CD should be installed. You should install these components from the Oracle Database 10g Release 1 (10.1.0.5) Companion CD before applying this patch set. If the catupgrd.sql script cannot upgrade a SERVER component because it was not installed from the Companion CD, then the status of the SERVER component in the patch.log file is reported as NO SCRIPT.


Note:

If the preupgrade script indicates the Server JAVA Virtual Machine's JAccelerator (NCOMP) or Oracle interMedia Image Accelerator should be installed, but they are not installed before applying the patch set, then the patch.log file contains the status of their parent components as successfully upgraded to Oracle Database 10g Release 2 (10.2.0.4) even though these components are still missing.

If you find any component, which was identified as missing by the preupgrade utility script, was not installed before running the catupgrd.sql script, then install the missing component from the Companion CD and run the catupgrd.sql script again.

9.4 Enabling Oracle Database Vault

For installations with Oracle Database Vault, complete the following steps:

  1. Restart the database:

    For a single-instance database, use the following commands:

    sqlplus SYS "AS SYSDBA"
    Enter password:
    SQL> SHUTDOWN IMMEDIATE
    SQL> STARTUP
    

    For an Oracle Real Application Clusters (RAC) database, use the following commands:

    $ORACLE_HOME/bin/srvctl stop database -d db_name
    $ORACLE_HOME/bin/srvctl start database -d db_name
    
  2. Connect AS SYSDBA and run the following SQL statements:

    SQL> DROP FUNCTION DVSYS.REALM_SDML_AUTHORIZED ;
    SQL> DROP PROCEDURE DVSYS.SYNCHRONIZE_POLICY_FOR_OBJECT;
    SQL> DECLARE
                  CURSOR stmt IS
                           SELECT u.name, o.name, r.pname
                               FROM user$ u, obj$ o, rls$ r
                           WHERE u.user# = o.owner#
                               AND r.obj# = o.obj#
                               AND bitand(r.stmt_type,65536) > 0;
     
                           object_schema VARCHAR2(32) := NULL;
                           object_name VARCHAR2(32) := NULL;
                           policy_name VARCHAR2(32) := NULL;
     
                           BEGIN
                            OPEN stmt;
                              LOOP
                                   FETCH stmt INTO object_schema, 
                                                   object_name, 
                                                   policy_name;
                                   EXIT WHEN stmt%NOTFOUND;
                                   DBMS_RLS.DROP_POLICY(
                                   '"'||object_schema||'"',
                                   '"'||object_name||'"',
                                   '"'||policy_name||'"');
                              END LOOP;
                            CLOSE stmt;
                           END;
                          /
    
  3. Run DVCA to reconfigure Database Vault. Use the following syntax:

    C:\> ORACLE_HOME\bin\dvca -action option -oh oracle_home -jdbc_str
       jdbc_connection_string -owner_account DV_owner_account_name
       [-acctmgr_account DV_account_manager_account_name]
       [-logfile .\dvca.log] [-nodecrypt]
    

    Where:

    - action: The action to perform. option creates the Database Vault schema objects, creates the DV_OWNER account and the optional DV_ACCTMGR account, and deploys the Database Vault Administrator application.

    - oh: The Oracle home for the database

    - jdbc_str: The JDBC connection string used to connect to the database. For example, jdbc:oracle:oci:@orcl1, where orcl1 is the net service name in the tnsnames.ora file (ORACLE_HOME\network\admin\tnsnames.ora).

    - owner_account: Oracle Database Vault Owner account name

    - acctmgr_account: (Optional) Oracle Database Vault Account Manager user

    - logfile: Optionally, specify a log file name and location. You can enter an absolute path or a path that is relative to the location of the $ORACLE_HOME/bin directory

    - nodecrypt: Reads plaintext passwords as passed on the command line. You must use this option if you are passing plaintext passwords to the command.


    Note:

    You are prompted to enter the SYS, Database Vault Owner, and Database Vault Account Manager passwords.


    See Also:

    Oracle Database Vault Installation Guide, 10g Release 2 (10.2) for Linux x86, Appendix C "Running DVCA After Creating a Database Vault Database" for more options available with the dvca -action option command

  4. Run Oracle Database Vault Configuration Assistant (DVCA) by using the dvca -action enable option. This enables the Database Vault triggers. Use the following syntax:

    dvca -action enable
             -service service_name
             -owner_account DV_owner_account_name 
            [-logfile .\dvca.log]
            [-nodecrypt]
    
        Enter SYS password: sys_password
        Enter owner password: owner_password 
    

    See Step 6 for details of the options used in the command.

  5. Lock the DVSYS account. Use the following SQL statements:

    SQL> CONNECT SYS "AS SYSDBA"
    Enter password:
    SQL> ALTER USER DVSYS ACCOUNT LOCK;
    
  6. Shut down the database.

    To stop a single-instance database, use the following commands:

    sqlplus SYS "AS SYSDBA"
    Enter password:
    SQL> SHUTDOWN IMMEDIATE
    

    For an Oracle Real Application Clusters (RAC) database, use the following command:

    C:\> ORACLE_HOME\bin\srvctl stop database -d db_name
    
  7. Turn on Database Vault.

    C:\> cd ORACLE_HOME\bin
    C:\> move oradv10_backup.dll oradv10.dll
    

    Note:

    For an Oracle Real Application Clusters (RAC) database, you must repeat the preceding commands on all nodes.

  8. Start the database.

    For a single-instance database, use the following commands:

    sqlplus SYS "AS SYSDBA"
    Enter password:
    SQL> startup
    

    For an Oracle Real Application Clusters (RAC) database, use the following command:

    C:\> ORACLE_HOME\bin\srvctl start database -d db_name
    
  9. If you wish to disable connections with SYSDBA privileges, then re-create the password file with the nosysdba=y and force=y flags. Use the following syntax:

    C:\> orapwd file=ORACLE_HOME\dbs\orapwSID password=sys_password force=y nosysdba=y
    

    Here SID is the Oracle system identifier (SID) of the database, and password is the password for the SYS account.

9.5 Oracle Database Extensions for .NET

If you use Oracle Database Extensions for .NET, then complete the following steps and start the OracleORACLE_HOMEClrAgent service:

  1. Use SQL*Plus to deploy the DBMSClr.plb package:

    C:\> sqlplus /NOLOG
    SQL> CONNECT SYS AS SYSDBA
    Enter password:SYS_Password
    SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\DBMSClr.plb
    
  2. Start the OracleORACLE_HOMEClrAgent service:

    From the Start menu, select Programs, then Administrative Tools and then Services to open the Services control panel then select OracleORACLE_HOMEClrAgent and click Start.

9.6 Configuring Oracle Configuration Manager in a Cloned Oracle Home

If you have installed and configured Oracle Configuration Manager in the original Oracle home directory, then complete the following procedure:

  1. In the cloned Oracle home, remove all the subdirectories of the Oracle_home\ccr\hosts directory to remove the previously configured hosts.

  2. In the cloned Oracle home, run the following command:

    SYSTEM_DRIVE:> configCCR -a
    

If you have installed Oracle Configuration Manager in the original Oracle home but have not configured it, then run the following command to configure it in the cloned Oracle home:

SYSTEM_DRIVE:> setupCCR

10 Downgrading Oracle Database Vault

Downgrading Oracle Database Vault from 10.2.0.4 to 10.2.0.x requires the following steps:

  1. Follow the steps in section "Disabling Oracle Database Vault"

  2. Follow the steps in section "Removing the Patch Set Software"

  3. Follow the steps in section "Enabling Oracle Database Vault"

11 Removing the Patch Set Software

The catdwgrd.sql script enables the user to restore the Oracle Database installation of the database back to the original 10.2 release that the user backed up before applying the patch set. The catdwgrd.sql script is run in the 10.2.0.4 Oracle home to perform necessary downgrade actions. After the 10.2.0.x release is restored, the catrelod.sql script is run from 10.2.0.x Oracle home to reload the 10.2.0.x release packages and views.

See one of the following sections for information about how to remove the patch set software based on the Oracle Database installation type:

11.1 Removing the Patch Set Software for Single Instance Installation

Perform the following steps for removing the patch set from the 10.2.0.4 patch release:

  1. Use SQL*Plus to log in to the database as the SYS user with SYSDBA privileges:

    C:\> sqlplus /NOLOG
    SQL> CONNECT SYS AS SYSDBA
    Enter password:SYS_password
    SQL> SHUTDOWN IMMEDIATE
    SQL> EXIT
    
  2. Take a backup of the following file in 10.2.0.4 Oracle home directory:

    C:\> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\catrelod.sql
    C:\> @ORACLE_BASE\ORACLE_HOME\network\admin\tnsnames.ora
    
  3. Enter the following SQL*Plus commands:

    C:\> cd ORACLE_BASE\ORACLE_HOME
    C:\> sqlplus /NOLOG
    SQL> CONNECT SYS AS SYSDBA
    Enter password:SYS_password
    SQL> STARTUP DOWNGRADE
    SQL> SPOOL downgrade.out
    SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\catdwgrd.sql
    SQL> SPOOL OFF
    SQL> SHUTDOWN IMMEDIATE
    SQL> EXIT
    
  4. Review the downgrade.out file for errors.

  5. Restore the Oracle10g installation and Central Inventory that you backed up before applying the patch set.

  6. After restoring the original Oracle home, copy the saved version of catrelod.sql script into the restored Oracle home rdbms\admin directory. Also copy the saved version of 10.2.0.4\network\admin\tnsnames.ora directory into the restored Oracle home \network\admin\tnsnames.ora directory, and then perform the following steps:

    1. Start the service OracleServiceSID from the Control Panel by selecting Administrative Tools and then Services.

    2. Enter the following SQL*Plus commands:

      C:\> sqlplus /NOLOG
      SQL> CONNECT SYS AS SYSDBA
      Enter password:SYS_Password
      SQL> STARTUP DOWNGRADE
      SQL> SPOOL catrelod.out
      SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\catrelod.sql
      SQL> SPOOL OFF
      SQL> SHUTDOWN IMMEDIATE
      
  7. Review the catrelod.out file for errors.

  8. Start the database and recompile the remaining invalid objects:

    SQL> STARTUP
    SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\utlrp.sql
    

    Cross-check the status of installed components with the following script:

    SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
    

11.2 Removing the Patch Set Software for Oracle RAC Installation

Perform the following steps for removing the patch set from the 10.2.0.4 patch release:

  1. Use SQL*Plus to log in to the database as the SYS user with SYSDBA privileges:

    C:\> sqlplus /NOLOG
    SQL> CONNECT SYS AS SYSDBA
    Enter password:SYS_password
    
  2. Set the CLUSTER_DATABASE initialization parameter to FALSE:


    Note:

    If the system uses an initialization parameter file, change the value of the CLUSTER_DATABASE initialization parameters to TRUE in the initialization parameter file (initsid.ora).

    SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=spfile; 
    
  3. Exit SQL*Plus and shut down the database:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop database -d db_name
    
  4. Take a backup of the following files in 10.2.0.4 Oracle home directory:

    $ ORACLE_HOME/rdbms/admin/catrelod.sql
    $ ORACLE_HOME/network/admin folder
    
  5. Enter the following SQL*Plus commands:

    C:\> sqlplus /NOLOG
    SQL> CONNECT SYS AS SYSDBA
    Enter password:SYS_password
    SQL> STARTUP DOWNGRADE
    SQL> SPOOL catdwgrd.out
    SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\catdwgrd.sql
    SQL> SPOOL OFF
    SQL> SHUTDOWN IMMEDIATE
    SQL> EXIT
    
  6. Complete the following steps to stop all Oracle Database services:

    1. Stop all node applications running on the node. Enter the following command, where node is the name of the node where the applications are running:

      C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop nodeapps -n node
      

      For Automatic Storage Management instances, perform the following step:

      C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl stop asm -n node
      
    2. Stop the services OracleServiceinst_name and OracleDBConsoleinst_name from the Control Panel by selecting Administrative Tools and then Services.

  7. Restore the Oracle10g installation and Central Inventory that you backed up before applying the patch set on all the nodes.

  8. After restoring the original Oracle home, copy the saved version of catrelod.sql script into the restored Oracle home rdbms\admin directory. Also copy the saved version of 10.2.0.4\network\admin\tnsnames.ora directory into the restored Oracle home \network\admin\tnsnames.ora directory, and then perform the following steps:

    1. Start the OracleServiceSID service from the Control Panel by selecting Administrative Tools and then Services.

    2. Enter the following SQL*Plus commands:

      C:\> sqlplus /NOLOG
      SQL> CONNECT SYS AS SYSDBA
      Enter password:SYS_Password
      SQL> STARTUP DOWNGRADE
      SQL> SPOOL catrelod.out
      SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\catrelod.sql
      SQL> SPOOL OFF
      SQL> SHUTDOWN IMMEDIATE
      
  9. Start the listener, gsd and ons processes:

    1. Start the node applications by entering the following command, where node is the name of the node where the applications are running:

      C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl start nodeapps -n node
      

      For Automatic Storage Management instances, perform the following step:

      C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl start asm -n node
      
    2. Start the service OracleServiceinst_name from the Control Panel by selecting Administrative Tools and then Services.

  10. Review the catrelod.out file for errors.

  11. Start the database and recompile the remaining invalid objects:

    SQL> STARTUP
    SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\utlrp.sql
    

    Cross-check the status of installed components with the following script:

    SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
    
  12. Set the CLUSTER_DATABASE initialization parameter to TRUE:


    Note:

    If the system uses an initialization parameter file, change the value of the CLUSTER_DATABASE initialization parameters to TRUE in the initialization parameter file (initsid.ora).

    SQL> ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=spfile;
    SQL> SHUTDOWN
    SQL> EXIT
    
  13. Start the database:

    1. Start the service OracleServiceinst_name from the Control Panel by selecting Administrative Tools and then Services.

    2. Start the database by entering the following command:

      C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl start database -d ORACLE_SID
      

    Note:

    Option for removing Oracle Clusterware patch set is not available in 10.2.0.4. This issue is tracked with Oracle bug 5598010.

12 Removing Configuration and Deleting CCR for OCM Configured Oracle Database 10 Release 2 (10.2.0.4)

If you have installed CCR, then you should remove it manually. Complete the following steps to remove CCR, if it was configured manually after installing Oracle Database 10g Release 2 (10.2.0.4):

  1. Create a response file with following entries:

    oracle.sysman.ccr|b_localInstall=true
    oracle.sysman.ccr|b_acceptLicense=true
    
  2. Change to the $ORACLE_HOME/oui/bin directory.

  3. Run the following command to remove the ccr directory from the Oracle Database 10g Release 2 (10.2.0.4) Oracle home:

    runConfig.bat ORACLE_HOME=OH ACTION=deconfigure MODE=perform RERUN=true
    COMPONENT_XML={ccr_xml} RESPONSE_FILE=rsp_file_location
    

    In the preceding command, ccr_xml is available in the $ORACLE_HOME/inventory/ContentsXML/ConfigXML directory and rsp_file_location is the directory where the response file was created. To display the ccr_xml file, run the ls oracle*ccr.10*_0.xml command in the $ORACLE_HOME/inventory/ContentsXML/ConfigXML directory.

13 Reinstalling the Patch Set Software

If necessary, you can reinstall a patch set that has been applied to an Oracle Database 10g installation. You must reinstall the patch set interactively.

To reinstall the patch set:

  1. Make sure you complete the same set of preinstallation tasks that you performed when you installed the patch set initially:

    1. Log on as a member of the Administrators group to the computer on which to install Oracle components. Log on as a member of the Domain Administrators group if you are installing on a Primary Domain Controller or a Backup Domain Controller.

    2. Unzip the downloaded patch set file into a new directory.

    3. Shut down the existing Oracle server instance with normal or immediate priority. For example, shut down all instances cleanly.

    4. Stop all listener, agent, and other services running in or against the Oracle home in which you are installing.

  2. Start Oracle Universal Installer in the same manner that you did when installing the patch set initially. You may only reinstall a patch set by running Oracle Universal Installer in interactive mode.

  3. On the Specify File Locations screen, click Browse next to the Path field in the Source section.

  4. Select the Oracle home that you want to update from the list.


    Note:

    If you are not sure of the name of the Oracle home, click Installed Products to determine the name of the Oracle home you want to upgrade.

  5. If you are installing the patch set on an Oracle RAC cluster, click Next on the Selected Nodes screen.

  6. Click Next. The Available Product Component screen appears. This screen contains a listing of all components that have been patched by the original patch set installation. Previously installed components are grayed out, indicating they cannot be selected for installation.

  7. Expand the nodes for each component listed in the tree to display the patch that corresponds to each component.

  8. Select the patches that you want to install.

    When you select a patch, the Install Status column changes to reinstall.

  9. Repeat the process for each patch bundled in the patch set, then click Next.

  10. On the Summary screen, verify the list of patches to be reinstalled, then click Install.

  11. On the End of Installation screen, click Exit, then click Yes to exit from Oracle Universal Installer.

14 Known Issues

Review the following known issues after you apply the patch set:

14.1 Error While Deleting a Cluster Database Instance on a Shared Oracle Home on Windows

When you delete a cluster database instance on a shared Oracle Home on Windows, there may be an error message saying that EMCA has failed. This occurs when Database Control has been configured to manage the associated cluster database.

This issue is tracked with Oracle bug 4757173.

Workaround:

If this error occurs, you must determine if Database Control was running from the node from which the instance was deleted.

For example, assume a two-node cluster with nodes, node1 and node2, where orcl1 is an instance running on node1, while orcl2 is running on node2. If Database Control is running on node2, and orcl2 is the instance deleted, then you must do the following:

  1. Run ORACLE_BASE\ORACLE_HOME\bin\emca using the -reconfig dbcontrol db options to reconfigure the Database Control deployment.

  2. Manually delete the state directories ORACLE_BASE\ORACLE_HOME\node2_orcl2 and ORACLE_BASE\ORACLE_HOME\oc4j\j2ee\OC4J_DBConsole_node2_orcl2.

If Database Control was running on node1 instead, and orcl2 was the instance deleted, then:

  • You can safely ignore the error.

  • You can manually delete the state directories ORACLE_BASE\ORACLE_HOME\node2_orcl2 and ORACLE_BASE\ORACLE_HOME\oc4j\j2ee\OC4J_DBConsole_node2_orcl2, if possible.

14.2 Upgrading Preconfigured Standard Edition Databases

If you are using an Oracle Database release 10.2.0.2 preconfigured Standard Edition database, then the database contains the following components that are not supported by the Standard Edition:

  • Oracle Data Mining

  • Oracle OLAP Catalog

  • Oracle OLAP Analytic Workspace

  • Oracle OLAP API

  • Oracle Spatial

The catupgrd.sql script does not run the patch scripts for these components. It sets the component STATUS to OPTION OFF in the DBA_REGISTRY view. The original versions of the dictionary objects for the components remain in the database but the catupgrd.sql script does not apply the patch to them.

14.3 Database Upgrade Error While Running Oracle Database Upgrade Assistant

Oracle Database Upgrade Assistant fails to upgrade 10.2.0.1, 10.2.0.2 or 10.2.0.3 Oracle Real Application Clusters (RAC) database to 10.2.0.4 patch set if the Oracle RAC database is down.

Workaround

Enter the following command to start the database and retry the upgrade process:

C:\> ORACLE_BASE\ORACLE_HOME\bin\srvctl start database -d db_name -o mount

This issue is tracked with Oracle bug 5533745.

14.4 The Welcome Page of Oracle Database Upgrade Assistant Displays Incorrect Version

The Welcome page of Oracle Database Upgrade Assistant displays incorrect version of Oracle 9i. Oracle 9i Release 9.1.0 should read as Oracle 9i Release 9.0.1.

This issue is tracked with Oracle bug 6695802.

14.5 Running Oracle Database Upgrade Assistant on a Single Node Oracle RAC Installation

Oracle Database Upgrade Assistant fails during postinstallation upgrade on a single node and displays the following error message:

ORA-32001: write SPFILE requested but no SPFILE specified at startup

Workaround:

  1. Start the database with the NOMOUNT option:

    C:\> sqlplus /NOLOG
    SQL> CONNECT SYS AS SYSDBA
    Enter password:SYS_password
    SQL> STARTUP NOMOUNT
    
  2. Create SPFILE from PFILE by entering the following command where pfile_location is usually ORACLE_BASE\ORACLE_HOME\admin\db_name\pfile for Optimal Flexible Architecture compliant database:

    SQL> CREATE SPFILE=SHARED_LOCATION\SPFILE.ORA FROM PFILE=pfile_location\init.ora
    
  3. Shut down the database:

    SQL> SHUTDOWN IMMEDIATE
    SQL> EXIT
    
  4. Clear the contents of PFILE located at $ORACLE_HOME/dbs/initsid.ora and set the value of SPFILE as SHARED_LOCATION/SPFILE.ORA.

  5. Run Oracle Database Upgrade Assistant:

    C:\> ORACLE_BASE\ORACLE_HOME\bin\dbua
    

Note:

This workaround will resolve the issue faced during add node operation from single node. This issue is tracked with Oracle bug 5585075.

This issue is tracked with Oracle bug 5531643.

14.6 Refresh From OracleMetaLink Job Fails in Oracle Enterprise Manager Database Control

If you attempt the Refresh from OracleMetaLink job in Oracle Enterprise Manager Database Control, then it displays the following error: