Oracle9i Net Services Reference Guide
Release 1 (9.0.1)

Part Number A90155-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

7
Local Naming Parameters (tnsnames.ora)

This chapter provides a complete listing of the tnsnames.ora file configuration parameters.

This chapter contains these topics:

Overview of Local Naming Parameters

This tnsnames.ora file is a configuration file that contains net service names mapped to connect descriptors for the local naming method, or net service names mapped to listener protocol addresses.

A net service name is an alias mapped to a database network address contained in a connect descriptor. A connect descriptor contains the location of the listener through a protocol address and the service name of the database to which to connect. Clients and database servers (that are clients of other database servers) use the net service name when making a connection with an application.

By default, tnsnames.ora is located in the $ORACLE_HOME/network/admin directory on UNIX, and in the ORACLE_HOME\network\admin directory on Windows operating systems. tnsnames.ora can also be stored in the directory specified by the TNS_ADMIN environment variable or in the node's global configuration directory. For Sun Solaris, this directory is /var/opt/oracle. Windows NT does not have a central directory.

See Also:

Operating system specific documentation 

General Syntax of tnsnames.ora

The basic syntax for a tnsnames.ora file is shown in Figure 7-1. DESCRIPTION contains the connect descriptor, ADDRESS contains the protocol address, and CONNECT_DATA contains the database service identification information.

Figure 7-1 Basic Format of tnsnames.ora File

net_service_name= 
 (DESCRIPTION= 
   (ADDRESS=(protocol_address_information))
   (CONNECT_DATA= 
     (SERVICE_NAME=service_name))) 

Multiple Descriptions in tnsnames.ora

A tnsnames.ora file can contain net service names with one or more connect descriptors. Each connect descriptor can contain one or more protocol addresses. Figure 7-2 shows two connect descriptors with multiple addresses. DESCRIPTION_LIST defines a list of connect descriptors.


Note:

Oracle Net Manager does not support the creation of multiple connect descriptors for a net service name. 


Figure 7-2 Net Service Name with Multiple Connect Descriptors in tnsnames.ora

net_service_name= 
 (DESCRIPTION_LIST=
  (DESCRIPTION= 
   (ADDRESS=(protocol_address_information))
   (ADDRESS=(protocol_address_information))
   (ADDRESS=(protocol_address_information))
   (CONNECT_DATA= 
     (SERVICE_NAME=service_name)))
  (DESCRIPTION= 
   (ADDRESS=(protocol_address_information))
   (ADDRESS=(protocol_address_information))
   (ADDRESS=(protocol_address_information))
   (CONNECT_DATA= 
     (SERVICE_NAME=service_name))))

Multiple Address Lists in tnsnames.ora

The tnsnames.ora file also supports connect descriptors with multiple lists of addresses, each with its own characteristics. In Figure 7-2, two address lists are presented. The first address list features client load balancing and no connect-time failover, affecting only those protocol adresses within the ADDRESS_LIST. The second protocol address list features connect-time failover and no client load loading balancing, affecting only those protocol addresses within the ADDRESS_LIST. The client first tries either the first or second protocol address at random, then tries protocol addresses three and four sequentially.


Note:

Oracle Net Manager supports only the creation of one protocol address list for a connect descriptor. 


Figure 7-3 Multiple Address Lists in tnsnames.ora

net_service_name= 
 (DESCRIPTION= 
  (ADDRESS_LIST= 
   (LOAD_BALANCE=on)
   (FAILOVER=off)
   (ADDRESS=(protocol_address_information))
   (ADDRESS=(protocol_address_information)))
  (ADDRESS_LIST= 
   (LOAD_BALANCE=off)
   (FAILOVER=on)
   (ADDRESS=(protocol_address_information))
   (ADDRESS=(protocol_address_information)))
  (CONNECT_DATA=
   (SERVICE_NAME=service_name)))


Note:

Protocol address lists do not have to be embedded in an ADDRESS_LIST if there is only one list, as was the case prior to release 8.1.  


Connect-Time Failover and Client Load Balancing with Oracle Connection Managers

When a connect descriptor in a tnsnames.ora file contains at least two protocol addresses for Oracle Connection Manager, parameters for connect-time failover and load balancing can be included in the file.

Figure 7-4 illustrates failover of multiple Oracle Connection Manager protocol addresses.

Figure 7-4 Multiple Oracle Connection Manager Addresses in tnsnames.ora

sample1=
 (DESCRIPTION= 
   (SOURCE_ROUTE=yes) 
   (ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1630))    # hop 1 
   (ADDRESS_LIST=  
     (FAILOVER=on) 
     (LOAD_BALANCE=off)                                # hop 2 
     (ADDRESS=(PROTOCOL=tcp)(HOST=host2a)(PORT=1630)) 
     (ADDRESS=(PROTOCOL=tcp)(HOST=host2b)(PORT=1630)))
   (ADDRESS=(PROTOCOL=tcp)(HOST=host3)(PORT=1521))    # hop 3
   (CONNECT_DATA=(SERVICE_NAME=Sales.us.acme.com)))

In Figure 7-4:

  1. The client is instructed to connect to an protocol address of the first Oracle Connection Manager, as indicated by:

    (ADDRESS=(PROTOCOL=tcp)(HOST=host2a)(PORT=1630))
    
    
  2. The first Oracle Connection Manager is then instructed to connect to the first protocol address of another Oracle Connection Manager. If the first protocol address fails, then it tries the second protocol address. This sequence is specified with the following configuration:

    (ADDRESS_LIST=  
      (FAILOVER=ON) 
      (LOAD_BALANCE=off)
      (ADDRESS=(PROTOCOL=tcp)(HOST=host2a)(PORT=1630)) 
      (ADDRESS=(PROTOCOL=tcp)(HOST=host2b)(PORT=1630)) 
    
    
  3. The Oracle Connection Manager then connects to the database service using the following protocol address:

    (ADDRESS=(PROTOCOL=tcp)(HOST=host3)(PORT=1521)) 
    

Figure 7-5 illustrates client load balancing among two Oracle Connection Managers and two protocol addresses:

Figure 7-5 Client Load Balancing in tnsnames.ora

sample2=
 (DESCRIPTION= 
   (LOAD_BALANCE=on) 
   (FAILOVER=on)
   (ADDRESS_LIST= 
     (SOURCE_ROUTE=yes) 
     (ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1630)) 
     (ADDRESS=(PROTOCOL=tcp)(HOST=host2)(PORT=1521)))
  (ADDRESS_LIST= 
     (SOURCE_ROUTE=yes) 
     (ADDRESS=(PROTOCOL=tcp)(HOST=host3)(port=1630)) 
     (ADDRESS=(PROTOCOL=tcp)(HOST=host4)(port=1521)))
   (CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com)))

In Figure 7-5:

  1. The client is instructed to pick an ADDRESS_LIST at random and to failover to the other if the chosen ADDRESS_LIST fails. This is indicated by the LOAD_BALANCE and FAILOVER parameters being set to on.

  2. When an ADDRESS_LIST is chosen, the client first connects to the Oracle Connection Manager, using the Oracle Connection Manager protocol address that uses port 1630 indicated for the ADDRESS_LIST.

  3. The Oracle Connection Manager then connects to the database service, using the protocol address indicated for the ADDRESS_LIST.

Local Naming Parameters

This section lists and describes the tnsnames.ora file parameters that comprise connect descriptors. Configuration parameters fall into the following categories:

Connect Descriptor Descriptions

Each connect descriptor is contained within a DESCRIPTION parameter. Multiple connect descriptors are characterized by the DESCRIPTION_LIST parameter. These parameters are described next.

DESCRIPTION

Purpose

The DESCRIPTION parameter is the beginning of a connect descriptor. It contains the definition of a protocol address and the service name to which to connect.

Embed this parameter under the DESCRIPTION_LIST parameter.

Example

net_service_name=
(DESCRIPTION=
  (ADDRESS=...)
  (CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com)))

DESCRIPTION_LIST

Purpose

The DESCRIPTION_LIST parameter defines a list of connect descriptors for a particular net service name.

Example

net_service_name= 
(DESCRIPTION_LIST=
 (DESCRIPTION=
  (ADDRESS=...)
  (CONNECT_DATA=(SERVICE_NAME=sales.acme.com)))
 (DESCRIPTION=
  (ADDRESS=...)
  (CONNECT_DATA=(SERVICE_NAME=sales2.us.acme.com))))

Protocol Address Section

The protocol address section of the tnsnames.ora file specifies the protocol addresses of the listener.

ADDRESS

Purpose

The ADDRESS parameter defines a single listener protocol address.

Embed this parameter under either the ADDRESS_LIST parameter or the DESCRIPTION parameter.

See Also:

Chapter 5, "Protocol Address Configuration" for descriptions of the correct parameters to use for each protocol 

Example

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

ADDRESS_LIST

Purpose

The ADDRESS_LIST parameter defines a list of protocol addresses. If there is only address list, ADDRESS_LIST is not necessary.

Embed this parameter under either the DESCRIPTION parameter or the DESCRIPTION_LIST parameter.

Example

net_service_name=
 (description= 
  (ADDRESS_LIST=
   (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
   (ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))
  (ADDRESS_LIST=
   (FAILOVER=on)
   (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
   (ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521))
  (CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com)))

Optional Parameters for Lists

For multiple addresses, the following parameters are available for usage:

FAILOVER

Purpose

When set to on, yes, or true, the FAILOVER parameter instructs Oracle Net, at connect time, to fail over to a different address if the first protocol address fails. When set to off, instructs Oracle Net to try one protocol address.

Embed this parameter under either the DESCRIPTION_LIST parameter, the DESCRIPTION parameter, or the ADDRESS_LIST parameter.


Important:

Do not set the GLOBAL_DBNAME parameter in the SID_LIST_listener_name section of the listener.ora. A statically configured global database name disables connect-time failover. 


Default

on for DESCRIPTION_LISTs, DESCRIPTIONs, and ADDRESS_LISTs

Values

on | off | yes | no | true | false

Example

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

LOAD_BALANCE

Purpose

When set to on, yes, or true, the LOAD_BALANCE parameter instructs Oracle Net to progress through the list of addresses in a random sequence, balancing the load on the various listener or Oracle Connection Manager protocol addresses. When set to off, no, or false, this parameter instructs Oracle Net to try the protocol addresses sequentially until one succeeds.

Embed this parameter under either the DESCRIPTION_LIST parameter, the DESCRIPTION parameter, or the ADDRESS_LIST parameter.

Default

on for DESCRIPTION_LISTs

Values

on | off | yes | no | true | false

Example

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

SDU

Purpose

The SDU parameter instructs Oracle Net to optimize the transfer rate of data packets being sent across the network with the session data unit (SDU) size you specify.

Embed this parameter under the DESCRIPTION parameter.

See Also:

Oracle9i Net Services Administrator's Guide for complete configuration information 

Default

2 KB

Usage

The SDU size can range from 512 bytes to 32 KB. The default SDU for the client and the database is 2 KB.

Optimal SDU size depends on the maximum segment size (MSS) and message fragmentation. For Two-Task Common (TTC) connections, configuring an SDU size larger than the 2 KB default requires configuring the SDU on both the client and server computers. When the configured values do not match, the lower of the two values will be used.

To minimize packet header overhead and message fragmentation, set the SDU size as a multiple of the MSS. When Oracle Advanced Security encryption is not used, increase the SDU size by one (1). For example, the TCP/IP version 4 MSS on Ethernet is 1460 bytes. Use a multiple of 1460 for the SDU size if encryption is used. If encryption is not used, increase the SDU size to 1461.

Example

net_service_name= 
 (DESCRIPTION=
  (SDU=2920)
  (ADDRESS=...)
  (ADDRESS=...)
  (CONNECT_DATA=
    (SERVER_NAME=sales.us.acme.com))

SOURCE_ROUTE

Purpose

When set to on or yes, the SOURCE_ROUTE parameter instructs Oracle Net to use each address in order until the destination is reached.

To use Oracle Connection Manager, an initial connection from the client to the Oracle Connection Manager is required, and a second connection from the Oracle Connection Manager to the listener is required.

Embed this parameter under either the DESCRIPTION_LIST parameter, the DESCRIPTION parameter, or the ADDRESS_LIST parameter.

See Also:

Oracle9i Net Services Administrator's Guide for complete configuration information 

Default

off

Values

yes | no | on | off

Example

net_service_name=
 (DESCRIPTION= 
  (SOURCE_ROUTE=on)
  (ADDRESS=(PROTOCOL=tcp)(HOST=cman-pc)(PORT=1630))
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521)))
  (CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com))

TYPE_OF_SERVICE

Purpose

The TYPE_OF_SERVICE parameter specifies the type of service to use for an Oracle RDB database. It is used by Rdb interface tools. This feature should only be used if the application supports both an Oracle Rdb and Oracle database, and you want the application to randomly choose (load balance).

Embed this parameter under the DESCRIPTION parameter.

Example

net_service_name=
 (DESCRIPTION_LIST=
  (DESCRIPTION=
   (ADDRESS=...)
   (CONNECT_DATA= 
    (SERVICE_NAME=generic)
    (RBD_DATABASE=[.mf]mf_personal.rdb)
    (GLOBAL_NAME=alpha5))
    (TYPE_OF_SERVICE=rdb_database))
  (DESCRIPTION=
   (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
   (CONNECT_DATA=
    (SERVICE_NAME=sales.us.acme.com))
    (TYPE_OF_SERVICE=oracle9_database)))

Connect Data Section

The connection data section of the tnsnames.ora file specifies the name of the destination service.

CONNECT_DATA

Purpose

The CONNECT_DATA parameter defines the service to which to connect.

Embed this parameter under the DESCRIPTION parameter.

Usage Notes

CONNECT_DATA permits the following sub-parameters:

Example

net_service_name=
 (DESCRIPTION= 
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521))
  (CONNECT_DATA=
   (SERVICE_NAME=sales.us.acme.com)))

FAILOVER_MODE

Purpose

The FAILOVER_MODE parameter instructs Oracle Net to fail over to a different listener if the first listener fails during runtime. Depending upon the configuration, session or any SELECT statements which were in progress are automatically failed over.

This type of failover is called Transparent Application Failover (TAF) and should not be confused with the connect-time failover FAILOVER parameter.

Embed this parameter under the CONNECT_DATA parameter.

See Also:

Oracle9i Net Services Administrator's Guide for complete configuration information 

Sub-Parameters

FAILOVER_MODE supports the following sub-parameters:

BACKUP--Specify the failover node by its net service name. A separate net service name must be created for the failover node.

TYPE--(Required) Specify the type of failover. Three types of Oracle Net failover functionality are available by default to Oracle Call Interface (OCI) applications:

METHOD --Specify how fast failover is to occur from the primary node to the backup node:

RETRIES--Specify the number of times to attempt to connect after a failover. If DELAY is specified, RETRIES defaults to five retry attempts.

DELAY--Specify the amount of time in seconds to wait between connect attempts. If RETRIES is specified, DELAY defaults to one second.

Example

See Also:

Oracle9i Net Services Administrator's Guide for implementation examples 

GLOBAL_NAME

Purpose

The GLOBAL_NAME parameter identifies the Oracle Rdb database.

Embed this parameter under the CONNECT_DATA parameter.

Example

net_service_name= 
 (DESCRIPTION= 
   (ADDRESS=...)
   (ADDRESS=...)
   (CONNECT_DATA=
    (SERVICE_NAME=generic)
    (RDB_DATABASE=[.mf]mf_personal.rdb)
    (GLOBAL_NAME=alpha5)))

HS

Purpose

The HS parameter instructs Oracle Net to connect to a non-Oracle system through Heterogeneous Services.

Embed this parameter under the CONNECT_DATA parameter.

See Also:

Oracle9i Net Services Administrator's Guide for complete configuration information 

Default

None

Values

ok

Example

net_service_name= 
 (DESCRIPTION=
   (ADDRESS=...)
   (ADDRESS=...)
   (CONNECT_DATA=
    (SID=sales6)
    (HS=ok)))

INSTANCE_NAME

Purpose

The INSTANCE_NAME parameter identifies the database instance to access. The instance name can be obtained from the INSTANCE_NAME parameter in the initialization parameter file

Embed this parameter under the CONNECT_DATA parameter.

See Also:

Oracle9i Net Services Administrator's Guide for information about the use of INSTANCE_NAME 

Example

net_service_name= 
 (DESCRIPTION=
   (ADDRESS=...)
   (ADDRESS=...)
   (CONNECT_DATA=
    (SERVICE_NAME=sales.us.acme.com)
    (INSTANCE_NAME=sales1)))

RDB_DATABASE

Purpose

The RDB_DATABASE parameter specifies the file name of an Oracle RDB database.

Embed this parameter under the CONNECT_DATA parameter.

Example

net_service_name= 
 (DESCRIPTION= 
   (ADDRESS=...)
   (ADDRESS=...)
   (CONNECT_DATA=
    (SERVICE_NAME=sales.us.acme.com)
    (RDB_DATABASE= [.mf]mf_personal.rdb)))

SERVER

Purpose

The SERVER parameter instructs the listener to connect the client to a specific type of service handler.

Embed this parameter under the CONNECT_DATA parameter.

Values

dedicated--The client request is served by a dedicated server process

shared--The client request is served by a shared server process


Note:

Shared server must be configured in the database initialization file in order for the client to connect to the database with a shared server process. See the Oracle9i Net Services Administrator's Guide for complete configuration information. 



Note:

The USE_DEDICATED_SERVER parameter in the sqlnet.ora file overrides this parameter. 


Example

net_service_name= 
 (DESCRIPTION=
   (ADDRESS=...)
   (ADDRESS=...)
   (CONNECT_DATA=
    (SERVER_NAME=sales.us.acme.com)
    (SERVER=dedicated)))

SERVICE_NAME

Purpose

The SERVICE_NAME parameter identifies the Oracle9i or Oracle8i service to access.

The SERVICE_NAME parameter is typically set to the global database name, a name comprised of the database name (DB_NAME) and domain name (DB_DOMAIN), entered during installation or database creation.

Embed this parameter under the CONNECT_DATA parameter.

See Also:

Oracle9i Net Services Administrator's Guide for information about the use of the SERVICE_NAME parameter 

Example

net_service_name= 
 (DESCRIPTION=
   (ADDRESS=...)
   (ADDRESS=...)
   (CONNECT_DATA=
    (SERVICE_NAME=sales.us.acme.com)))

SID

Purpose

The SID parameter identifies the database instance by the Oracle System Identifier (SID) for an Oracle8 database. If the database is Oracle9i or Oracle8i, use the SERVICE_NAME parameter rather than the SID parameter.

See Also:

Oracle9i Net Services Administrator's Guide for information about the use of SID 

Embed this parameter under the CONNECT_DATA parameter.

Example

net_service_name= 
 (DESCRIPTION=
   (ADDRESS=...)
   (ADDRESS=...)
   (CONNECT_DATA=
    (SID=sales)))

Security Section

The security section of the tnsnames.ora file specifies security-related parameters for use with Oracle Advanced Security features.

SECURITY

Purpose

The SECURITY parameter enables secure connections.

Embed this parameter under the DESCRIPTION parameter.

Usage Notes

SECURITY permits the SSL_SERVER_CERT_DN sub-parameter.

Example

net_service_name=
 (DESCRIPTION= 
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
  (ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521))
  (CONNECT_DATA=
   (SERVICE_NAME=sales.us.acme.com))
   (SECURITY=
    (SSL_SERVER_DN="cn=sales,cn=OracleContext,dc=us,dc=acme,dc=com")))

SSL_SERVER_CERT_DN

Purpose

The SSL_SEVER_CERT_DN parameter specifies the distinguished name (DN) of the database server. The client uses this information to obtain the list of DNs it expects for each of the servers, enforcing the server's DN to match its service name.

Usage Notes

Use this parameter in conjunction with the sqlnet.ora parameter SSL_SERVER_DN_MATCH to enable server DN matching.

See Also:

Chapter 7, "Configuring Secure Sockets Layer Authentication," in the Oracle Advanced Security Administrator's Guide 

Example

net_service_name= 
 (DESCRIPTION=
   (ADDRESS=...)
   (ADDRESS=...)
   (CONNECT_DATA=
    (SERVICE_NAME=finance.us.acme.com))
   (SECURITY=
    (SSL_SERVER_DN="cn=finance,cn=OracleContext,dc=us,dc=acme,dc=com")))

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