1 Introduction to the Database Upgrade Process

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

This chapter covers the following topics:

Note:

For late-breaking updates and best practices about pre-upgrade, post-upgrade, compatibility, and interoperability discussions, see Note 466181.1 on OracleMetalink (https://metalink.oracle.com/) that links to "The Upgrade Companion" web site. This note currently applies to Oracle Database10g upgrades, but it has much useful information for Oracle Database 11g upgrades as well

Overview of the Database Upgrade Process

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

Oracle Database 11g Release 1 (11.1) supports the following tools and methods for upgrading a database to the new release:

  • Database Upgrade Assistant (DBUA)

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

    Note:

    DBUA is the recommended method for performing a major release upgrade or patch release upgrade.
  • Manual upgrade using SQL scripts and utilities

    Provides a command-line upgrade of a database, using SQL scripts and utilities.

  • Export and Import utilities

    Uses the Oracle Data Pump Export and Import utilities, available as of Oracle Database 10g Release 1 (10.1), or the original Export and Import utilities, to perform a full or partial export from your database, followed by a full or partial import into a new Oracle Database 11g Release 1 (11.1) database. Export/Import can copy a subset of the data, leaving the database unchanged.

  • CREATE TABLE AS SQL statement

    Copies data from a database into a new Oracle Database 11g Release 1 (11.1) database. Data copying can copy a subset of the data, leaving the database unchanged.

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.

Note:

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 guide.

Step 1: Prepare to Upgrade

  • Become familiar with the features of Oracle Database 11g Release 1 (11.1).

  • Determine the upgrade path to the new release.

  • Choose an upgrade method.

  • Choose an Oracle home directory for the new 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 Oracle Database 11g Release 1 (11.1).

  • 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 Oracle Database 11g Release 1 (11.1) is 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 Oracle Database 11g Release 1 (11.1).

  • 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 DBUA 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 Oracle Database 11g Release 1 (11.1) production database. The new production database should perform as well as, or better than, the database prior to the upgrade. Chapter 4, "After Upgrading to the New Release" describes these adjustments.

  • Determine which features of Oracle Database 11g Release 1 (11.1) you want to use and update your applications accordingly.

  • Develop new database administration procedures, as needed.

  • Do not upgrade production users to the new release until all applications have been tested and operate properly. Chapter 5, "Upgrading Your Applications" 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 guide 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"

Note:

Starting with Oracle9i Release 2 (9.2), maintenance releases of Oracle Database 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 guide about a major database release number, the statement applies to all releases within that major database release. References to Oracle Database 11g include Oracle Database 11g Release 1 (11.1); references to Oracle Database 10g include Oracle Database 10g Release 1 (10.1) and Oracle Database 10g Release 2 (10.2); references to Oracle9i include Oracle9i Release 1 (9.0.1) and Oracle9i Release 2 (9.2).

Similarly, when a statement is made in this guide about a maintenance release, the statement applies to all component-specific (also referred to as patchset releases) and platform-specific releases within that maintenance release. So, a statement about Oracle9i Release 2 (9.2) applies to release 9.2.0.1, release 9.2.0.2, and all other platform-specific releases within release 2 (9.2).

Running Multiple Oracle Releases

You can run different releases of 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 for each 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.

    Caution:

    It is not possible to install Oracle Database 11g Release 1 (11.1) products into an existing Oracle home of a prior major release. This feature was available only 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 11g Release 1 (11.1) installed on the same computer, then the Oracle9i database server can access Oracle9i databases but not Oracle Database 11g Release 1 (11.1) databases, and the Oracle Database 11g Release 1 (11.1) database server can access Oracle Database 11g Release 1 (11.1) databases but not Oracle9i databases.

See Also:

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

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

Install Databases in Multiple Oracle Homes on the Same Computer

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

Install Databases in Multiple Oracle Homes on Separate Computers

You can install Oracle8i, Oracle9i, Oracle Database 10g, and Oracle Database 11g databases in multiple (separate) Oracle homes on separate computers and have Oracle8i, Oracle9i, Oracle Database 10g, and Oracle Database 11g 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 Oracle Database 11g Release 1 (11.1) and have Oracle8i, Oracle9i, Oracle Database 10g, and Oracle Database 11g Release 1 (11.1) 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 Oracle Database 11g Release 1 (11.1). The Oracle Database 11g Release 1 (11.1) client can be used to access your Oracle8i, Oracle9i, Oracle Database 10g, and Oracle Database 11g Release 1 (11.1) databases.

Compatibility and Interoperability

This section describes compatibility and interoperability issues that might arise because of differences between Oracle Database releases. These differences might affect general database administration and existing applications.

This section covers the following topics:

What Is Compatibility?

Databases from different releases of Oracle Database software are compatible if they support the same features and those features perform the same way.

When you upgrade to a new release of Oracle Database, certain new features might make your database incompatible with your previous release. Your upgraded database becomes incompatible with your previous release under the following conditions:

  • A new feature stores any data on disk (including data dictionary changes) that cannot be processed with your previous release.

  • An existing feature behaves differently in the new environment as compared to the old environment. This type of incompatibility is classified as a language incompatibility.

The COMPATIBLE Initialization Parameter

Oracle Database enables you to control the compatibility of your database with the COMPATIBLE initialization parameter. By default, when the COMPATIBLE initialization parameter is not set in your parameter file, it defaults to 11.0.0 for Oracle Database 11g Release 1 (11.1). You cannot use new Oracle Database 11g Release 1 (11.1) features that would make your upgraded database incompatible unless the COMPATIBLE initialization parameter is set to this value.

Table 1-1 lists the default, minimum, and maximum values of the COMPATIBLE initialization parameter in Oracle Database 11g Release 1 (11.1) and in each release supported for upgrading to Oracle Database 11g Release 1 (11.1).

Table 1-1 The COMPATIBLE Initialization Parameter

Oracle Database Release Default Value Minimum Value Maximum Value

Oracle9i Release 2 (9.2)

8.1.0

8.1.0.0.0

9.2.0.n.n

Oracle Database 10g Release 1 (10.1)

10.0.0

9.2.0.0.0

10.1.0.n.n

Oracle Database 10g Release 2 (10.2)

10.2.0

9.2.0.0.0

10.2.0.n.n

Oracle Database 11g Release 1 (11.1)

11.0.0

10.0.0.0.0

11.0.0.n.n


Downgrading and Compatibility

Before upgrading to Oracle Database 11g Release 1 (11.1), the COMPATIBLE initialization parameter must be set to at least 10.0.0, which is the lowest possible setting for Oracle Database 11g Release 1 (11.1). Only a subset of Oracle Database 11g Release 1 (11.1) features are available while the COMPATIBLE initialization parameter is set to this value.

After upgrading to Oracle Database 11g Release 1 (11.1), you can set the COMPATIBLE initialization parameter to match the release number of the new release. Doing so enables you to use all features of the new release, but prevents you from downgrading to your previous release.

If, after upgrading, you want to downgrade, then the COMPATIBLE initialization parameter must be left as follows after the upgrade:

  • Set to 10.1.0 if you upgraded from Oracle Database 10g Release 1 (10.1)

  • Set to 10.2.0 or 10.1.0 if you upgraded from Oracle Database 10g Release 2 (10.2)

See Also:

Chapter 6, "Downgrading a Database" for more information about downgrading
How the COMPATIBLE Initialization Parameter Operates

The COMPATIBLE initialization parameter operates in the following way:

  • It controls the behavior of your database. For example, if you run an Oracle Database 11g Release 1 (11.1) database with the COMPATIBLE initialization parameter set to 10.1.0, then it generates database structures on disk that are compatible with Oracle Database 10g Release 1 (10.1). Therefore, the COMPATIBLE initialization parameter enables or disables the use of features. If you try to use any new features that make the database incompatible with the COMPATIBLE initialization parameter, then an error is displayed. However, any new features that do not make incompatible changes on disk are enabled.

  • It makes sure that the database is compatible with its setting. If the database becomes incompatible with its setting, then the database does not start and terminates with an error. If this happens, then you must set the COMPATIBLE initialization parameter to an appropriate value for the database.

See Also:

Oracle Database Concepts for more information about database structures
Compatibility Level

The compatibility level of your database corresponds to the value of the COMPATIBLE initialization parameter. For example, if you set the COMPATIBLE initialization parameter to 11.0.0, then the database runs at 11.0.0 compatibility level.

To check the current value of the COMPATIBLE initialization parameter, enter the following SQL statement:

SQL> SELECT name, value, description FROM v$parameter
         WHERE name = 'compatible';
When to Set the COMPATIBLE Initialization Parameter

After the upgrade is complete, you can increase the setting of the COMPATIBLE initialization parameter to the maximum level for Oracle Database 11g Release 1 (11.1). However, after you do this, the database cannot subsequently be downgraded.

What Is Interoperability?

Interoperability is the ability of different releases of Oracle Database to communicate and work together in a distributed environment. A distributed database system can have different releases of Oracle Database, and all supported releases of Oracle Database can participate in a distributed database system. However, the applications that work with a distributed database must understand the features and functions that are available at each node in the system.

Interoperability across operating system versions might be a problem (especially during rolling upgrades) because the minimum requirements for Oracle Database 11g Release 1 (11.1) might require you to upgrade the operating systems on some or all of your hosts. That means you must check drivers, network, and storage compatibilities for all the interim states you will be in during the rolling upgrade.

Note:

Because this guide documents upgrading and downgrading between different releases of Oracle Database, this definition of interoperability is appropriate. However, other Oracle Database documentation might use a broader definition of the term interoperability. For example interoperability might in some cases describe communication between different hardware platforms and operating systems.

See Also:

Appendix A, "Behavior Changes" for more information on compatibility and interoperability

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 11g Release 1 (11.1) software but were previously using a 32-bit Oracle Database installation, then the database is automatically converted to 64-bit during a patch release or major release upgrade to Oracle Database 11g Release 1 (11.1).

However, you must perform the following manual tasks:

  • Increase initialization parameters affecting the system global area, such as SGA_TARGET and SHARED_POOL_SIZE, to support 64-bit operations.

  • Reconnect after starting up the database so that a new session is created with the appropriate 64-bit initializations. For example:

    CONNECT  AS SYSDBA
    STARTUP UPGRADE
    CONNECT  AS SYSDBA
    SPOOL UPGRADE.LOG
    @catupgrd.sql
    

See Also:

Your platform-specific installation guide for additional information about 64-bit software installations

Rolling Upgrades

A rolling upgrade upgrades different databases or different instances of the same database (in an Oracle Real Application Clusters environment) one at a time, without stopping the database. Depending on the method you choose, you can perform a rolling upgrade of the Oracle Database software version, apply patchsets, or apply individual patches (sometimes referred to as one-off patches), incurring little or no database downtime.

Oracle Database 11g Release 1 (11.1) provides the following methods for performing rolling upgrades:

  • Oracle Data Guard and logical standby databases

    Using SQL Apply and logical standby databases, you can upgrade Oracle Database software and patchsets, incurring minimal downtime on the primary database. For example, you can upgrade the Oracle Database software from patchset release 10.1.0.n to the next database 10.1.0.(n+1) patchset release, or upgrade Oracle Database 10g Release 1 (10.1) to Oracle Database 11g Release 1 (11.1).

    See Also:

    "Upgrading Standby Databases" for more information.
  • Oracle Streams

    Using Streams source and destination databases, you can upgrade to a new version of Oracle Database software, 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.

  • Oracle Real Application Clusters rolling upgrades with the OPatch Utility

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

    The advantage of a Oracle RAC rolling upgrade is that it enables at least some instances of the Oracle RAC installation to be available during the scheduled outage required for patch upgrades. Only the Oracle RAC instance that is currently being patched must 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 Oracle RAC installation.

  • Oracle Clusterware rolling upgrades using the Oracle Universal Installer (OUI)

    Using the Oracle Universal Installer (OUI) that is downloaded with the patch update, you can perform rolling upgrades to upgrade Oracle Clusterware or Oracle Cluster Ready Services. You can perform a rolling upgrade to apply patchset releases.

    The advantage of an Oracle Clusterware rolling upgrade is that it enables at least some instances of the Oracle RAC installation to be available during the scheduled outage required for patchset upgrades. Only the node that is currently being patched must be brought down; the other instances remain available. This means that the effect on the application downtime required for such scheduled outages is further minimized. OUI enables you to apply the patchset successively to the different instances of the Oracle Clusterware installation.

    See Also:

    The "How to Perform Oracle Clusterware Rolling Upgrades" discussion in your platform-specific Oracle Clusterware installation guides for step-by-step instructions to help you upgrade your Oracle Clusterware. Also, see Oracle Universal Installer and OPatch User's Guide for information about using OUI.
  • Automatic Storage Management (ASM) Rolling Upgrades

    Starting with Oracle Database 11g Release 1 (11.1), you can perform a rolling upgrade of Oracle Automatic Storage Management software from Oracle Database 11g Release 1 (11.1) to a later release. ASM rolling upgrades enable you to independently upgrade or patch clustered ASM nodes without affecting database availability, thus providing greater uptime. During a rolling upgrade, all of the features of a clustered ASM environment continue to function even while one or more of the nodes in the cluster are running on different software versions. This feature provides greater availability and enables you to upgrade ASM software from one release to the next more gracefully.

    See Also:

    Your platform-specific Oracle Clusterware installation guide for instructions on how to perform a rolling upgrade, and the Oracle Database Storage Administrator's Guide for more information about ASM rolling upgrades

Moving From the Standard Edition to the Enterprise Edition

If you have a Standard Edition database at a release prior to Oracle Database 11g Release 1 (11.1), then you can change it to an Enterprise Edition database by installing the Enterprise Edition and following the normal upgrade procedures, as described in this guide.

To change your existing Oracle Database 11g Standard Edition database to an Enterprise Edition database, follow these 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 11.1.0.6, then you should upgrade to release 11.1.0.6 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.

Moving From the Enterprise Edition to the Standard Edition

You cannot use the procedure described in "Moving From the Standard Edition to the Enterprise Edition" to convert an Enterprise Edition database to a Standard Edition database. The Enterprise Edition contains data dictionary objects which are not available in the Standard Edition. If you just install the Standard Edition software, then you will end up with data dictionary objects which are useless. Some of them might be invalid and possibly create problems when maintaining the database.

The only way to properly convert from an Enterprise Edition database to a Standard Edition database is through an Export/Import operation. The Export/Import operation does not introduce data dictionary objects specific to the Enterprise Edition, because the SYS schema objects are not exported. Oracle recommends using the Standard Edition EXP utility to export the data.

After the Import in the Standard Edition database, you are only required to drop all user schemas related to Enterprise Edition features, such as the MDSYS account used with Oracle Spatial.

Upgrading from Oracle Database Express Edition to Oracle Database

In order to upgrade Oracle Database 10g Express Edition (Oracle Database XE) to Oracle Database 11g, you need to install Oracle Database 11g on the same system as Oracle Database XE and use the Database Upgrade Assistant to perform the upgrade.