|Oracle® Database Upgrade Guide
10g Release 1 (10.1)
Part Number B10763-01
This chapter provides an overview of the database upgrade process, as well as information about running multiple releases of the Oracle Database. This chapter also provides information about changing the word size of your database during an upgrade or downgrade.
This chapter covers the following topics:
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.
Careful planning and use of Oracle Database 10g tools can ease the process of upgrading a database to the new Oracle Database 10g release. Oracle Database 10g supports the following methods for upgrading a database:
The Database Upgrade Assistant can be launched by the Oracle Universal Installer, depending upon the type of installation that you select, and provides a graphical user interface (GUI) that guides you through the upgrade of a database. During installation, you can choose to not use the Database Upgrade Assistant, instead choosing to launch it as a standalone tool at any time in the future to upgrade a database.
Note:The Database Upgrade Assistant is the preferred method of upgrading a database; Oracle highly recommends using the Database Upgrade Assistant to upgrade to the new Oracle Database 10g release.
A manual upgrade provides a command line upgrade of a database, using SQL scripts and utilities.
Perform a full or partial export from your database, followed by a full or partial import into a new Oracle Database 10g database.
Export/Import can copy a subset of the data in a database. Export/Import leaves the database unchanged, and makes a copy of the data.
Copy data from a database into a new Oracle Database 10g database using the SQL*Plus
COPY command or the
AS clause of the
CREATE TABLE SQL statement.
Data copying can copy a subset of the data in a database. Data copying leaves the database unchanged, and makes a copy of the data.
Before you upgrade a database using any of these methods, you should understand the major steps in the upgrade process. These steps are illustrated in Figure 1-1.
Figure 1-1 Major Upgrade Steps
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 sections contain a brief outline of the major steps in the upgrade process. For detailed instructions, refer to the appropriate chapters later in this book.
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.
Prepare a backup strategy.
Develop a testing plan.
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.
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.
Prepare the current production database as appropriate to ensure that the upgrade to the new Oracle Database 10g release will be successful.
Schedule the downtime required for backing up and upgrading the production database.
Perform a full backup of the current 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.
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 tuning 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, multi-versioning can be a useful feature because you can keep multiple copies of the same database on one computer. You can use the existing release as your production environment while you test the new release.
Typically, the database administrator (DBA) is responsible for ensuring the success of the upgrade process. The DBA is usually involved in each step of the process, except for steps that involve testing applications on the upgraded database.
The specific DBA duties typically include the following:
Meeting with everyone involved in the upgrade process and clearly defining their roles
Performing test upgrades
Scheduling the test and production upgrades
Performing backups of the production database
Completing the upgrade of the production database
Performing backups of the newly upgraded Oracle Database production database
The application developer is responsible for ensuring that applications designed for the current database work correctly with the upgraded Oracle Database. Application developers often test applications against the upgraded Oracle Database and decide which new features of Oracle Database 10g should be used.
Before upgrading the production database, the DBA or application developer should install an Oracle Database test database. Then, the application developer can test and modify the applications, if necessary, until they work with their original (or enhanced Oracle Database) functionality.
The following references provide information about identifying differences in the upgraded Oracle Database that could affect particular applications. Application developers can use these differences to guide modifications to existing applications:
Chapter 5, " Compatibility and Interoperability" describes compatibility and interoperability issues that may result because of differences in releases of Oracle.
Chapter 6, " Upgrading Your Applications" describes the changes required to enable existing applications to access an Oracle Database and provides guidance for upgrading applications to take advantage of Oracle Database functionality.
Appendix A, " Initialization Parameter and Data Dictionary Changes" lists obsolete and deprecated initialization parameters and data dictionary views.
Oracle Net Services Administrator's Guide provides instructions for upgrading Net8 to Oracle Net Services.
Oracle Database New Features describes the features available in the new Oracle Database 10g release
Oracle Real Application Clusters Installation and Configuration Guide and Oracle Database SQL Reference contain descriptions of changes and new Oracle Database functionality.
Oracle Database Application Developer's Guide - Fundamentals, Oracle Database Application Developer's Guide - Large Objects, and Oracle Streams Advanced Queuing User's Guide and Reference provide information about planning and implementing applications.
Oracle Database includes features that aid in upgrading existing applications to Oracle Database, for example:
Oracle Net Services and Net8 support communication between Oracle Database releases.
The programming interface is unchanged between Oracle Database releases.
Oracle's backward compatibility accommodates small incompatibilities between different releases.
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
Note: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; 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 and platform-specific releases within that maintenance release. So, a statement about release 9.2 applies to release 126.96.36.199, release 188.8.131.52, and all other platform-specific releases within release 9.2.
You can run different releases of the Oracle Database on the same computer at the same time. However, each release can only access 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. The following sections provide general information about running multiple releases of the Oracle Database.
Caution:It is not possible to install release 10.1 products into an existing Oracle home. This functionality was only available for certain previous releases and has not been continued. An Oracle Database release must be installed in a new Oracle home that is separate from previous releases of Oracle. Also, you cannot have 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.
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.
You can install Oracle8, Oracle8i, Oracle9i, and Oracle Database 10g databases in multiple (separate) Oracle homes on the same computer and have Oracle8, Oracle8i, Oracle9i, and Oracle Database 10g clients connecting to any or all of the databases.
You can install Oracle8, Oracle8i, Oracle9i, and Oracle Database 10g databases in multiple (separate) Oracle homes on separate computers and have Oracle8, Oracle8i, Oracle9i, and Oracle Database 10g clients connecting to any or all of the databases.
You can upgrade an Oracle8, Oracle8i, Oracle9i, or Oracle Database 10g database to the new Oracle Database 10g release and have Oracle8, Oracle8i, Oracle9i, and Oracle Database 10g clients connecting to the upgraded database. You cannot upgrade the database in the same Oracle home.
You can upgrade any or all of your Oracle8, Oracle8i, Oracle9i, or Oracle Database 10g clients to the new Oracle Database 10g release. You can also upgrade your Oracle8, Oracle8i, Oracle9i, or Oracle Database 10g database to the new Oracle Database 10g release at a later date.
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.
You can implicitly change the word size of your database during an upgrade or downgrade. A change in word size includes the following scenarios:
You have 32-bit Oracle software installed on 64-bit hardware and want to change to 64-bit Oracle software.
You have 64-bit Oracle software installed on 64-bit hardware and want to change to 32-bit Oracle software.
If you are changing word size during an upgrade or downgrade, then no additional action is required. The word size is changed automatically during either of these operations. However, if you want to explicitly change the word size within the same release, then follow the instructions in "Changing the Word Size of Your Current Release". For example, if you have the 32-bit installation of release 10.1 and you want to switch to the 64-bit installation of release 10.1, then you must complete this procedure.
The following information applies if you are switching from 32-bit hardware to 64-bit hardware or from 64-bit hardware to 32-bit hardware:
You can switch from 32-bit hardware to 64-bit hardware and still use your existing 32-bit Oracle software without encountering any problems.
If you want to switch from 64-bit hardware to 32-bit hardware, then you must first install 32-bit Oracle software before switching from 64-bit hardware to 32-bit hardware.
The on-disk format for database data, redo, and undo is identical for the 32-bit and 64-bit installations of Oracle. The only internal structural differences between the 32-bit and 64-bit installations are the following:
The compiled format of PL/SQL is different. The instructions for how and when to recompile PL/SQL are provided in the appropriate chapters of this book.
The storage format of user-defined types is based on the release of Oracle that created the database. The existing storage format will be transparently converted to the correct format when necessary. User-defined types include object types, REFs, varrays, and nested tables.
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.
If you want to deinstall old options when you upgrade to the new Oracle Database release, then use the Oracle Universal Installer to deinstall them. You can deinstall them before or after you upgrade, but you must use the release of the installer that corresponds with the items you want to remove.
For example, if you are running release 9.0.1 with Oracle Text installed, and you decide that you do not need this option when you upgrade to the new Oracle Database release, then you should deinstall Oracle Text in one of the following ways:
Before you upgrade to the new Oracle Database release, use the release 9.0.1 Oracle Universal Installer to deinstall Oracle Text. Then, do not install Oracle Text when you install the new Oracle Database release.
When you upgrade to the new Oracle Database release, install and upgrade Oracle Text. Then, use the Oracle Universal Installer in the new Oracle Database release to deinstall Oracle Text.
Note:After you deinstall an option, extraneous data dictionary tables may remain in the database.
See Also:Your operating system-specific Oracle documentation for information about using the Oracle Universal Installer