Oracle9i Database Migration
Release 1 (9.0.1)

Part Number A90191-01
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback

Go to previous page Go to next page

4
Migrating from Oracle7 Using the Migration Utility

This chapter guides you through the process of migrating an Oracle7 database to Oracle9i using the Migration utility. This chapter covers the following topics:

Documentation Roadmap for Using the Migration Utility

Figure 4-1 is a roadmap that specifies the documentation you should use to migrate your database to release 9.0.1 based on your current release of Oracle.

Figure 4-1 Documentation Roadmap for Using the Migration Utility


Text description of mig81011.gif follows
Text description of the illustration mig81011.gif

Overview of Migration Using the Migration Utility

The Migration utility converts the data dictionary and structures of an Oracle7 database into Oracle9i format. To migrate the database, you first install the Oracle9i software and run the Migration utility on the Oracle7 database. Then, you execute a series of ALTER DATABASE statements on the new Oracle9i database and run the u0703040.sql conversion script.

The completion of these procedures results in the conversion of the following Oracle7 structures into structures that can be used by Oracle9i:

Outline of the Migration Process

The following sections provide an outline of the migration process:

In the Oracle7 Environment

In the Oracle9i Environment

Using the Migration Utility

This section contains important considerations for using the Migration utility.

Start with an Oracle7 Database Supported by the Migration Utility

In general, the Migration utility supports migrations of the last 7.3 release and higher databases on your operating system. The exact maintenance release number of the last 7.3 release varies from operating system to operating system.

For example, on some operating systems, the Migration utility can migrate only release 7.3.4 and higher databases, and cannot migrate a release lower than release 7.3.4 (such as release 7.0, 7.1, and 7.2). If your database release number is lower than the release supported by the Migration utility on your operating system, then upgrade or migrate the database to the required release.

See Also:

  • Your operating system-specific Oracle documentation for information about the earliest release that is supported by the Migration utility on your operating system.

  • Release 7.3 of Oracle7 Server Migration for instructions about migrating or upgrading the database to the required release. Then, use this manual to migrate to Oracle9i.

 

Downgrading

Downgrading is the process of transforming an existing Oracle database into a previous version or release. The Migration utility cannot transform an Oracle9i database back into Oracle7. In some situations, you can use another facility to downgrade, such as using Export/Import, restoring from backups, and possibly using other functions.

See Also:

Chapter 13 and Chapter 15 for information about downgrading. 

System Considerations and Requirements

The following sections discuss system considerations and requirements for using the Migration utility.

Space Requirements

Oracle9i binaries may require as much as three times the disk space required by Oracle7 binaries. This requirement may cause you to run out of disk space during migration. If you are installing Oracle9i onto a computer system that already has Oracle7 installed, then ensure that you have enough hard disk space and RAM for both databases. You need to add the system requirements for Oracle9i server and Oracle7 server to determine the total system requirements.

The Migration utility requires relatively little temporary space. It needs only enough extra room in the SYSTEM tablespace to hold the new Oracle9i data dictionary simultaneously with the existing Oracle7 data dictionary.

The space required to hold an Oracle data dictionary depends on how many objects are in the database. Typically, a new Oracle9i data dictionary requires double the space that its Oracle7 source data dictionary required. If necessary, add space to the SYSTEM tablespace.

In addition, running the conversion scripts (such as the u0703040.sql script) to complete the migration may require more space in the SYSTEM tablespace and in the rollback segments. Insufficient space results in an "unable to extend" warning when you run a conversion script. The exact amount of space required to run the conversion scripts varies depending on the number of objects in the database. If you encounter "unable to extend" warnings when you run a conversion script, then try increasing the SYSTEM tablespace and the rollback segments; then, rerun the script.

See Also:

See your operating system-specific installation documentation for detailed information about system requirements. 

If you need to add more space to the SYSTEM tablespace, then issue a statement similar to the following, substituting the appropriate directory path and name for the new datafile and the amount of space you need to add:

ALTER TABLESPACE system
   ADD DATAFILE '/home/user1/mountpoint/oradata/db1/system02.dbf'
   AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED
   SIZE 50M;


ALTER ROLLBACK SEGMENT rb
   STORAGE (MAXEXTENTS UNLIMITED);

Block Size Considerations

The value of DB_BLOCK_SIZE (an initialization parameter in the initialization parameter file) in the Oracle7 database and in the migrated Oracle9i database must be the same. Oracle9i requires a minimum block size of 2048 bytes (2 KB). Above this amount, integer multiples of your operating system's physical block size are acceptable. However, multiples of 2 KB, especially powers of 2--that is, 2 KB, 4 KB, 8 KB, 16 KB--provide for the most robust operation.

Make sure the Oracle9i block size setting meets the following criteria:

Considerations for SQL*Net

There are many issues relating to SQL*Net that you must consider when you migrate your database to Oracle9i, not the least of which is deciding whether you will migrate to Oracle Net Services.

See Also:

Appendix F, "Migration and Compatibility for Oracle Net Services" for information about these issues and for instructions on migrating from SQL*Net to Oracle Net. 

Considerations for Replication Environments

You can migrate an Oracle7 replication environment to Oracle9i. Oracle7 sites can coexist and run successfully with version 8 and Oracle9i sites within the replication environment. However, take special care to accommodate the various replication features implemented on each system.

See Also:

Appendix G, "Migration and Compatibility for Replication Environments" for detailed instructions about migrating systems using replication features 

Migrating a System with Oracle Parallel Server Installed

If you are migrating a system with Oracle Parallel Server installed, then most of the actions described in this chapter should be performed on only one node of the system. So, perform the actions described in this chapter on only one node unless instructed otherwise in a particular step. Support for coexistence of different versions of the database is operating system-specific for Oracle Parallel Server.


Note:

In Oracle9i, Oracle Parallel Server was renamed to Oracle9i Real Application Clusters. 


Considerations for Migrating from ConText to Oracle Text

See Oracle Text Application Developer's Guide for information about migrating from ConText to Oracle Text.

Migrating to a Different Operating System

The Migration utility cannot migrate a database to a computer system that has a different operating system. For example, it cannot migrate a database from Oracle7 on Solaris to Oracle9i on Windows NT. However, you normally can use Export/Import to migrate a database to a different operating system.


Note:

Starting with release 8.1, a change in word-size is supported during the migration process. A change in word size involves switching between 32-bit and 64-bit architecture within the same operating system. See "Changing Word-Size" for more information. 


Character Set Considerations

In Oracle9i, the SQL NCHAR datatypes (NCHAR, NVARCHAR, and NCLOB) will be limited to the Unicode character set encoding (UTF8 and AL16UTF16) only. When you migrate to Oracle9i, the value of the National Character Set of the migrated database is set to AL16UTF16.

AL24UTFFSS Character Set Desupported

The AL24UTFFSS Unicode character set has been desupported in Oracle9i. AL24UTFFSS was introduced in Oracle7 as the Unicode character set supporting the UTF-8 encoding scheme based on the Unicode 1.1 standard, which is now obsolete. In Oracle9i, The Unicode database character sets AL32UTF8 and UTF8, include the Unicode enhancements based on the Unicode 3.1 standard.

The migration path for existing AL24UTFFSS databases is to upgrade your database character set to UTF8 prior to upgrading to Oracle9i. As with all migrations to a new database character set, Oracle Corporation recommends you use the Character Set Scanner for data analysis before attempting to migrate your existing database character set to UTF8.

See Also:

Oracle9i Globalization Support Guide for more information about the Character Set Scanner 

Distributed Database Considerations

When migrating from Oracle7 in a distributed database configuration, make sure that no pending transactions are in the DBA_2PC_PENDING data dictionary view before migrating the database. Otherwise, when you open the database after migration using the ALTER DATABASE RESET LOGS statement and a transaction is pending, you will encounter an error.

If there are any pending transactions, then resolve them before you migrate using the SQL commands COMMIT FORCE or ROLLBACK FORCE.

Prepare the Oracle7 Source Database for Migration

Complete the following steps before you migrate your Oracle7 database to Oracle9i:

  1. If your database release number is lower than the release supported by the Migration utility on your operating system, then upgrade or migrate the database to a supported release.

    See Also:

    "Start with an Oracle7 Database Supported by the Migration Utility" for more information. 

  2. If the Procedural Option is not installed, then use your Oracle7 installation media to install it. See your operating system-specific Oracle documentation for instructions.

    If you are not sure whether the Procedural Option is installed, then you can check by starting Server Manager.

    The following is an example of the messages you will see when Server Manager starts:

    Oracle Server Manager Release 2.3.3.0.0 - Production
    
    Copyright (c) Oracle Corporation 1994, 1995. All rights reserved.
    
    Oracle7 Server Release 7.3.4.0.0 - Production
    With the distributed, replication, parallel query, Parallel Server
    and Spatial Data options
    PL/SQL Release 2.3.4.0.0 - Production
    
    

    The messages you see may be slightly different, based on the options you have installed and their release numbers. If you see "PL/SQL" in the messages, as in the last line in the preceding example, then the Procedural Option is installed. Otherwise, it is not installed.

  3. Make sure all datafiles and tablespaces are either online or offline normal.

    To determine whether any datafiles require recovery, issue the following SQL statement:

    SELECT * FROM v$recover_file;
    
    

    You should see a "0 rows selected" message, which indicates that all datafiles are either online or offline normal. If any datafiles are listed, then you must restore the datafiles before you migrate the database. You can use the V$DATAFILE dynamic performance view to find the datafile name based on the datafile number. The Oracle9i Migration utility will not proceed, and will display an error, if any datafiles require media recovery.

    Tablespaces that are not taken offline cleanly must be dropped or brought online before migration. Otherwise, these tablespaces will not be available under Oracle9i after the migration. Typically, tablespaces that are taken offline by using an ALTER TABLESPACE OFFLINE IMMEDIATE or ALTER TABLESPACE OFFLINE TEMPORARY statement require media recovery.

    After migration, tablespaces that are offline when you open the Oracle9i database remain in Oracle7 database file format. The offline tablespaces can be brought online at any time after migration, and the file headers are converted to Oracle9i format at that time. In addition, if you want to avoid large restores in the event of a failure, then you can make all tablespaces except SYSTEM and ROLLBACK offline normal; then, you can restore only the datafiles for SYSTEM and ROLLBACK if you need to run another migration.

  4. Make sure no user or role has the name OUTLN, because this schema is created automatically when you install Oracle9i. If you have a user or role named OUTLN, then you must drop the user or role and recreate it with a different name.

    To check for a user with the name OUTLN, issue the following SQL statement:

    SELECT username FROM dba_users WHERE username = 'OUTLN';
    
    

    If you do not have a user named OUTLN, then zero rows are selected.

    To check for a role with the name OUTLN, issue the following SQL statement:

    SELECT role FROM dba_roles WHERE role = 'OUTLN';
    
    

    If you do not have a role named OUTLN, then zero rows are selected.

  5. Make sure no user or role has the name MIGRATE, because the Oracle9i Migration utility creates this schema and uses it to replace any pre-existing user or role with this name, and finally drops it from the system.

    To check for a user with the name MIGRATE, issue the following SQL statement:

    SELECT username FROM dba_users WHERE username = 'MIGRATE';
    
    

    If you do not have a user named MIGRATE, then zero rows are selected.

    To check for a role with the name MIGRATE, issue the following SQL statement:

    SELECT role FROM dba_roles WHERE role = 'MIGRATE';
    
    

    If you do not have a role named MIGRATE, then zero rows are selected.

  6. Make sure the SYSTEM rollback segment does not have an OPTIMAL setting. An OPTIMAL setting may cause errors during migration.

    To check the OPTIMAL setting for the SYSTEM rollback segment, issue the following SQL statement:

    SELECT a.usn, a.name, b.optsize
        FROM v$rollname a, v$rollstat b
        WHERE a.usn = b.usn AND name = 'SYSTEM';
    
    

    Your output should be similar to the following:

    USN        NAME                           OPTSIZE   
    ---------- ------------------------------ ----------
             0 SYSTEM                                   
    1 row selected.
    
    

    If there is a value in the OPTSIZE column, then issue the following SQL statement to set optimal to NULL:

    ALTER ROLLBACK SEGMENT SYSTEM STORAGE (OPTIMAL NULL);
    
    

    You can reset OPTIMAL when migration is complete.

    See Also:

    The troubleshooting information in "OPTIMAL Setting for the SYSTEM Rollback Segment"

  7. Increase the maximum number of extents for your SYSTEM rollback segment by altering the MAXEXTENTS parameter in the STORAGE clause of the ALTER ROLLBACK SEGMENT statement (optional).

    The following is an example of the ALTER ROLLBACK SEGMENT statement:

    ALTER ROLLBACK SEGMENT system
       STORAGE (NEXT 500K MAXEXTENTS 121);
    
    

    You may need more space in the SYSTEM rollback segment to complete the migration successfully. If there is not enough space in your SYSTEM rollback segment, then you may encounter errors when you run the Migration utility in the Oracle7 environment.

  8. Shutdown the Oracle7 database cleanly using the SHUTDOWN NORMAL or SHUTDOWN IMMEDIATE statement; do not use SHUTDOWN ABORT.

    SHUTDOWN IMMEDIATE
    
    

    If you are using Oracle Parallel Server, then shut down all instances.

Prepare for Migration on Windows Platforms

In addition to the steps described in the previous section, "Prepare the Oracle7 Source Database for Migration", complete the following steps if you are migrating your database on a Windows platform:

  1. Make sure you have the required release of SQL*Net installed.

    Migrating From  Required SQL*Net Release 

    Oracle release 7.3.2 

    SQL*Net release 2.3.2.1.12 or higher

    Note: If your release of SQL*Net is below release 2.3.2.1.4, you must first install release 2.3.2.1.4 before you can upgrade to release 2.3.2.1.12. Contact Oracle Support Services to obtain the patch that includes release 2.3.2.1.4. 

    Oracle release 7.3.3 

    SQL*Net release 2.3.3.0.3 or higher 

    If the required release of SQL*Net is not installed, complete the following steps to install it:

    1. Obtain the year 2000-compliant Oracle Installer for release 7.3 from Oracle Corporation.

    2. Start the Oracle Installer you obtained in Step a. Respond to the Oracle Installer screens until you reach the Software Asset Manager screen.

    3. At the Software Asset Manager screen, click the From button.

    4. Navigate to the drive containing the CD-ROM for the current release of Oracle.

    5. Navigate to the appropriate directory on the CD-ROM:

      If you are installing SQL*Net release 2.3.2.1.12, navigate to the following directory on the CD-ROM:

      \patches\sqlnet\232112\nt_x86\install
      
      

      If you are installing SQL*Net release 2.3.3.0.3, navigate to the following directory on the CD-ROM:

      \patches\sqlnet\23303\nt_x86\install
      
      
    6. Open the nt.prd file.

    7. Complete the installation.

    8. Exit the Oracle Installer.


      Note:

      If you cannot install the required SQL*Net release, contact Oracle Support Services. 


  2. Ensure all Oracle7 services are stopped, including the service for the Oracle7 database instance.

    See Also:

    Your Administrator's Guide for Windows for information about stopping services. 

Install the Release 9.0.1 Oracle Software

Complete the following steps to install the release 9.0.1 software:

  1. Follow the instructions in your operating system-specific Oracle installation documentation to prepare for installation and start the Oracle Universal Installer.

    If you are migrating a system with Oracle Parallel Server installed, then see Oracle9i Real Application Clusters Installation and Configuration for additional installation instructions.

  2. At the Welcome screen of the Oracle Universal Installer, click Next. The File Locations screen appears.

    If you need help at any screen or want to consult more documentation about the Oracle Universal Installer, then click the Help button to open the online help.

  3. At the File Locations screen, complete the following steps:

    1. Do not change the text in the Source field. This is the location of files for installation.

    2. If there is a Destination Name field, enter the name of a new Oracle home in this field.

    3. Enter the complete path of the Oracle home directory where you want to install the new release in the Destination Path field. Click the Browse button to navigate to the directory.

    4. Click Next.

    The Available Products screen appears.

  4. At the Available Products screen, select the Oracle9i server. The Oracle9i server is either Oracle9i Enterprise Edition or Oracle9i, depending on your installation medium. Then, click Next.

  5. At the Installation Types screen, choose Custom. Do not choose Standard Edition or Enterprise Edition unless you want to install a starter database along with your Oracle software. You can avoid installing a starter database if you select Custom.


    Note:

    You must install the new 9.0.1 release in a new Oracle home that is separate from the Oracle7 release.  


    After you make your selection, click Next.

    If you chose Custom, the Available Product Components screen appears. Complete the following steps:

    1. Choose the product components you want to install. Then, click Next.

      Make sure you install Oracle Utilities to install the Migration utility.

      Make sure you install all of the options you installed with the Oracle7 database, assuming you do not want to discontinue use of a particular option. For example, if you installed Oracle Replication in Oracle7, then you should install it in Oracle9i.

    2. If you are installing Oracle9i Real Application Clusters, then, at the Cluster Node Selection screen, select the nodes onto which you want the software installed. Then, click Next.

    3. Respond to the remaining screens that enable you to specify your custom installation settings, until you reach the Upgrading or Migrating an Existing Database screen.

  6. At the Upgrading or Migrating an Existing Database screen, leave the Upgrade or Migrate an Existing Database check box unselected. Then, click Next.

    If you select the Upgrade or Migrate an Existing Database check box, then the Oracle Data Migration Assistant is started automatically after installation. Because you are following the instructions for migrating the database using the Migration utility, you should not start the Oracle Data Migration Assistant.


    Note:

    The Oracle Data Migration Assistant does not support Oracle9i Real Application Clusters migrations. 


  7. At the Create Database screen, select the No option, indicating that you do not want to create a database, because you are migrating an existing database. Then, click Next.

    Complete any remaining screens until you reach the Summary screen. Click the Help button if you need help for a certain screen.

  8. At the Summary screen, make sure all of the settings and choices are correct for your installation. Then, click Install. The Oracle Universal Installer performs the installation, which may take some time.

    When installation has completed successfully, click the Exit button to close the Oracle Universal Installer.

After Installing Oracle9i on a Windows Platform

After you successfully install Oracle9i on a Windows platform, complete the following steps. If your operating system is UNIX, then skip the rest of this section and go to "Review Migration Utility Command-Line Options".

  1. Shut down and restart your computer.

  2. Start the Oracle7 service OracleServiceSID, where SID is the instance name. For example, if your SID is ORCL, then enter the following at an MS-DOS prompt:

    C:\> NET START OracleServiceORCL
    
    


    Note:

    The service might already be started. If it is, a message appears on screen. 


  3. Set ORACLE_SID to the SID of the database you are migrating. For example, if the SID of the database you are migrating is ORCL, then enter the following at an MS-DOS prompt:

    C:\> SET ORACLE_SID=ORCL
    
    


    Note:

    Make sure there are no spaces around the equal sign (=). 


Review Migration Utility Command-Line Options

The next task in the migration process is running the Oracle9i Migration utility. Before you begin that task, review the following command-line options for the Migration utility because you may want to use some of them in your migration. In addition, your operating system-specific Oracle documentation may contain more information about Migration utility command-line options.

CHECK_ONLY

When true, the Migration utility performs space use calculations without performing a migration. When false, the Migration utility performs both space usage calculations and the migration. This command-line option is mutually exclusive with NO_SPACE_CHECK.

DBNAME

Specifies the name of the database to migrate (DB_NAME in the initialization parameter file).

MULTIPLIER

Specifies the initial size of the Oracle9i i_file#_block# index relative to the Oracle7 i_file#_block# index. For example, MULTIPLIER=30 triples the initial size when the index is created. If no MULTIPLIER command-line option is specified, then the Migration utility uses the i_file#_block# value of 15, creating an index for Oracle9i that is 1.5 times larger than the Oracle7 i_file#_block# index.

NEW_DBNAME

Specifies a new name for the migrated database. The default name "DEFAULT" should not be used; choose a more meaningful name.

NO_SPACE_CHECK

When true, the Migration utility does not perform a space usage check before the migration. When false, the Migration utility performs a space usage check before migration. This command-line option is mutually exclusive with CHECK_ONLY.

PFILE

Specifies the name of the initialization parameter file. If no PFILE command-line option is specified, then the Migration utility uses the default initialization parameter file.

Note: On UNIX, the pathname must be enclosed by double-quotes escaped by a backslash, for example:

mig PFILE=\"/tmp/mig/pfile\"

SPOOL

Specifies the filename for the spool output.

Note: On UNIX, the pathname must be enclosed by double-quotes escaped by a backslash, for example:

mig SPOOL=\"/tmp/mig/spool\"

Migrate the Oracle7 Source Database

Complete the steps in the following sections to migrate an Oracle7 source database to Oracle9i using the Migration utility.

Prepare the Oracle7 Environment for Migration on UNIX Operating Systems

You only need to complete the steps described in this section if you are migrating your Oracle database on a UNIX operating system. If your operating system is Windows, then skip the rest of this section and go to "Perform Migration Steps in the Oracle7 Environment".

On UNIX operating systems, the migprep utility prepares the Oracle7 environment for migration by copying required migration files from the Oracle9i Oracle home to the Oracle7 Oracle home. With your environment variables pointing to the new release 9.0.1 Oracle home, run migprep in the following way:

migprep new_oracle_home old_oracle_home


Where new_oracle_home is the complete path of the new Oracle9i Oracle home directory and old_oracle_home is the complete path of the old Oracle7 Oracle home directory.

For example, if your new Oracle9i Oracle home is /oracle/product/9.0 and your old Oracle7 Oracle home is /oracle/product/7.3, then complete the following steps:

  1. At a command prompt, change to the ORACLE_HOME/bin directory in your release 9.0.1 installation.

  2. Enter the following to run migprep:

    migprep /oracle/product/9.0 /oracle/product/7.3
    
    
  3. Change the following environment variables to point to the Oracle7 directories:


Go to previous page Go to next page
Oracle
Copyright © 1996-2001, Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback