1 Introduction

This chapter provides an overview of the database upgrade process, and information about running multiple releases of the Oracle Database.

This chapter covers the following topics:


For late-breaking updates and best practices about preupgrade, post-upgrade, compatibility, and interoperability discussions, see Note 466181.1 on OracleMetalink (https://metalink.oracle.com/) that links to "The Upgrade Companion" web site.

Overview of the Database Upgrade Process

This section includes an overview of the major steps required to upgrade an existing Oracle Database to the new Oracle Database 10g release. These procedures transform an existing Oracle Database system (including associated applications) into an Oracle Database 10g system. Oracle Database 10g is compatible with all earlier Oracle Database releases. Therefore, databases upgraded using the procedures described in this book can work in the same manner as in earlier releases and, optionally, can leverage new Oracle Database 10g functionality.

Oracle Database 10g supports the following tools and methods for upgrading a database to the new Oracle Database 10g release:

  • Database Upgrade Assistant (DBUA)

    Provides a graphical user interface (GUI) that guides you through the upgrade of a database. The DBUA can be launched during installation with the Oracle Universal Installer, or you can launch the DBUA as a standalone tool at any time in the future.


    The DBUA is the recommended method for upgrading a database. Beginning with release 10.2, you can also use the DBUA to upgrade to a new patch release of Oracle 10g release 2.
  • Manual upgrade using SQL scripts and utilities

  • Export and Import utilities

  • CREATE TABLE AS SQL statement

These tools and methods are described in more detail in "Choose an Upgrade Method".

The major steps in the upgrade process are illustrated in Figure 1-1.


The upgrade steps apply to all operating systems, with the possible exception of a few operating system-specific details identified in your operating system-specific Oracle documentation.

The following list outlines the major steps performed during the upgrade process. Detailed instructions are provided in the appropriate chapters later in this book.

Step 1: Prepare to Upgrade

  • Become familiar with the features of the new Oracle Database 10g release.

  • Determine the upgrade path to the new Oracle Database 10g release.

  • Choose an upgrade method.

  • Choose an Oracle home directory for the new Oracle Database 10g release.

  • Develop a testing plan.

  • Prepare a backup strategy.

Step 2: Test the Upgrade Process

  • Perform a test upgrade using a test database. The test upgrade should be conducted in an environment created for testing and should not interfere with the actual production database.

Step 3: Test the Upgraded Test Database

  • Perform the tests you planned in Step 1 on the test database and on the test database that was upgraded to the new Oracle Database 10g release.

  • Compare results, noting anomalies between test results on the test database and on the upgraded database.

  • Investigate ways to correct any anomalies you find and then implement the corrections.

  • Repeat Step 1, Step 2, and the first parts of Step 3, as necessary, until the test upgrade is completely successful and works with any required applications.

Chapter 2, "Preparing to Upgrade" provides detailed information about Steps 1 through 3.

Step 4: Prepare and Preserve the Production Database

  • Prepare the current production database as appropriate to ensure the upgrade to the new Oracle Database 10g release will be successful.

  • Schedule the downtime required for backing up and upgrading the production database.

  • Back up the current production database. Perform a full or an incremental backup, as necessary, to ensure your database is protected against data loss.

Step 5: Upgrade the Production Database

  • Upgrade the production database to the new Oracle Database 10g release.

  • After the upgrade, perform a full backup of the production database and perform other post-upgrade tasks.

Chapter 3 describes Steps 4 and 5 when using the Database Upgrade Assistant or when performing a manual upgrade. Chapter 4 describes the backup procedure after the upgrade and other post-upgrade tasks.

Step 6: Tune and Adjust the New Production Database

  • Tune the new Oracle Database production database. The new Oracle Database production database should perform as good as, or better than, the database prior to the upgrade. Chapter 4 describes these adjustments.

  • Determine which features of the new Oracle Database 10g release you want to use and update your applications accordingly.

  • Develop new database administration procedures, as needed.

  • Do not upgrade production users to the new Oracle Database until all applications have been tested and operate properly. Chapter 6 describes considerations for updating applications.

During the upgrade, consider running multiple releases of the database software so you can use the existing release as your production environment while you test the new release. See "Running Multiple Oracle Releases".

Oracle Release Numbers

This book describes moving between different releases of the Oracle database server. Figure 1-2 describes what each part of a release number represents.

Figure 1-2 Example of an Oracle Release Number

Description of Figure 1-2 follows
Description of "Figure 1-2 Example of an Oracle Release Number"


Starting with Oracle9i release 9.2, maintenance releases of Oracle are denoted by a change to the second digit of a release number. In previous releases, the third digit indicated a particular maintenance release.

See Also:

Oracle Database Administrator's Guide for more information about Oracle release numbers

When a statement is made in this book about a major database release number, the statement applies to all releases within that major database release. References to Oracle Database include release 10.1 and 10.2; references to Oracle9i include release 9.0.1 and release 9.2.

Similarly, when a statement is made in this book about a maintenance release, the statement applies to all component-specific (also referred to as patch set releases) and platform-specific releases within that maintenance release. So, a statement about release 9.2 applies to release, release, and all other platform-specific releases within release 9.2.

Running Multiple Oracle Releases

You can run different releases of the Oracle Database on the same computer at the same time. However, you must observe the following conditions when using multiple releases:

  • An Oracle Database release must be installed in a new Oracle home that is separate from previous releases of Oracle.

    There cannot be more than one release per Oracle home. Oracle recommends that you adopt an Optimal Flexible Architecture (OFA) when creating multiple Oracle homes. See "Using Optimal Flexible Architecture (OFA)" for more information.


    It is not possible to install release 10.2 products into an existing Oracle home of a prior major release. This functionality was only available for certain previous releases and has not been continued.
  • Each database server can access only a database that is consistent with its release number.

    For example, if you have Oracle9i and Oracle Database 10g installed on the same computer, then the Oracle9i database server can access Oracle9i databases but not Oracle Database 10g databases, and the Oracle Database 10g database server can access Oracle Database 10g databases but not Oracle9i databases.

See Also:

Your operating system-specific Oracle documentation for more information about running multiple releases of Oracle on your operating system. Restrictions may apply on some operating systems.

The following sections provide general information about running multiple releases of the Oracle Database.

Install Databases in Multiple Oracle Homes on the Same Computer

You can install Oracle8i, Oracle9i, and Oracle Database 10g databases in multiple (separate) Oracle homes on the same computer and have Oracle8i, Oracle9i, and Oracle Database 10g clients connecting to any or all of the databases.

Install Databases in Multiple Oracle Homes on Separate Computers

You can install Oracle8i, Oracle9i, and Oracle Database 10g databases in multiple (separate) Oracle homes on separate computers and have Oracle8i, Oracle9i, and Oracle Database 10g clients connecting to any or all of the databases.

Upgrade a Database to the Current Release

You can upgrade an Oracle8i, Oracle9i, or Oracle Database 10g database to the new Oracle Database 10g release and have Oracle8i, Oracle9i, and Oracle Database 10g clients connecting to the upgraded database.

Upgrade Clients to the Current Release

You can upgrade any or all of your Oracle8i, Oracle9i, or Oracle Database 10g clients to the new Oracle Database 10g release. The Oracle Database 10g client can be used to access your Oracle8i, Oracle 9i, and Oracle 10g databases.

Using Optimal Flexible Architecture (OFA)

Oracle recommends the Optimal Flexible Architecture (OFA) standard for your Oracle Database installations. The OFA standard is a set of configuration guidelines for efficient and reliable Oracle databases that require little maintenance.

OFA provides the following benefits:

  • Organizes large amounts of complicated software and data on disk to avoid device bottlenecks and poor performance

  • Facilitates routine administrative tasks, such as software and data backup functions, which are often vulnerable to data corruption

  • Alleviates switching among multiple Oracle databases

  • Adequately manages and administers database growth

  • Helps to eliminate fragmentation of free space in the data dictionary, isolates other fragmentation, and minimizes resource contention.

If you are not currently using the OFA standard, then switching to the OFA standard involves modifying your directory structure and relocating your database files.

See Also:

Converting Databases to 64-bit Oracle Database Software

If you are installing 64-bit Oracle Database 10g software but were previously using a 32-bit Oracle Database installation, then the databases will automatically be converted to 64-bit during the upgrade to Oracle Database 10g except when upgrading from Release 1 (10.1) to Release 2 (10.2).


The process is not automatic for the release 1 to release 2 upgrade, but is automatic for all other upgrades. This is because the utlip.sql script is not run during the release 1 to release 2 upgrade to invalid all PL/SQL objects. You must run the utlip.sql script as the last step in the release 10.1 environment, before upgrading to release 10.2.

Rolling Upgrades

The term rolling upgrade refers to upgrading different databases or different instances of the same database (in a Real Application Clusters environment) one at a time, without stopping the database. Oracle Database 10g provides the following methods of upgrading the Oracle Database software version:

  • Oracle Data Guard and logical standby databases

    Using SQL Apply and logical standby databases, you can upgrade Oracle database software and patch sets with little or no database downtime. For example, you can upgrade the Oracle Database software from patch set release 10.1.0.n to the next database 10.1.0.(n+1) patchset release, or upgrade the Oracle Database from 10.1 to 10.2.

    See "Upgrading Standby Databases" for more information.

  • Oracle Streams

    Using Streams source and destination databases, you can upgrade to a new version of the Oracle Database, migrate an Oracle Database to a different operating system or character set, upgrade user-created applications, and apply Oracle Database patches. These maintenance operations use the features of Oracle Streams to achieve little or no database down time.

    See Oracle Streams Concepts and Administration for more information.

  • Real Application Clusters Rolling Upgrades with the opatch Utility

    Using the opatch command-line utility, you can perform rolling patch upgrades with Real Application Clusters (RAC), incurring little or no database downtime. Note that the opatch utility can only be used to apply individual patches, not patch set releases. See Oracle Universal Installer and OPatch User's Guide for more information about the opatch utility.

    The advantage of a RAC rolling upgrade is that it enables at least some instances of the RAC installation to be available during the scheduled outage required for patch upgrades. Only the RAC instance that is currently being patched needs to be brought down; the other instances can continue to remain available. This means that the effect on the application downtime required for such scheduled outages is further minimized. The Oracle opatch utility enables you to apply the patch successively to the different instances of the RAC installation.

    See Oracle High Availability Architecture and Best Practices for more information.

Moving From the Standard Edition to the Enterprise Edition

If you are using the Standard Edition of the Oracle Database and want to move to the Enterprise Edition, then complete the following steps:

  1. Ensure that the release number of your Standard Edition server software is the same release as the Enterprise Edition server software.

    For example, if your Standard Edition server software is release 10.2.0, then you should upgrade to release 10.2.0 of the Enterprise Edition.

  2. Shut down your database.

  3. If your operating system is Windows, then stop all Oracle services, including the OracleServiceSID Oracle service, where SID is the instance name.

  4. Deinstall the Standard Edition server software.

  5. Install the Enterprise Edition server software using the Oracle Universal Installer.

    Select the same Oracle home that was used for the de-installed Standard Edition. During the installation, be sure to select the Enterprise Edition. When prompted, choose Software Only from the Database Configuration screen.

  6. Start up your database.

Your database is now upgraded to the Enterprise Edition.


If you have a Standard Edition database at a release prior to Oracle Database 10g, you can change it to an Enterprise Edition database by first installing the Enterprise Edition and then following the normal upgrade procedures, as described in this manual.