Buy this Book
Print Book $39.95 Read it Now!
Print Book £28.50
Add to UK Cart
Reprint Licensing

Oracle Net8 Configuration and Troubleshooting
Oracle Net8 Configuration and Troubleshooting

By Hugo Toledo, Jonathan Gennick
Price: $39.95 USD
£28.50 GBP

Cover | Table of Contents | Colophon


Table of Contents

Chapter 1: Oracle's Network Architecture and Products
Net8 is the fundamental networking technology that allows Oracle services and clients to communicate with each other over a network. The most common application for Net8 is to allow clients to talk to database servers, but Net8 also enables server-to-server and other types of communication, as shown in Figure 1.1.
Figure 1.1: Net8 enables communication between many Oracle services and applications
In this chapter, you'll learn about Oracle's architectural goals for Net8. You'll also learn about the major components that make up Net8. Some of these components are behind-the-scenes in that they are only used by the Net8 communications stack. Others are management tools that you invoke directly.
Net8 was originally named SQL*Net. When Oracle8 was released, Oracle changed the name to Net8.
The overarching mission of Net8 is fairly obvious: to enable connectivity in an Oracle environment. Oracle wants to make it as easy and painless as possible for developers to connect client applications to an Oracle database. In support of that mission, Oracle has set these goals for Net8:
  • Location transparency
  • Platform independence
  • Protocol transparency
By meeting these three goals, Oracle has made Net8 a very easy to use connectivity solution. Much of the complexity of dealing with various networking protocols and operating-system platforms has been hidden from the user. A developer or DBA working with Net8 only needs to understand how Net8 works. There's no need to have a detailed understanding of the underlying protocols or the underlying operating systems.
Location transparency refers to the fact that an application does not need to know anything about the network location of the service to which it is connecting. Node names, IP addresses, and the like are transparent to the application. Net8 needs to know these details, but they are hidden from the application.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Goals of Net8
The overarching mission of Net8 is fairly obvious: to enable connectivity in an Oracle environment. Oracle wants to make it as easy and painless as possible for developers to connect client applications to an Oracle database. In support of that mission, Oracle has set these goals for Net8:
  • Location transparency
  • Platform independence
  • Protocol transparency
By meeting these three goals, Oracle has made Net8 a very easy to use connectivity solution. Much of the complexity of dealing with various networking protocols and operating-system platforms has been hidden from the user. A developer or DBA working with Net8 only needs to understand how Net8 works. There's no need to have a detailed understanding of the underlying protocols or the underlying operating systems.
Location transparency refers to the fact that an application does not need to know anything about the network location of the service to which it is connecting. Node names, IP addresses, and the like are transparent to the application. Net8 needs to know these details, but they are hidden from the application.
Net8 achieves location transparency by associating the network address of a server with a Net8 service name. You then use that Net8 service name in client applications in order to connect to the database server. If the address of the server changes, that change only needs to be made at the Net8 level. Client applications and database links that use the service name are completely unaffected.
Platform independence refers to the fact that Net8 works the same way regardless of the specific hardware or software platform being used. An application that uses Net8 on Unix does not need to be modified in order to use Net8 on Windows NT or Windows 2000.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Net8 Components
Just what do you get when you install Net8? What are the tangible components that you as the DBA need to know about and manage? The answers to these questions depend on the complexity of your environment and on the options that you choose or choose not to implement. The next few sections talk about the following Net8 configurations:
  • Dedicated server
  • Multi-threaded server (MTS)
  • Oracle Internet Directory
  • Oracle Names
  • Connection Manager
As you read these sections, bear in mind that these configurations are not mutually exclusive. They are presented separately to keep the diagrams simple and to keep the discussion focused. The simplest configuration, and the one you'll get by default when you do a fresh install of Oracle, is a dedicated server configuration that does not use any of the other components. However, it's entirely possible for a Net8 environment to use Oracle Internet Directory (or Oracle Names) and Connection Manager to implement the multi-threaded server option, and to still use dedicated server connections as well.
A dedicated server environment is one in which each database session communicates with a corresponding server process that has been dedicated to it. Figure 1.3 shows an example of this environment. The term refers to the dedicated server processes that are started for each client connection to the Oracle database.
Figure 1.3: A Net8 dedicated server configuration
The following list describes the major components that you'll need to deal with in a simple dedicated server configuration such as that shown in Figure 1.3.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Stack Communications
Knowing the components of Net8 is only part of the story. You also need to understand how Net8 fits into the architecture of your networking environment. Communication in a networked environment always flows through what is referred to as a stack. A communications stack is a collection of software and hardware layers, each of which plays a specific role in the transmission of information from one application to another. Figure 1.7 shows the typical client and server communications stacks for an Oracle environment.
Figure 1.7: Typical Oracle client and server communications stacks
In the environment shown in Figure 1.7, communications from a client application to an Oracle server must flow down through all the layers on the client side, go across the physical network link, and then flow up through all the layers on the server side. The three layers shaded light gray in Figure 1.7 represent the Net8 portion of the stack.
The first Net8 layer in the stack, the Network Interface (NI) layer, provides a generic interface to Net8 functionality. The bottom Net8 layer is the Transparent Network Substrate (TNS). The TNS layer plays a very important role in Net8 communications. It implements a set of generic functions that can be translated to any standard network protocol such as TCP/IP or SPX. You could think of TNS as a generic protocol. Oracle supplies network adapters that then translate TNS functions into protocol-specific calls for the underlying network protocol being used.
Oracle8i supports Java in the database. It also supports Enterprise JavaBeans (EJB) and the Common Object Request Broker Architecture (CORBA). CORBA applications connect to CORBA objects via the Internet Inter-ORB Protocol (IIOP). To support these connections, Net8 supports a new presentation layer known as the General Inter-ORB Protocol (GIOP). The IIOP is then an implementation of GIOP that runs over TCP/IP. The resulting communication stacks are much simpler than the stacks used for typical Oracle applications, and are illustrated in Figure 1.8.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Management Utilities
Oracle supplies several utilities to use in managing your Net8 environment. These include:
  • Listener Control utility (lsnrctl )
  • Oracle Names Control utility (namesctl )
  • Oracle Connection Manager Control utility (cmctl )
  • TNS Ping utility (tnsping)
  • Net8 Assistant
  • Net8 Easy Config
  • Net8 Configuration Assistant
The three control utilities are command-line utilities that run on the server and enable you to control the Net8 listener, Oracle Names, and Oracle Connection Manager. The tnsping utility is a debugging tool that does for Net8 what ping does for TCP/IP—it verifies Net8 connectivity between two machines. The final three utilities, two of which are termed assistants, are GUI tools that make the maintenance of the various Net8 configuration files (sqlnet.ora and tnsnames.ora) relatively painless.
The Listener Control utility (lsnrctl ) is your primary interface to the Net8 listener and is often referred to simply as Listener Control. You use Listener Control to start and stop Net8 listeners, report on their status, and change their operational settings. The following example shows Listener Control being used to check the current status of a listener:
C:\>lsnrctl

LSNRCTL for 32-bit Windows: Version 8.1.5.0.0 - Production on 17-JAN-00 15:15:57


(c) Copyright 1998 Oracle Corporation.  All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 32-bit Windows: Version 8.1.5.0.0 - 
                          Production
Start Date                17-JAN-00 10:24:05
Uptime                    0 days 4 hr. 51 min. 54 sec
Trace Level               off
Security                  ON
SNMP                      OFF
Listener Parameter File   E:\Oracle\Ora81\network\admin\listener.ora
Listener Log File         E:\Oracle\Ora81\network\log\listener.log
Services Summary...
  COIN                    has 1 service handler(s)
  PLSExtProc              has 1 service handler(s)
  JONATHAN                has 3 service handler(s)
The command completed successfully
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Chapter 2: Name Resolution
Name resolution is the process of taking a net service name, which is a name you use when you connect to a database, and translating it to a specific database service, or database instance, on a specific host. One of the nice things about Net8 is that it provides location transparency to your applications by allowing you to connect to a database using a net service name. Net8 takes that net service name and puts it through a name resolution process in order to determine the following pieces of information:
  • The network address of the database server
  • The database service name or the instance name
  • The protocol to use for the connection
There may be other information associated with a net service name, but these items represent the primary pieces of information needed to connect to a database over a network.
Prior to release 8.1 of Net8, the term service name was used for what Oracle now calls a net service name. The name was changed so that Oracle could use the term service name to describe a database service. A Net8 service is now identified by a net service name.
Oracle currently supports the following five name resolution methods (each has its own set of advantages and disadvantages):
Local naming (tnsnames.ora files)
Uses a file called tnsnames.ora on each client to translate net service names.
Directory naming (LDAP)
Is really another form of centralized name management, but it involves the use of an LDAP directory as a repository for name definitions.
Centralized naming (Oracle Names)
Involves the use of Oracle Names—name resolution software specifically developed by Oracle to enable centralized management of net service names.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Local Naming
If you've ever administered an Oracle database, you're probably very familiar with local naming. This is the traditional method involving tnsnames.ora and sqlnet.ora files that must be distributed to each client machine on your network that accesses an Oracle database. The tnsnames.ora file is a text file containing definitions for net service names. The sqlnet.ora file is a text file with parameter settings that control Net8's operation. The entire local naming setup is illustrated in Figure 2.1.
Figure 2.1: Local naming uses tnsnames.ora and sqlnet.ora to interpret net service names
As you can see from Figure 2.1, when you connect to a database using local naming, Oracle reads the sqlnet.ora file to determine the default domain, and then reads the tnsnames.ora file to resolve your net service name to a specific database, or database instance, on a specific server. The entries in the tnsnames.ora file look like this:
prod.hr =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = hr_server)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = prod.hr)
    )
  )
The primary advantage of local naming is that it is straightforward and simple to use. You don't have to configure Oracle Names, and you don't have to link Net8 to an external directory service. The primary disadvantage (and this can be a big one) is that local naming depends on getting the right files out to each client. If you have a large network of, say, 1000 or so PCs, each with its own tnsnames.ora file, and you need to move a database to a new server, you'll find yourself faced with the task of distributing a new tnsnames.ora file to each of those PCs.
Some sites work around the problem of distributing tnsnames.ora files by maintaining one copy on a file server and pointing all client machines to that one copy. The TNS_ADMIN environment variable provides one mechanism you can use for that purpose. See Appendix E for details.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Directory Naming
Directory naming refers to the use of an LDAP directory service to resolve net service names to their definitions. Currently, Net8 supports the following three LDAP directory products:
  • Oracle Internet Directory (OID)
  • Microsoft Active Directory (MAD)
  • Novell Directory Services (NDS)
The advantage of using LDAP is that you no longer need to maintain synchronized copies of tnsnames.ora files across your client base. You can centrally create and change net service name definitions. Figure 2.2 shows a simple OID/LDAP configuration.
Figure 2.2: Net service name resolution using Oracle Internet Directory
Directory naming is relatively new on the scene. Support for OID/LDAP began in Oracle8i release 8.1.6. Aside from the advantage of centralized management, LDAP also has the benefit of being a recognized and widely used industry standard. In the past, Oracle Names was the preferred choice if you wanted to centrally manage net service names. Going forward, OID/LDAP is the clear choice.
To support sites that are currently using Oracle Names, or that are running older releases of the Net8 client software that do not support LDAP, Oracle has developed the Oracle Names LDAP Proxy. This gateway looks like an Oracle Names server as far as clients are concerned, but it really gets its information from an LDAP repository. It allows you to implement LDAP as a name resolution method without having to immediately transfer all your clients.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Centralized Naming
Centralized naming uses Oracle Names, which is a soon-to-be obsolete Net8 product developed by Oracle that allows you to centralize net service name resolution. Instead of looking up a net service name in a tnsnames.ora file on the client, Net8 can query a centrally managed Names server. The obvious advantage to using Oracle Names is that you are free to change net service name definitions without having to push tnsnames.ora files out to all your clients.
Support for Oracle Names is being quickly phased out in favor of the LDAP solution represented by OID. The terminal release of Oracle Names will be 8.2. If you are thinking of implementing Names, don't. Use OID instead. If you are currently running Names, you should be planning your switch to an LDAP-based solution.
For purposes of redundancy and scalability, you can have multiple Oracle Names servers running at one time. Net service name definitions can be automatically replicated to all Names servers. That way, if any one server goes down, clients will still be able to use the others. You may also distribute the client load over those multiple Names servers.
A large distributed environment might have multiple Names servers divided into several regions. Each region would be administered separately, but communication would still occur to ensure that any Names server could resolve any net service name. Figure 2.3 illustrates such an environment.
Figure 2.3: Responsibility may be delegated by configuring an Oracle Names environment with multiple regions
Within a region, names are replicated between Names servers. In addition, Oracle Names can be configured so that requests for names in another region are directed to a Names server in that other region. While Figure 2.3 shows regions in terms of geography, a region in Oracle Names can correspond to any arbitrary division you wish to make. For example, a chemical company might place its research arm and its manufacturing arm into separate "regions" even though they are both physically located in the same city.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Host Naming
Host naming is a TCP/IP-only solution that uses your existing IP address resolution method. To connect to a database, you simply specify the hostname of the database server. Net8 connects to that server and expects to find a database with a name matching the host—hence the term host naming. Figure 2.5 illustrates the process.
Figure 2.5: When host naming is used, Net8 expects to find a database with the same name as the server
The following rules apply to hostname resolution:
  • Host naming may only be used in TCP/IP environments.
  • Host naming requires the Domain Name Service (DNS) or some other TCP/IP name resolution mechanism—possibly a hosts file—to be in place to translate hostnames to network addresses.
  • The database name must match the name of the server hosting the database.
The last point (the database name and the server name have to match) is the most important. It is the fully qualified database name, which includes the domain, that must match the server name. Thus, if you are connecting to a server named jeff.gennick.org, your database parameter file must contain the following entries:
db_name = jeff
db_domain = gennick.org
Since the database and server names must match, it appears at first glance that you can have only one database per server. That's not entirely true. You can have multiple databases per server, but you have to define multiple names for the server in order to make that work. Figure 2.6 shows a hostnames configuration supporting two databases on one server.
Figure 2.6: Defining multiple hostnames allows you to have multiple databases on one server
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
External Name Resolution
External name resolution is another approach to centralized control over name resolution. Instead of using Oracle Names, you can use any of the following directory services:
  • Network Information Service (NIS)
  • Novell Directory Service (NDS)
  • Cell Directory Services (CDS)
Net8 communicates with the supported external naming services through the use of Oracle-supplied interface software. For example, Figure 2.7 shows how Net8 uses NIS external naming, supplied by Oracle, to make remote procedure calls (RPC calls) to NIS.
Figure 2.7: NIS is one of the external naming services supported by Oracle
If you already have one of the supported external naming services in place, you can leverage it to centrally manage Oracle net service names. This gives you the advantage of central administration without the additional overhead of configuring and managing Oracle Names.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Choosing the Method to Use
Choosing which naming method to use depends on your environment and on your priorities. Each naming method carries with it a certain set of advantages and disadvantages, summarized in Table 2.1.
Table 2.1: Comparison of Net8 Naming Methods
Naming Method
Advantages
Disadvantages
Local naming
Simple to understand and implement; no need to configure and support a Names server; can take full advantage of Net8 features.
No central control; changes need to be propagated to each client machine.
Directory naming
Central control; very little client configuration needed.
Resources are needed to configure and manage directory servers.
Centralized naming (Oracle Names)
Central control; little to no client configuration necessary.
Resources are needed to configure and manage Names servers.
Host naming
Simple to set up; no client configuration needed.
Only works under TCP/IP; no access to advanced Net8 features.
External naming
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Chapter 3: Client Configuration
Before you can use Net8, you must install it. This chapter describes the fundamentals of installing and configuring the Net8 client software. Most often, you install the client software on a PC, but servers are often used as clients. Thus, if you're using replication, for example, you will need to configure Net8 client software on your server so that it can connect as a client to a remote server in order to replicate your data.
The process of installing and configuring Net8 client software is usually very simple. You generally follow the steps shown in Figure 3.1.
Figure 3.1: The process for installing and configuring Net8
Things only begin to get complex if you are using one of Net8's more esoteric features, such as client load balancing, or if something about your configuration prevents Net8 from working properly. If you find yourself in a troubleshooting situation, Chapter 10, and Chapter 11, can help you set things right again.
The easiest way to set up a client to use Oracle over Net8 is to insert the Oracle software CD-ROM, run Oracle's Universal Installer, select Oracle8i Client as the product to install, and accept the option of doing a Typical Install. You'll get the Net8 client software along with other client products such as the ODBC drivers, SQL*Plus, and the database utilities (Export, Import, and SQL*Loader).
To install just Net8, without all the other client software, you need to do a Custom Install . Select only the Net8 Client option, as shown in Figure 3.2.
Figure 3.2: Installing the Net8 client software
Before you actually install Net8 on a client, you need to make sure that you have properly configured your client for the network protocols that you plan to use.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
The Overall Process
The process of installing and configuring Net8 client software is usually very simple. You generally follow the steps shown in Figure 3.1.
Figure 3.1: The process for installing and configuring Net8
Things only begin to get complex if you are using one of Net8's more esoteric features, such as client load balancing, or if something about your configuration prevents Net8 from working properly. If you find yourself in a troubleshooting situation, Chapter 10, and Chapter 11, can help you set things right again.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Installing the Net8 Client Software
The easiest way to set up a client to use Oracle over Net8 is to insert the Oracle software CD-ROM, run Oracle's Universal Installer, select Oracle8i Client as the product to install, and accept the option of doing a Typical Install. You'll get the Net8 client software along with other client products such as the ODBC drivers, SQL*Plus, and the database utilities (Export, Import, and SQL*Loader).
To install just Net8, without all the other client software, you need to do a Custom Install . Select only the Net8 Client option, as shown in Figure 3.2.
Figure 3.2: Installing the Net8 client software
Before you actually install Net8 on a client, you need to make sure that you have properly configured your client for the network protocols that you plan to use.
When you install Net8 client software, Oracle's installer checks your machine to determine which networking protocols you are using. If your client is running Windows, the installer checks for the following:
  • TCP/IP
  • SPX
  • Named Pipes
After the installer detects the protocols that are present, the screen shown in Figure 3.3 appears, prompting you to select and confirm the protocols that you want Net8 to support.
Figure 3.3: Choosing the protocols to support with Net8
The screen shown in Figure 3.3 indicates that adaptors will be installed allowing you to run Net8 over TCP/IP and Named Pipes which are the two protocols that Oracle detected. You can shift-click other protocols to add them to the list, or you can shift-click a highlighted protocol in order to deselect it.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Configuring Your Profile
After installing the Net8 software, your next task is to configure the Net8 profile. That's a fancy way of saying that you need to edit your sqlnet.ora file. The sqlnet.ora file is found in the $ORACLE_HOME /network /admin directory (net80/admin for Oracle8) and contains settings that control Net8's operation.
Appendix A, describes all the possible settings that you can make in this file. In this chapter, we discuss only those that you are most likely to need. These include:
  • The list of naming methods to use, and the order in which to try them
  • Your default Net8 domain
  • The directory and filename to use for Net8 trace files
  • The directory and filename to use for Net8 log files
The sqlnet.ora file is a text file. You can choose to edit it using a text editor and manually enter the parameter settings that you need, or you can use Oracle's Net8 Assistant to set the parameters using a GUI interface.
Recall from Chapter 2, that the naming method determines the manner in which Net8 resolves a net service name to a specific database on a specific server. You have a choice between the five methods shown in Table 3.1.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Defining Net Service Names
If you're using local naming, the next step after configuring your Net8 Profile is to define some net service names. When local naming is used, net service names are defined in a text file named tnsnames.ora . If you are using Oracle Names, host naming, or an external naming service, skip this section. None of those name resolution methods make use of the tnsnames.ora file.
You'll find the tnsnames.ora file in the same directory as your sqlnet.ora file. This is usually your $ORACLE_HOME/network /admin directory. On some Unix systems, a different directory may be used. In addition, the TNS_ADMIN environment variable (or registry setting) can be used to override the default location of Net8 configuration files.
If you are running multiple releases of Oracle client software on one machine, you can use the TNS_ADMIN environment variable to point all those releases to one set of Net8 configuration files. See Appendix E, for details on doing this.
You can edit the tnsnames.ora file by hand using a text editor, or you can use one of Oracle's "assistants" to do the job for you. The syntax for a tnsnames.ora entry consists of a net service name followed by a description of how to connect to that service. The description is enclosed in parentheses, and elements in the description are also enclosed in parentheses. Some elements are lists that are further enclosed in parentheses. You can have nested lists, also enclosed in parentheses. There are enough parentheses in the syntax to drive most people straight to their optometrist.
Here's a typical net service name definition. This is for a service that connects you to an Oracle database over a TCP/IP connection:
HERMAN.GENNICK.ORG =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)
                 (HOST = jonathan.gennick.org)
                 (PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = herman.gennick.org)
    )
  )
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Using LDAP
LDAP is the directory protocol that Net8 uses when you choose to use the directory naming method for name resolution. To configure LDAP on a client, you need to create an ldap.ora file that contains at least the following information:
  • The host and port numbers for the LDAP directory server
  • A default admin context
  • The type, or brand, of LDAP server that you are using
The ldap.ora file goes in the same directory as sqlnet.ora , tnsnames.ora , and your other Net8 configuration files. Chapter 6 talks in detail about the use of Oracle's directory product—Oracle Internet Directory—for net service name resolution.
From a client perspective, if you are using LDAP, the most important thing is to identify the specific LDAP server that you are using. There are two parts to this. You must identify the brand, and you must specify the network address of the actual server.
To specify the brand of LDAP server that you are using, place a DIRECTORY_SERVER_TYPE entry into your ldap.ora file. The following entry specifies that the LDAP server is an instance of the Oracle Internet Directory:
DIRECTORY_SERVER_TYPE = OID
There are other type codes besides OID. Table 3.4 gives a complete list.
Table 3.4: Directory Server Type Codes
Code
Directory Server Product
OID
Oracle Internet Directory
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Using Oracle Names
Oracle Names is Oracle's older software that implements a centralized naming service. Instead of defining net service names in tnsnames.ora files that reside on each client, you can define them once to a centralized name server. See Chapter 2 and Chapter 7 for more details.
To configure Oracle Names on a client, you need to perform the following tasks:
  • Choose Oracle Names as a naming method
  • Tell your client which Names servers to use
  • Configure other Oracle Names related settings
You've already seen how to choose which naming methods to use earlier in this chapter in Section 3.3. If you choose to use Oracle Names, your client must know which Names servers to use.
In order for a client to use Oracle Names, it has to know about the Oracle Names servers that are out on the network. You can define these Names servers manually, or you can automatically discover them using either the Names Control utility or the Net8 Assistant. Automatic discovery is the easiest approach, but it only works if you have configured your Names servers using the following well-known Oracle Names server addresses:
(PROTOCOL=TCP)(HOST=oranamesrvr0)(PORT=1575)
(PROTOCOL=TCP)(HOST=oranamesrvr1)(PORT=1575)
(PROTOCOL=TCP)(HOST=oranamesrvr2)(PORT=1575)
(PROTOCOL=TCP)(HOST=oranamesrvr3)(PORT=1575)
(PROTOCOL=TCP)(HOST=oranamesrvr4)(PORT=1575)
(PROTOCOL=TCP)(HOST=oranamesrvr5)(PORT=1575)
In addition, the discovery process only finds Names servers that are in your particular domain. If your default domain is gennick.org, then you will only find Names servers in the gennick.org domain. If you prefer, you can define names manually using the NAMES.PREFERRED_SERVERS initialization parameter.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Using External Naming Methods
Net8 supports two commonly used external naming methods: NDS and NIS. NDS is an acronym for Novell Directory Services and is a naming method often used in Novell NetWare environments. NIS is an acronym for Network Information Service, a naming method sometimes used in Unix environments.
You must be running SQL*Net 2.2 or higher, which includes all releases of Net8, in order to use either NDS or NIS.
To configure a client to use NDS naming, you need to do two things. First, you need to add NDS to the list of naming methods that you want to use. Second, you may want to configure a default name context.
To add NDS to your list of naming methods, you must modify the NAMES.DIRECTORY_PATH parameter in your sqlnet.ora file. Use the keyword NOVELL to request that NDS naming be used. For example:
NAMES.DIRECTORY_PATH = (NOVELL)
Your next task is to specify a default naming context. A default naming context in the Novell world is similar to the default domain in the Net8 world. You can specify the default naming context using either a typeless or typed name. For example:
NATIVE_NAMES.NDS.NAME_CONTEXT=marketing.oracle
NATIVE_NAMES.NDS.NAME_CONTEXT=OU=marketing.o=oracle
The first example is of a typeless name, while the second shows a typed name.
Client configuration for NIS naming is simple to the extreme. Simply add NIS to your list of naming methods. For example:
NAMES.DIRECTORY_PATH = (NIS)
or:
NAMES.DIRECTORY_PATH = (TNSNAMES,NIS)
No other configuration steps are necessary on the client. You do, however, need to define your net service names in the NIS server.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Testing Client Connectivity
Once you've configured a client, there are several ways to test connectivity. Net8 Assistant and Net8 Easy Config each provide you with the option of testing net service names as you define them. Here are some other options at your disposal:
  • Use your operating system's ping utility to test basic TCP/IP connectivity between a client and a server.
  • Use Oracle's tnsping utility to test connectivity to a Net8 listener.
  • Use the Oracle Names Control ping command to test connectivity to a specific names server.
  • Use SQL*Plus to verify that you can actually connect and log in to a database.
Chapter 10 describes each of these techniques in detail.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Chapter 4: Basic Server Configuration
Net8 configuration on a database server is more complex than on a client. Not only do most of the tasks from client configuration carry over to server configuration, but you also have the additional complexity of configuring a Net8 listener. The Net8 listener is the software that allows Net8 clients to establish connections with the database instances running on a server.
This chapter will show you the basic tasks involved in configuring Net8 on a server. It describes the software that you need to install, and it shows you how to configure one or more Net8 listeners. It also describes dead connection detection and the use of prespawned dedicated server processes. Information on the use of multi-threaded server, and on advanced topics such as the configuration of Oracle Names and Connection Manager, are relegated to their own chapters later in this book.
If you're just trying to get a basic Net8 configuration up and running on your server so that clients can connect to your database, the process is fairly simple. Just follow these steps:
  1. Install the Net8 software. This happens automatically when you do a default install of Oracle.
  2. Create at least one database in order to have something to which clients can connect.
  3. Configure your Net8 profile.
  4. Define net service names.
  5. Configure a Net8 listener using Net8 Assistant or by editing the listener.ora configuration file.
  6. Optionally configure other Net8 features such as dead connection detection and prespawned dedicated server processes.
  7. Start the Net8 listener using either Net8 Assistant or the Listener Control utility.
  8. Test the Net8 connectivity between clients and your new server.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
The Overall Process
If you're just trying to get a basic Net8 configuration up and running on your server so that clients can connect to your database, the process is fairly simple. Just follow these steps:
  1. Install the Net8 software. This happens automatically when you do a default install of Oracle.
  2. Create at least one database in order to have something to which clients can connect.
  3. Configure your Net8 profile.
  4. Define net service names.
  5. Configure a Net8 listener using Net8 Assistant or by editing the listener.ora configuration file.
  6. Optionally configure other Net8 features such as dead connection detection and prespawned dedicated server processes.
  7. Start the Net8 listener using either Net8 Assistant or the Listener Control utility.
  8. Test the Net8 connectivity between clients and your new server.
If you're reading this chapter, chances are you've either already installed the Oracle software or are about to do so. If you're getting ready to install Oracle on a new server, you'll want to read the next section, which talks about the software that you need to include in order to use Net8.
The entire subject of database creation is well outside the scope of this chapter, and it's not absolutely necessary to have a database when configuring Net8. But having a database is convenient, because connecting to a database is really the only sure way to verify that your entire Net8 configuration is correct. If you perform a default install of Oracle, you have the option to create a starter database as part of that process. If you didn't take the starter database option, you'll eventually need to create a database yourself. You can do that using Oracle's Database Creation Assistant, or you can create one manually. For the purposes of this chapter, we're going to assume that you already have a database up and running.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Software to Install
You have five Net8 components to choose from when you install the Oracle software on a server. Figure 4.1 shows the installer screen with these components highlighted, and the following list describes each of them:
Net8 Client
Allows one computer to connect over the network as a client to a remote Oracle database
Net8 Server
Allows a server to accept Net8 connections from clients
Oracle Names
Allows a node to function as a Names server for the purpose of resolving net service names to specific database instances running on specific servers
Oracle Connection Manager
Implements connection concentration (multiplexing), network access control, and protocol translation
Oracle SNMP Agent
Allows an Oracle database to be monitored and managed by network management tools using the Simple Network Management Protocol (SNMP)
Figure 4.1: The Net8 component list that you see when doing a custom install
A default server install of the Oracle software will include the Net8 Client and Net8 Server components. The other components must be manually selected. This chapter focuses primarily on the Net8 Server component. For information on installing and configuring the other components, see Chapter 7, Chapter 9, and Chapter 3.
Additional content appearing in this section has been removed.
Purchase this book now or read it online at Safari to get the whole thing!
Configuring a Listener
Content preview·Buy PDF of this chapter|