Skip Headers

Oracle9i Database Migration
Release 2 (9.2)

Part Number A96530-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Feedback

Go to previous page Go to next page
View PDF

B
Upgrade Considerations for Oracle Net Services

This appendix describes coexistence and upgrade issues for Oracle Net Services. This appendix covers the following topics:

Overview of Unsupported Oracle Net Services Features

In an effort to streamline configuration decisions for the Internet, the following subsections describe the features and the configuration file that are no longer being supported:

Identix and SecurID Authentication Methods

If you are using Identix or SecurID authentication, provided by Oracle Advanced Security, Oracle Corporation recommends upgrading to one of the following authentication methods:

NDS External Naming and NDS Authentication

Support for Novell Directory Services (NDS) as an authentication method and as an external naming method are no longer supported. If you are using NDS as an external naming method, Oracle Corporation recommends using directory naming instead.

Net8 OPEN

Net8 OPEN, which provided an application program interface (API) that enabled programmers to develop both database and non-database applications, is no longer supported.

protocol.ora File

Parameters in the protocol.ora file have been merged into the sqlnet.ora file. These parameters enable you to configure access control to the database, as well as no delays in TCP/IP buffer flushing. These parameters include:

If you have a protocol.ora file in $ORACLE_HOME/network/admin on UNIX and ORACLE_HOME\network\admin on Windows, Oracle Net Manager, when first started, will automatically merge its parameters into the sqlnet.ora file.

There may be operating system specific parameters in protocol.ora that are node specific. For this reason, Oracle Corporation recommends not sharing sqlnet.ora with other nodes after merging or adding these parameters.

Prespawned Dedicated Servers

Prespawned dedicated server processes are no longer supported. Instead, configure shared server (formerly named multi-threaded server) to improve scalability and system resource usage.

Protocols

Protocol addresses using the SPX or LU6.2 protocol must be replaced. Oracle Net provides support for the following network protocols:

Unsupported Parameters and Control Utility Commands

See Also:

Oracle9i Net Services Reference Guide for further information about unsupported configuration parameters and control utility commands

Client and Database Coexistence Issues

Clients and database servers require compatible releases of Oracle Net Services or Net8. For example, an Oracle9i client requires an installation of Oracle Net Services, and an Oracle9i database requires an installation of Oracle Net Services with the Oracle Net Listener.

Consider the following client-to-database connection issues before you decide if upgrading is appropriate for your environment:

Oracle9i Database Connections

Connect descriptors, created for connections to an Oracle9i or an Oracle8i database, identify a database by its service name with the SERVICE_NAME parameter.

A connect descriptor to an Oracle9i or Oracle8i database uses the parameter SERVICE_NAME, as shown in the following example:

sales= 
(DESCRIPTION= 
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))
  (CONNECT_DATA=
     (SERVICE_NAME=sales.us.acme.com)))

Connect descriptors that are currently configured with the SID parameter can remain. However, to take advantage of new features, such as client load balancing and connect-time failover, Oracle Corporation recommends replacing SID with SERVICE_NAME.

To modify a connect descriptor to use SERVICE_NAME, use the Oracle Net Manager's compatibility mode, as described in "Using the Oracle Net Manager to Handle Compatibility Issues".

See Also:

Oracle9i Net Services Administrator's Guide for information about database identification by SERVICE_NAME rather than SID

Consider the following questions for an environment with release 8.0 clients connecting to an Oracle9i database:

Oracle8 or Oracle7 Database Connections

A connect descriptor to an Oracle release 8.0 or Oracle7 database uses SID, as shown in the following example:

sales= 
(DESCRIPTION= 
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))
  (CONNECT_DATA=
     (SID=sales)))

In addition, the listener.ora file on the database server must be configured with the description of the SID for the release 8.0 database. In the following example, the listener is configured to listener for a database service called sales.us.acme.com that has a SID of sales:

SID_LIST_listener=
(SID_LIST=
 (SID_DESC=
  (GLOBAL_DBNAME=sales.us.acme.com)
  (SID_NAME=sales)))
See Also:

Oracle9i Net Services Administrator's Guide for information about database identification by SID

Consider the following questions for an environment with Oracle9i clients connecting to a release 8.0 database.

Oracle Names

If you upgrade all or part of your network to Oracle9i, you should upgrade all the Oracle Names Servers in the region to version 9.

Using the Oracle Net Manager to Handle Compatibility Issues

Because some parameters are enabled only for release 9i and release 8.1, Oracle Net Manager offers two options that permit you to set the proper parameters in the tnsnames.ora file for clients connecting to a particular release of the database. These options are described in Table B-1.

Table B-1 Compatibility Options Available with Oracle Net Manager
Oracle Net Manager Option Description

Use Options Compatible with Net8 8.0 Clients

Enables you to configure multiple addresses parameters for a client.

If selected, enables the SOURCE_ROUTE parameter for pre-release 8.1 clients requiring Oracle Connection Manager connections.

If turned off, enables you to use the SOURCE_ROUTE, LOAD_BALANCE, and FAILOVER parameters for release 9i and release 8.1 clients.

See Also: Oracle9i Net Services Administrator's Guide for information about configuring address list parameters

Use Oracle8 Release 8.0 Compatible Identification

Enables you to configure parameters specific to a database release in the CONNECT_DATA section of a connect descriptor.

If turned on, allows you to enter the SID of the release 8.0 or Oracle7 database.

If turned off, enables you to enter the Oracle9i or Oracle8i database service name (SERVICE_NAME).

Note: The Advanced Service Options dialog box, which is visible when the Advanced button in the Service Identification group is chosen, is also affected by whether this option is turned on or off. Some settings are only available for connections to an Oracle9i or Oracle8i database service.

See Also: Oracle9i Net Services Administrator's Guide for information about configuring advanced connect data parameters

Upgrading to Oracle Net Services

To upgrade from SQL*Net release 2.x to Oracle Net Services or upgrade from Net8 release 8.0 or 8.1, complete these tasks:

Step 1: Verify Service Name and Instance Name

Step 2: Perform Software Upgrade on the Database Server

Step 3: Perform Software Upgrade on the Client

Step 4: Perform Functional Upgrade

Step 1: Verify Service Name and Instance Name

If you want to identify a service and its instance in the tnsnames.ora file, ensure that the SERVICE_NAMES and INSTANCE_NAMES initialization parameters are set in the initialization parameter file.

Table B-2 Initialization Parameters for Oracle Net Services
Parameter Description

SERVICE_NAMES

Specifies one or more names for the database service to which this instance connects. You can specify multiple services names in order to distinguish among different uses of the same database. For example:

SERVICE_NAMES = sales.us.acme.com, widgetsales.us.acme.com

If you do not qualify the names in this parameter with a domain, Oracle qualifies them with the value of the DB_DOMAIN parameter. If DB_DOMAIN is not specified, Oracle uses the domain of your local database as it currently exists in the data dictionary.

Note: You can change the value of SERVICE_NAMES parameter dynamically with the SQL ALTER SYSTEM when the database is running. See the Oracle9i Database Reference for further information about this parameter

INSTANCE_NAME

Specifies the unique name of this instance. Set the instance name to the value of the Oracle System Identifier (SID).

Step 2: Perform Software Upgrade on the Database Server

To perform a software upgrade on the database server, install the latest release of Oracle Net and Oracle Net Listener from the Oracle Universal Installer to receive the latest executables.

You are prompted to upgrade a database with the Database Upgrade Assistant if the Oracle Universal Installer detects a pre-release 9.2 database on your system. If you do not want to upgrade during the installation process, you can choose to install this assistant and use it later.

The Oracle Universal Installer automatically performs these tasks:

Step 3: Perform Software Upgrade on the Client

To perform a software upgrade on the client, install the latest release of Oracle Net Services from the Oracle Universal Installer to receive the latest executables.

Step 4: Perform Functional Upgrade

After the software is upgraded, it is not required to upgrade the configuration files unless you want to use the Oracle9i features. To take advantage of new features, review the following configuration files:

Replace obsolete or renamed parameters.

See Also:

Oracle9i Net Services Reference Guide for further information about unsupported configuration parameters

tnsnames.ora

Replace the SID parameter with the SERVICE_NAME parameter to connect to a release 8.1 or higher service, as in the following example.

sales= 
(DESCRIPTION= 
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))
  (CONNECT_DATA=
     (SERVICE_NAME=sales.us.acme.com)))

If you have multiple addresses, you can configure client load balancing and connect-time failover features, as in the following example.

sales= 
(DESCRIPTION= 
 (ADDRESS_LIST=
  (FAILOVER=on)
  (LOAD_BALANCE=on)
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-server)(PORT=1521)
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales2-server)(PORT=1521))
  (CONNECT_DATA=
     (SERVICE_NAME=sales.us.acme.com)))

<div>

<table> <tr><td> See Also:
<ul> <li>"Using the Oracle Net Manager to Handle Compatibility Issues" for information about configuring the service name and multiple address features
<li>Oracle9i Net Services Administrator's Guide for information about multiple addresses
</ul> </td> </tr> </table> </div>

listener.ora

Because instance information is registered with the listener in release 9i, it is no longer necessary to include the instance information with the SID_LIST_listener_name section of the listener.ora file.

However, Oracle Enterprise Manager still requires static information in the listener.ora file. If you are using Oracle Enterprise Manager to manage database objects, the listener.ora file must be configured with information about the database in the following manner:

SID_LIST_listener_name=
  (SID_LIST=
     (SID_DESC=
        (GLOBAL_DBNAME=global_database_name)
        (ORACLE_HOME=oracle_home)
        (SID_NAME=sid)))
Table B-3 Service Settings in listener.ora
Parameter Description

SID_NAME

The Oracle System Identifier (SID) identifies the instance. You can obtain the SID value from the INSTANCE_NAME parameter in the initialization parameter file.

GLOBAL_DBNAME

The global database name is comprised of the database name and database domain name. You can obtain the GLOBAL_DBNAME value from the SERVICE_NAMES parameter, or from the DB_NAME and DB_DOMAIN parameters in the initialization parameter file.

ORACLE_HOME

Identifies the Oracle home location of the database that you are specifying

Note: This setting is required on UNIX.

Important:

If you are using connect-time failover or Transparent Application Failover, such as in an Oracle9i Real Application Clusters environment, Oracle Corporation recommends not setting the GLOBAL_DBNAME parameter.

See Also:

Oracle9i Net Services Administrator's Guide for information about configuring service information and connect-time failover and Transparent Application Failover (TAF)

Using Oracle Names Version 9


Note:

In future releases, Oracle Names will not be supported as a centralized naming method. Because no new enhancements are being added to Oracle Names, consider using directory naming or upgrading an existing Oracle Names configuration to directory naming, as described in Oracle9i Net Services Administrator's Guide. The material presented here is primarily for reference to enable you to maintain your current Oracle Names environment.


Oracle Names version 9 is backward compatible with Oracle Names versions 2 and 8. If you wish to take advantage of the new features provided with Oracle Names version 9, you must upgrade all of your existing Oracle Names Servers in a region to version 9 by installing Oracle Names version 9 on every existing Oracle Names server node.

Upgrade issues to keep in mind are described in the following sections:

Upgrading from Oracle Names Version 2 Using a Database

To upgradeand transfer data from an existing Oracle Names server version 2 database to a version 9 region database, run the namesupg.sql script located in $ORACLE_HOME/network/admin on UNIX and ORACLE_HOME\network\admin on Windows platforms on the node where Oracle Network Manager stored your network definition.

In order to run the namesupg.sql script, two tables, NAMES_DOM and NAMES_DID must be created and populated using values from an existing names.ora file.

To upgrade data:

  1. Create the NAMES_DOM table as follows:
    SQL> CONNECT user/password
    SQL> CREATE TABLE NAMES_DOM (domain varchar(256));
    
    
  2. Populate the table with the domain names specified by the NAMES.DOMAINS parameter in the names.ora file. For example, consider the following NAMES.DOMAIN parameter setting:
    NAMES.DOMAINS=
     (DOMAIN_LIST=
     (DOMAIN=
      (NAME=)
      (MIN_TTL=86400))
     (DOMAIN=
      (NAME=com)
      (MIN_TTL=86400))
     (DOMAIN=
      (NAME=acme.com)
      (MIN_TTL=86400))
    
    

    In this example, three rows for the root domain, acme subdomain, and com domain must be created as follows:

    SQL> INSERT into NAMES_DOM values ('(root)');
    SQL> INSERT into NAMES_DOM values ('acme');
    SQL> INSERT into NAMES_DOM values ('acme.com');
    
  3. Create the NAMES_DID table as follows:
    SQL> CREATE TABLE NAMES_DID (did number(10))
    
    
  4. Find the DOCNAME value under the NAMES.ADMIN_REGION parameter in the names.ora file. The DOCNAME represents the name associated with the region. In the following example, the DOCNAME is sbox.
    NAMES.ADMIN_REGION= (REGION=
                          (NAME=local_region.world)
                          (TYPE=rosdb)
                          (USERID=names)
                          (PASSWORD=names)
                          (description= 
                            (ADDRESS_LIST= 
                              (ADDRESS= 
                                (PROTOCOL=tcp)
                                (HOST=nineva)
                                (PORT=1387)))
                            (CONNECT_DATA=(SID=em)))
                          (DOCNAME=sbox)
                          (VERSION=34619392) # 2.1.4
                          (RETRY=60))
    
    
  5. Query the NMO_INFORMATION table for the ID associated with the DOCNAME and insert it into the NAMES.DOM table:
    SQL> SELECT ID from NMO_INFORMATION where name_P=docname;
    SQL> INSERT into NAMES_DID
        select DID from NMO_INFORMATION
           where NAME_p='docname';
    
    
  6. Run the namesupg.sql script:
    SQL> CONNECT user/password
    SQL> @oracle_home/network/admin/namesupg.sql;
    

Upgrading from Oracle Names Version 2 with the Dynamic Discovery Option

The procedure to upgrade Oracle Names version 2 with the Dynamic Discovery Option is dependent upon whether or not you want Oracle Names version 8 to store information in a region database.

Non-Region Database Upgrade

If you upgrade to an Oracle Names version 8 from Oracle Names version 2 with the Dynamic Discovery Option, the new Oracle Names server should be able to obtain registered data from the old checkpoint files. If data is not registered, you can register objects by completing the procedures in the Oracle9i Net Services Administrator's Guide.

Region Database Upgrade

If you were previously running Oracle Names version 2 with the Dynamic Discovery Option, and you want to configure a region database as a repository for your Oracle Names information, you will need to:

  1. Write the information stored in the Oracle Names version 2 local administrative region to a tnsnames.ora file from Oracle Network Manager or run the following from the command line with a version 8 Oracle Names Control utility:
    NAMESCTL
    NAMESCTL> DUMP_TNSNAMES
    
    
  2. Run the namesini.sql script located in $ORACLE_HOME/network/admin on UNIX and ORACLE_HOME\network\admin on Windows platforms on the computer where the database resides.
    SQL> CONNECT user/password
    SQL> @oracle_home/network/admin/namesini.sql;
    
    
  3. Use Oracle Net Manager to configure a NAMES.ADMIN_REGION parameter in every Oracle Names server configuration file (names.ora).

    See Also:

    Oracle9i Net Services Administrator's Guide for information about creating an Oracle Names server.

  4. Load the tnsnames.ora file into a version 9 Oracle Names server using either Oracle Net Manager or Oracle Names Control utility:

    Use the Oracle Net Manager... Use the Oracle Names Control utility...
    1. Start the Oracle Net Manager:

      -On UNIX, run netmgr at $ORACLE_HOME/bin.

      -On Windows platforms, choose Start > Programs > Oracle - HOME_NAME > Configuration and Migration Tools > Net Manager

    2. In the navigator pane, expand Oracle Names Servers.
    3. Select the Oracle Names server.
    4. From the list in the right pane, select Manage Data.
    5. Choose the Net Service Names tab.
    6. Choose Load.
    7. Enter the path and file name of the Oracle Network Manager-generated tnsnames.ora file in the File field created in Step 1.
    8. Choose Execute.
    9. Choose File > Save Network Configuration.

    From the command line, enter:

    namesctl
    NAMESCTL> LOAD_TNSNAMES file_name
    
    

Upgrading from ROSFILES

Oracle Names version 8 and higher do not support older configurations that use Resource Object Store (ROS) files (ROSFILES). ROSFILES must be upgraded directly into Oracle Names database tables or first into a tnsnames.ora file and then into Oracle Names. The following sections cover both procedures:

ROSFILES to Database Tables

To upgrade ROSFILES to database tables:

  1. Create a database user account for Oracle Network Manager:
    SQL> CONNECT system/password
    SQL> CREATE USER user
        IDENTIFIED BY password
        DEFAULT TABLESPACE users
        TEMPORARY TABLESPACE temp;
    
    
  2. To build the necessary tables, the scripts described next must be run against the server. Typically, these scripts are run on the Oracle Network Manager node.
    SQL> CONNECT username/password
    SQL> @oracle_home\dbs\rosbild.sql;
    SQL> @oracle_home\dbs\nmcbild.sql;
    SQL> @oracle_home\dbs\rosgrnt.sql;
    SQL> @oracle_home\dbs\nmcgrnt.sql;
    
    Script Description

    rosbild.sql

    Builds tables for use by the ROS

    nmcbild.sql

    Builds tables for use by the Oracle Network Manager Objects (NMO) components

    rosgrnt.sql

    Grants access to the common tables. You will be prompted for the user name. Use the same user name that was used when you set up the Oracle Network Manager account.

    nmcgrnt.sql

    Grants access to the users who will access the Oracle Network Manager tables

  3. From the Oracle Network Manager, save the ROSFILES to a database:
    1. Choose File > Save As.
    2. Select Database in the Save Network Definition dialog box, and then choose OK.
    3. Enter the database user name and password created in Step 1 and a net service name for the database in the Connect dialog box.
    4. Choose OK.
    5. Select or enter the name of the network you wish to save in the Save Network Definition dialog box.
    6. Choose File > Generate to save the network definition and create the Oracle Names tables from the saved definition.
    7. Choose File > Exit to exit the Oracle Network Manager.
  4. On the server, create the NAMES_DID and NAMES_DOM tables and run the namesupg.sql script, as described in "Upgrading from Oracle Names Version 2 Using a Database".

ROSFILES to a tnsnames.ora File

To upgrade ROSFILES to a tnsnames.ora file, and then import the tnsnames.ora file into Oracle Names:

  1. Create a tnsnames.ora file from ROSFILES:
    1. From the Oracle Network Manager, choose Special > Preferences.
    2. Ensure Oracle Names is not selected in the Preferences dialog box.
    3. Choose File > Generate to update the network definition and create a tnsnames.ora file.
    4. Choose File > Exit to exit the Oracle Network Manager.
  2. Load the tnsnames.ora file into the Oracle Names server using either Oracle Net Manager or Oracle Names Control utility:

    Use Oracle Net Manager... Use the Oracle Names Control utility...
    1. Start the Oracle Net Manager.

      -On UNIX, run netmgr at $ORACLE_HOME/bin.

      -On Windows platforms, choose Start > Programs > Oracle - HOME_NAME > Configuration and Migration Tools > Net Manager

    2. In the navigator pane, expand Oracle Names Servers.
    3. Select the Oracle Names server.
    4. From the list in the right pane, select Manage Data.
    5. Choose the Net Service Names tab.
    6. Choose Load.
    7. Enter the path and file name of the Oracle Network Manager-generated tnsnames.ora file in the File field.
    8. Choose Execute.
    9. Choose File > Save Network Configuration.

    From the command line, enter:

    namesctl
    NAMESCTL> LOAD_TNSNAMES file_name
    
    
    See Also:
    • Oracle Network Manager Administrator's Guide, release 3.1
    • Oracle Names Administrator's Guide, version 2

Upgrading Region Checkpoint Files to Domain and Topology Checkpoint Files

In release 8.1, the region checkpoint file, ckpreg.ora, contained both topology and domain authoritative data. In release 9i, this data has been split into two files. The topology checkpoint files, ckptop.ora, defines the domains in the administrative region and the Oracle Names servers authoritative for each domain. The domain checkpoint file, ckpdom.ora, contains the authoritative data for each domain.

These files are automatically generated if you are using a region database. If you are not using a region database and instead relying on the data in the checkpoint files, you can either disregard the checkpoint files and rely on Oracle Names servers running in the region or move data from the ckpreg.ora file to the ckptop.ora file.

To rely on data from other Oracle Names servers:

  1. Upgrade the Oracle Names servers to release 9.2.
  2. For each Oracle Names server, ensure the .sdns.ora file is in $ORACLE_HOME/network/names on UNIX operating systems or the sdns.ora file is in ORACLE_HOME\network\names on Windows operating systems.

    This file contains the name and address of the first Oracle Names server. If it does not exist, discover the other Oracle Names server with the Oracle Net Manager's Command > Discover Oracle Names Servers command or the Oracle Names Control utility's REORDER_NS command.

  3. Start the Oracle Names servers.

    When an Oracle Names server starts, it finds another Oracle Names server and downloads the topology and domain data information from it.

To copy or move data from the ckpreg.ora file to the ckptop.ora file:

  1. Upgrade the Oracle Names servers to release 9.2.
  2. Move the ckpreg.ora file to the ckptop.ora file. For example:
    cd network/names
    mv ckpreg.ora ckptop.ora
    
    
  3. Start the Oracle Names servers.

    When an Oracle Names server starts, it automatically generates the ckpdom.ora file.

    See Also:

    Oracle9i Net Services Administrator's Guide for an example cktop.ora file

Reviewing Upgrade Checklist

The following checklist is provided to ensure a proper upgrade to Oracle Names version 9.

Upgrade all Oracle Names servers in each region to the same version 8 release.
If you were previously running Oracle Names version 2, and you want to update your database as a repository for your Oracle Names information, run the namesupg.sql script on the node where the network definition is stored.
If you were previously running Oracle Names version 2 with the Dynamic Discovery Option, and you want to configure a region database as a repository for your Oracle Names information:
  1. Run the namesini.sql script on the node where you wish to install the database.
  2. Use the Oracle Net Manager to configure a NAMES.ADMIN_REGION parameter in every names.ora file. See Oracle9i Net Services Reference Guide for more information about the NAMES.ADMIN_REGION parameter.
Set up at least two Oracle Names servers in each region to provide for fault tolerance.