Oracle8i Migration
Release 3 (8.1.7)

Part Number A86632-01

Library

Product

Contents

Index

Go to previous page Go to next page

F
SQL*Net and Net8 Considerations for Migrations and Upgrades

This appendix describes coexistence of SQL*Net and Net8, migration, and upgrades. This appendix covers the following topics:

Net8 and SQL*Net Differences

When dealing with SQL*Net to Net8 migrations, keep the following features in mind:

This Feature...  SQL*Net  Net8 

Multiple Protocol Support 

Multi-Protocol Interchange allows applications in TNS networks to communicate across different protocols. 

The Oracle Connection Manager has a multi-protocol support feature which allows client and database servers operating on different protocol stacks to communicate with each other.

See Also: Net8 Administrator's Guide for more information about enabling multi-protocol support. 

Configuration Tools 

  • SQL*Net Easy Configuration to create service names

  • Oracle Network Manager for complex configurations

 
  • Net8 Configuration Assistant for basic configuration of the listener, net service names, and naming methods

  • Net8 Assistant for complex configurations and network administration

 

External Procedures 

n/a 

Support for external procedures, functions or procedures written in a third-generation language (3GL) that can be called from PL/SQL code. 

Though it is not required, migrating your network to Net8 is recommended for the following reasons:

The following table lists the networking features supported in each Oracle release.

Database Release  7.1.4  7.1.5  7.1.6  7.2.2  7.2.3  7.3.2  7.3.3  7.3.4  8.x 

SQL*Net 

2.1.4 

2.1.5 

2.1.6 

2.2.2 

2.2.3 

2.3.2 

2.3.3 

2.3.4 

n/a 

Oracle Names server 

1.0 

1.0 

1.0 

1.1 

2.0 

2.0.2 

2.0.3 

2.0.4 

8.x 

Oracle Advanced Networking Option 

n/a 

n/a 

n/a 

n/a 

n/a 

2.3.2 

2.3.3 

2.3.4 

8.0.x 

Oracle Advanced Security 

n/a 

n/a 

n/a 

n/a 

n/a 

n/a 

n/a 

n/a 

8.1.x 

Secure Network Services1 

1.0.1 

1.0.2 

1.0.3 

1.1 

2.0 

n/a 

n/a 

n/a 

n/a 

Net8 

n/a 

n/a 

n/a 

n/a 

n/a 

n/a 

n/a 

n/a 

8.x 

1 The functionality of Secure Network Services and SQL*Net/DCE are now included in the Oracle Advanced Networking Option and Oracle Advanced Security option.

Obsolete SQL*Net Parameters

The following SQL*Net parameter are no longer functional in Net8:

Parameter  File  Description 

COMMUNITY 

tnsnames.ora 

The COMMUNITY parameter was a required part of all network service addresses. Thus, it appears anywhere you might find an address (for example, local naming and listener configuration files). 

NAMES.DEFAULT_ZONE 

sqlnet.ora 

The NAMES.DEFAULT_ZONE used to be included in profiles as slight variants of the NAMES.DEFAULT_DOMAIN and NAMES.PREFERRED_SERVERS parameters. 


Note:

You may choose to delete these parameters or leave them. Though they are no longer required, they will not interfere with any network operations. 


Client and Database Coexistence Issues

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

Release 8.1 Client Connections to Release 8.1 Database

As Figure F-1 depicts, an Oracle release 8.1 client requires Net8 Client release 8.1, and an Oracle release 8.1 database requires Net8 Server release 8.1:

Figure F-1 Oracle8 Client to Oracle8i Database


The client must be configured with a service name. Configuring the local naming method is described in Net8 Administrator's Guide.

Release 8.0/Oracle7 Client Connections to Release 8.1 Database

As Figure F-2 depicts, an Oracle release 8.0 client requires a compatible release of Net8 Client, an Oracle7 client requires SQL*Net Client, and an Oracle release 8.1 database requires Net8 Server release 8.1.

Figure F-2 Oracle8 Client release 8.0/Oracle7 Client to Oracle8i Database


New connect descriptors, created for connections to an Oracle release 8.1 database, identify the database by its service name with the SERVICE_NAME parameter. Connect descriptors that are currently configured with the SID parameter, to identify a Oracle release 8.1 database, can remain. To take advantage of new features, such as client load balancing and connect-time failover, Oracle Corporation recommends replacing SID with SERVICE_NAME.

See Also:

Net8 Administrator's Guide for information about database identification by SERVICE_NAME rather than SID. 

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-sun1)(port=1521))
  (connect_data=
     (sid=sales))

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

sales= 
(description= 
  (address=(protocol=tcp)(host=sales-sun1)(port=1521))
  (connect_data=
     (service_name=sales.us.acme.com))

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

Consider the following questions for an environment with Oracle release 8.0 or Oracle7 clients connecting to an Oracle release 8.1 database:

Release 8.1 Client Connections to Release 8.0/Oracle7 Database

As depicted in Figure F-3:

Figure F-3 Oracle8i Client to Oracle8 or Oracle7 Database


Connect descriptors created for connections to an Oracle7 or Oracle release 8.0 database identify the database by its SID, as shown in the following example:

sales= 
(description= 
  (address=(protocol=tcp)(host=sales-sun1)(port=1521))
  (connect_data=
     (sid=sales))

Additionally, the listener.ora file on the database server must be configured with the description of the SID.

See Also:

Net8 Administrator's Guide for information about configuring service information. 

Consider the following questions for an environment with Oracle release 8.1 clients connecting to an Oracle7 database.

Oracle Names

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

Using the Net8 Assistant to Handle Compatibility Issues

Because some parameters are enabled only for release 8.1, the Net8 Assistant offers two options that permit you to set the proper parameters in the tnsnames.ora file for clients connecting to a release 8.1, release 8.0 or Oracle7 database:

Net8 Assistant Option  Description 

Use Options Compatible with Net8 8.0 Clients 

Allows 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 8.1 clients.

See Also: Net8 Administrator's Guide for information about configuring address list parameters. 

Use Oracle8i Release 8.0 Compatible Identification 

Allows 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 Oracle8 release 8.0 or Oracle7 database.

If turned off, allows you to enter the 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 Oracle8i database service.

See Also: Net8 Administrator's Guide for information about configuring advanced connect data parameters. 

Migrating and Upgrading to Net8 Release 8.1

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

Step 1: Verify Service Name and Instance Name

If you want to take advantage of the Net8 release 8.1 feature to identify a service and its instance in the tnsnames.ora file, ensure the SERVICE_NAMES and INSTANCE_NAMES initialization parameters are set in the initialization file.

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. 

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 or Migration on the Server


Note:

You cannot install release 8.1 into an Oracle home that was created using an earlier release of Oracle release 8.1 database and you cannot install releases of the Oracle release 8.1 database prior to release 8.1 into an Oracle home that was created by release 8.1. 


To perform a software upgrade or migration on the database server, install the latest release of Net8 Server from the Oracle Universal Installer to receive the latest executables.

You are prompted to upgrade a database with the Oracle Data Migration Assistant if the Oracle Universal Installer detects a release 8.0 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 Migration or Upgrade on the Client

To perform a software migration or upgrade on the client, install the latest release of Net8 Client from the Oracle Universal Installer to receive the latest executables.

Step 4: Perform Functional Upgrade and Migration

After the software is upgraded or migrated, it is not required to upgrade the configuration files unless you want to use the new release 8.1 features. To take advantage of new features, review your configuration files:

sqlnet.ora

Remove AUTOMATIC_IPC, the parameter to force session to use IPC, because it will be ignored.

tnsnames.ora

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

sales= 
(description= 
  (address=(protocol=tcp)(host=sales-sun1)(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=sales-sun1)(port=1521)
  (address=(protocol=tcp)(host=sales-sun1)(port=1521))
  (connect_data=
     (service_name=sales.us.acme.com)))

See Also:

 

listener.ora

Because instance information is registered with the listener in release 8.1, 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)))

Parameter  Description 

SID_NAME 

Identifies the database instance. You can obtain the SID value from the INSTANCE_NAME parameter in the database initialization file.

Note: This setting is required on UNIX and Windows NT. 

GLOBAL_DBNAME 

A name comprised of the database name and database domain name. You can obtain the GLOBAL_DBNAME value from the SERVICE_NAMES parameter or the DB_NAME and DB_DOMAIN parameters in the database initialization 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 Oracle Parallel Server environment, do not set the GLOBAL_DBNAME parameter. A statically configured global database name disables these features. 

If prespawned dedicated servers are configured in the listener.ora file, additional configuration is required for those clients that do not use them.

See Also:

 

Using Oracle Connection Manager Release 8.1

The default listening port for the gateway process, CMGW, has changed from 1610 to the officially registered port of 1630 in release 8.1.

The administrative process, CMADMIN, used by the CMCTL control utility to execute administrative commands now requires a listening protocol address in the cman.ora file. By default, this address is the following:

cman_admin=
 (address=(protocol=tcp)(host=host)(port=1830))

Oracle Connection Manager release 8.1 is backward compatible with release 8.0. This means that:

Using Oracle Connection Manager Instead of Oracle Multi-Protocol Interchange

If you have migrated your clients to Net8, and you still require multi-protocol support, you must install Oracle Connection Manager and route your sessions through it. Oracle Multi-Protocol Interchange is no longer supported past SQL*Net release 2.3.

To ensure proper functioning of Oracle Connection Manager, verify that you have deleted the following files on the computer where it is installed:

Other migration considerations are specific to your network configuration.

See Also:

Net8 Administrator's Guide for further information about multi-protocol support. 

Using Oracle Names Version 8

Oracle Names version 8 is backward compatible with SQL*Net version 2. This means that clients running on SQL*Net version 2 can access Oracle Names servers using Oracle Names version 8 to connect to an Oracle8i database.

If you wish to take advantage of the new features provided with Oracle Names version 8, you must migrate all of your existing Names Servers in a region to version 8 by installing Oracle Names version 8 on every existing Names Server node.

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

Migrating from Oracle Names Version 2 Using a Database

To migrate and transfer data from an existing Oracle Names server database to a version 8 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 migrate 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=oracle.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;
    

Migrating from Oracle Names Version 2 with the Dynamic Discovery Option

The procedure to migrate 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 Migration

If you migrate 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 for some reason data is not registered, you can register objects by completing the procedures in the Net8 Administrator's Guide:

Region Database Migration

If you were previously running Oracle Names version 2 using 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 NAMESCTL 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 the Net8 Assistant to configure a NAMES.ADMIN_REGION parameter in every Oracle Names server configuration file (names.ora).

    See Also:

    Net8 Administrator's Guide for information about creating an Oracle Names server. 

  4. Load the tnsnames.ora file into a version 8 Oracle Names server using either the Net8 Assistant or the NAMESCTL control utility:

    Use the Net8 Assistant...  Use the control utility NAMESCTL... 
    1. Start the Net8 Assistant:

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

      -On Windows platforms, choose Start > Programs > Oracle - HOME_NAME > Network Administration > Net8 Assistant.

    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. Click the Net Service Names tab.

    6. Click 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. Click Execute.

    9. Choose File > Save Network Configuration.

     

    From the command line, enter:

    NAMESCTL
    NAMESCTL> LOAD_TNSNAMES FILE_NAME
    
     

Migrating from ROSFILES

Oracle Names version 8 does not support older configurations that use Resource Object Store (ROS) files (ROSFILES). ROSFILES must be migrated 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 migrate 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 Save As from the File menu.

    2. Select Database in the Save Network Definition dialog box, then click OK.

    3. Enter the database username/password created in Step 1 and a net service name for the database in the Connect dialog box.

    4. Click 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 "Migrating from Oracle Names Version 2 Using a Database".

ROSFILES to a tnsnames.ora File

To migrate 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 the Net8 Assistant or the NAMESCTL control utility:

    Use the Net8 Assistant...  Use the control utility NAMESCTL... 
    1. Start the Net8 Assistant.

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

      -On Windows platforms, choose Start > Programs > Oracle - HOME_NAME > Network Administration > Net8 Assistant.

    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. Click the Net Service Names tab.

    6. Click Load.

    7. Enter the path and file name of the Oracle Network Manager-generated tnsnames.ora file in the File field.

    8. Click 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

     

Reviewing Migration Checklist

The following checklist is provided to ensure proper migration to Oracle Names version 8.

Migrate 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 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 Net8 Assistant to configure a NAMES.ADMIN_REGION parameter in every names.ora file. See the Net8 Administrator's 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.


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

All Rights Reserved.

Library

Product

Contents

Index