This chapter includes an overview of the major steps required to migrate a version 7 or version 6 database to Oracle9i. These migration procedures transform an existing version 7 or version 6 database system (including associated applications) into an Oracle9i database system. Oracle9i is compatible with all earlier Oracle versions and releases. Therefore, databases transformed using the migration procedures described in this book can work in the same manner as in earlier versions and, optionally, can leverage new Oracle9i functionality.
Several preparatory steps are required before you migrate the current production database. After migrating the database, you should perform several additional test steps to test the migration. Other procedures enable you to add new Oracle9i functionality to existing applications.
This chapter covers the following topics:
Overview of Migration Steps
Before you perform a database migration, you should understand the major steps in the migration process. These major 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 rest of this chapter describes migration. If you plan to perform an operation other than migration, such as upgrading or downgrading, then you can proceed to the appropriate chapter for the operation.
Figure 2-1 Major Migration Steps
Text description of the illustration mig81005.gif
Careful planning and use of Oracle9i tools can ease the process of migrating a database to Oracle9i. You can use one of the following migration methods to migrate your database:
- The Oracle Data Migration Assistant is the easiest way to migrate an entire database.
- The Migration utility is more complicated to use but provides more control over the process of migrating an entire database.
- Export/Import and SQL copy utilities enable piecemeal migration of parts of a database.
The following sections contain a brief outline of the major steps shown in Figure 2-1. The purpose of these descriptions is to familiarize you with the major steps in the migration process. For detailed instructions, refer to the appropriate chapters and sections later in this book.
Step 1: Prepare to Migrate
- Become familiar with the features of the Oracle9i database. See Oracle9i Database New Features for an overview of these features.
- Decide which migration method to use, based on considerations involving the current production database, your migration objectives, and the behavior and capabilities of available migration methodologies.
- Estimate and secure the system resources required for the migration.
- Develop a plan for testing the migration with an Oracle9i test database and a plan for testing the migrated Oracle9i production database.
- Prepare a backup strategy so that you can recover quickly from any unexpected problems or delays.
Step 2: Test the Migration Process
- Perform a test migration using a test database. The test migration should be conducted in an environment created for migration testing and should not interfere with the actual production database.
Step 3: Test the Migrated Test Database
- Perform the tests you planned in Step 1 on the version 7 or version 6 test database and on the version 7 or version 6 test database that was migrated to Oracle9i.
- Compare results, noting anomalies between test results on the version 7 or version 6 test database and on the migrated Oracle9i 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 migration is completely successful and works with any required applications.
Chapter 3, "Preparing to Migrate", provides detailed information about Steps 1 through 3.
Step 4: Prepare and Preserve the Source Database
- Prepare the current production database as appropriate to ensure that its migration to Oracle9i will be successful.
- Schedule the downtime required for backing up and migrating the version 7 or version 6 production database to Oracle9i.
- Perform a full backup of the current production database. This step is required only if either the Oracle Data Migration Assistant or the Migration utility is used for the migration.
Step 5: Migrate the Production Database
- Migrate the version 7 or version 6 production database to Oracle9i.
- After the migration, perform a full backup of the production database and other post-migration tasks.
Chapter 4 describes Steps 4 and 5 using the Migration utility; Chapter 5 describes Steps 4 and 5 using the Oracle Data Migration Assistant; and Chapter 6 describes Steps 4 and 5 using the Export/Import utilities. Chapter 8 describes the backup procedure after the migration and other post-migration tasks.
Step 6: Tune and Adjust the New Production Database
- Tune the new Oracle9i production database. The Oracle9i production database should perform as good as, or better than, the Oracle database prior to migration. Chapter 8 describes these tuning adjustments.
- Determine which new features of the Oracle9i database you want to use and update your applications accordingly.
- Develop new database administration procedures as needed.
- Do not migrate production users to the Oracle9i database until all applications have been tested and operate properly. Chapter 10 describes considerations for updating applications.
During migration, multi-versioning can be a useful feature because you can keep multiple copies of the same database on one computer system. You can use the existing version as your production environment while you test the new version.
Role of the Database Administrator During Migration
Typically, the database administrator (DBA) is responsible for ensuring the success of the migration process. The DBA is usually involved in each step of the process, except for steps that involve testing applications on the migrated database.
The specific DBA duties typically include the following:
- meeting with everyone involved in the migration process and clearly defining their roles during migration
- performing test migrations
- scheduling the test and production migration process
- performing backups of the version 7 or version 6 production database
- completing the production database migration
- performing backups of the newly migrated Oracle9i production database
Role of the Application Developer During Migration
The application developer is responsible for ensuring that applications designed for the version 7 or version 6 database work correctly with the migrated Oracle9i database. Application developers often test applications against the migrated Oracle9i database and decide which new features of Oracle9i should be used.
Before migrating the Oracle7 production database, the DBA or application developer should install an Oracle9i test database. Then, the application developer can test and modify the applications, if necessary, until they work with their original (or enhanced Oracle9i) functionality.
The following references provide information about identifying differences in the migrated Oracle9i database that could affect particular applications. Application developers can use these differences to guide modifications to existing applications.
- Chapter 9, "Compatibility and Interoperability", describes compatibility and interoperability issues that may result because of differences in releases of Oracle.
- Chapter 10, "Upgrading Your Applications", describes the changes required to enable existing applications (that access an Oracle7 database) to access an Oracle9i database and provides guidance for upgrading Oracle7 applications to take advantage of Oracle9i functionality.
- Appendix B, "Changes to Initialization Parameters", lists new, renamed, and obsolete initialization parameters in version 8 and Oracle9i.
- Appendix C, "Changes to Static Data Dictionary Views", lists new, changed, and obsolete static data dictionary views in version 8 and Oracle9i.
- Appendix D, "Changes to Dynamic Performance Views", lists new, changed, and obsolete dynamic performance views (V$ views) in version 8 and Oracle9i.
- Appendix E, "New Internal Datatypes and SQL Functions", lists new internal datatypes and SQL functions added in version 8 and Oracle9i.
- Appendix F, "Migration and Compatibility for Oracle Net Services", provides instructions for migrating and upgrading SQL*Net and Net8.
- Appendix G, "Migration and Compatibility for Replication Environments", provides instructions for a database system that has Oracle replication installed.
- Oracle9i Database New Features describes the new features available in Oracle9i.
- Oracle9i Real Application Clusters Concepts and Oracle9i SQL Reference contain descriptions of changes and new Oracle9i functionality.
- Oracle9i Application Developer's Guide - Fundamentals, Oracle9i Application Developer's Guide - Large Objects (LOBs), and Oracle9i Application Developer's Guide - Advanced Queuing provide information about planning and implementing applications.
Oracle9i includes features that aid in upgrading existing applications to Oracle9i, for example:
- Net8 and SQL*Net V2 support communication between Oracle versions.
- The programming interface is unchanged between Oracle versions.
- Oracle's backward compatibility accommodates small incompatibilities between different versions and releases.