Oracle® Database Net Services Administrator's Guide 10g Release 2 (10.2) Part Number B14212-02 |
|
|
PDF · Mobi · ePub |
Once you have completed configuring the network, you should make a connection and test each component to ensure that the network is functioning properly. Oracle Net Services provide a variety of tools to help you start, test, and control the listener and Oracle Connection Manager.
This chapter outlines procedures to make a connection and test network components. This chapter contains these topics:
Connecting to a database involves starting network components and entering a connect string with a net service name, such as the following:
CONNECT username/password@connect_identifier
This section contains these topics:
Client workstations and other servers connect to a listener with a net service name when logging onto an Oracle database server.
After installing and configuring all the network components, you need to start them to make the network functional. Following is an outline of the tasks you should perform to start the network components.
Task 3: Start Oracle Connection Manager
For Oracle Net to accept connections on the database server, start the listener with the Listener Control utility on the server:
Determine the status of the listener. From the command line, enter:
lsnrctl LSNRCTL> STATUS [listener_name]
where listener_name
is the name of the listener defined in the listener.ora
file. It is not necessary to identify the listener if you are using the default listener, named LISTENER
.
If the STATUS
command indicates that the listener is running, go to Step 2. If the listener is not running, go to Step 3.
Even if the listener is running, stop the listener, and start it again before proceeding to Step 2. To stop the listener, enter:
LSNRCTL> SET PASSWORD password LSNRCTL> STOP [listener_name]
SET PASSWORD
is only required if the password is set in the listener.ora
file. The password defaults to ORACLE
.
Start the listener. Enter:
LSNRCTL> START [listener_name]
The Listener Control utility will display a status message indicating that the listener has started successfully. Check that all expected services for that listener are listed in the services summary in the status message.
Exit from the Listener Control utility. Enter:
LSNRCTL> EXIT
On Windows, the listener can also be started through the Control Panel:
Select the Services icon in the Control Panel window.
Select the Oracle
HOME_NAME
TNSListener
service—the service name if you are using the default listener name LISTENER
—or Oracle
HOME_NAME
TNSListener
lsnr
, where lsnr
is the nondefault listener name.
Click Start to start the service.
In the Services window, click Close.
Use the tool of choice, such as SQL*Plus, to start the database:
Start SQL*Plus without connecting to the database:
sqlplus /nolog
Connect to Oracle as SYSDBA:
SQL> CONNECT username/password as sysdba
When you enter a STARTUP
command, specify the database name and full path of the parameter file:
SQL> STARTUP database_name pfile=file
If you do not specify the PFILE
option, the Oracle database uses the standard initialization parameter file located in the $ORACLE_BASE/admin/
db_name
/pfile/
sid
directory on UNIX platforms, and ORACLE_BASE
\admin\
db_name
\pfile\
sid
directory on Windows. If you do not specify a database name, then the database uses the value of the DB_NAME
parameter specified in the initialization parameter file.
See Also:
Oracle Database Administrator's Guide for further information about starting the databaseIf Oracle Connection Manager is installed and configured, start it with the Oracle Connection Manager Control utility (CMCTL), entering commands in the following order:
From the command line, enter:
CMCTL CMCTL> ADMINISTER [instance_name]
instance_name
is the name of the Oracle Connection Manager that you would like to administer. You can determine the name by viewing cman.ora
, the Oracle Connection Manager configuration file. The file can be found at the following location on the Oracle Connection Manager computer:
UNIX:
$ORACLE_HOME/network/admin
Windows:
ORACLE_HOME\network\admin
Oracle Connection Manager displays a status message indicating the name of the instance and informing you that the instance has not yet been started.
Note:
If you do not provide an instance name as an argument, the Oracle Connection Manager with a fully qualified host name is administered. This is the default. After you issue the ADMINISTER command, CMCTL displays the instance name this way:CMAN_fully_qualified_host_name
Start the Oracle Connection Manager that you have chosen to administer:
CMCTL> STARTUP
Oracle Connection Manager indicates that the instance has been started. In addition, it provides a status report for the instance.
Exit from the Oracle Connection Manager Control utility. Enter:
CMCTL> EXIT
On Windows, Oracle Connection Manager can also be started through the Control Panel:
Select the Services icon in the Control Panel window.
Select the Oracle
HOME_NAME
CMan
service to start Oracle Connection Manager, and then click Start.
In the Services window, click Close.
After the network components are started, as described in "Connecting to a Database", you should be able to make a connection across the network. How you make a connection depends upon the naming method you configured in Chapter 8, "Configuring Naming Methods", and the tool used for the connection.
The connect string takes the following basic form:
CONNECT username/password@connect_identifier
On most operating systems, you can define a default connect identifier. This way, a connect identifier does not need to be specified in the connect string. To define a default connect identifier, use the TWO_TASK
environment variable on UNIX platforms or the LOCAL
environment variable or registry entry on Windows.
For example, if the TWO_TASK
environment variable is set to sales
, you can connect to a database from SQL*Plus with CONNECT
username
/
password
rather than CONNECT username/password@sales
. Oracle Net checks if TWO_TASK
is set and uses the value sales
as the connect identifier. If it exists, Oracle Net connects.
See Also:
Oracle operating system-specific documentation for instructions on settingTWO_TASK
and LOCAL
Further information about connect string format is provided in the following topics:
Connect identifiers used in a connect string cannot contain spaces, unless enclosed within single quotes (') or double quotes ("). In the following examples, a connect identifier and a connect descriptor that contain spaces are enclosed within single quotes:
CONNECT scott/tiger@'(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server) (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales.us.acme.com)))' CONNECT scott/tiger@'cn=sales, cn=OracleContext, dc=us, dc=acme, dc=com'
Single quotes (') are required if a double quote (") is used in a connect identifier. For example:
CONNECT scott/tiger@'sales@Good"Fast"Food.com'
Likewise, double quotes (") are required if a single quote (') is used in a connect identifier. For example:
CONNECT scott/tiger@"cn=sales, cn=OracleContext, ou=Mary's Dept, o=acme"
Note:
JDBC OCI Drivers support absolute naming. JDBC Thin Drivers support absolute naming only when the complete DN is used. See the Oracle Database JDBC Developer's Guide and Reference for further information.This section describes how to configure absolute names for the following namespaces:
Absolute Names for X.500 Namespaces For X.500 namespaces, the default directory entry defined for the client must be in one of the following formats:
[ou],o
[ou],o,c
where [ou]
represents an optional organizationalUnitName.
The absolute name the client uses as the connect identifier must be in one of the following formats:
cn[.ou].o
cn[.ou].o.c
where [cn]
represents the Oracle Net entry.
For example, consider a client that has been configured with a default Oracle Context of cn=OracleContext,ou=acctg,o=acme,c=us
.
The directory contains database object sales
with a DN of cn=sales,cn=OracleContext,ou=mktg,o=acme,c=jp
. In this scenario, the client requires a connect identifier of sales.mktg.acme.jp
(cn.ou.o.c
). Figure 15-1 depicts this example.
Figure 15-1 Absolute Name for X.500 Namespaces
Absolute Names for Domain Component Namespaces For domain component namespaces, the default directory entry defined for the client must be in one of the following formats:
dc[,dc][...]
ou,dc[,dc][...]
where [dc]
represents an optional domain component and [...]
represents additional domain component entries.
The absolute name the client must use in the connect identifier must be in one of the following formats:
cn.dc[.dc][...]
cn[.ou]@dc[.dc][...]
where [cn]
represents the Oracle Net entry.
Consider a client that has been configured with a default Oracle Context of cn=OracleContext,dc=us,dc=acme,dc=com
.
The directory server contains an entry for database object sales
with a DN of cn=sales,cn=OracleContext,dc=jp,dc=acme,dc=com
. In this scenario, the client requires a connect identifier of sales.jp.acme.com
(cn.dc.dc.dc
). Figure 15-2 depicts this example.
Consider the same default directory entry as Example 1. The directory server contains database object sales
with a DN of cn=sales,cn=OracleContext,ou=mktg,dc=jp,dc=acme,dc=com
. Notice ou=mktg
. Because domain components must be separated from organization units, the client requires a connect identifier of sales.mktg@jp.acme.com
(cn.ou@dc.dc.dc
). Figure 15-2 depicts this example.
Figure 15-2 Absolute Name for Domain Component Namespaces
There are a number of ways to initiate a connection to an Oracle server. Commonly used methods are described in these topics:
The specifics of use are slightly different in each case. Each of the general methods listed is briefly covered here. To identify the method used in a specific tool, refer to the user guide for the tool.
The general form of connecting an application to a database server from the command line is:
tool username/password@connect_identifier
For example:
SQLPLUS system/password@sales
To prevent the password from displaying during a logon, you can leave out the password parameter on the command line. For example:
SQLPLUS system@sales
You will be prompted to enter your password without it showing on screen.
Most Oracle tools can use the operating system command line to connect; some provide alternatives.
Some tools provide a logon screen as an alternative form of logon. A user can log on to a database server by identifying both the username and connect identifier (username
@
connect_identifier
) in the username field of the tool logon screen, and entering the password as usual in the password field.
In applications written using 3GL, the program must establish a connection to a server using the following syntax:
exec sql connect :username identified by :password
In this connection request, :
username
and :
password
are 3GL variables that can be set within the program either statically or by prompting the user. When connecting to a database server, the value of the :
username
variable is in the form:
username@net_service_name
The :
password
variable contains the password for the database account to which you are connecting.
Some Oracle tools have commands for database connections, once the tool has been started, to allow an alternative username to be specified without leaving the tool. SQL*Plus allows the CONNECT
command using the following syntax:
SQL> CONNECT username/password@net_service_name
For example:
SQL> CONNECT scott/tiger@serverx
This is very similar to the operating system command line method, except that it is entered in response to the tool prompt instead of the operating system prompt.
Other Oracle tools use slightly different methods specific to their function or interface. For example, Oracle CDE tools use logon buttons and a pop-up window with the username, password, and remote database ID field.
The preferred sequence for testing the network is as follows:
Start and test each listener.
Start and test each Oracle Connection Manager (if included in your network layout).
Test the server with a loopback test.
Test client with a connection.
This section contains these topics:
To test a listener, initiate a connection from a client to any active database controlled by that listener, as described in "Testing Configuration on the Database Server".
To test Oracle Connection Manager, initiate a connection from a client to any active database that has been registered with Oracle Connection Manager.
Once you have configured the network, test the configuration by performing a loopback test on the database server.
A loopback test uses Oracle Net to go from the database server back to itself, bypassing the Interprocess Communication (IPC). Performing a successful loopback verifies that Oracle Net is functioning on the database server.
To perform the loopback test, use Oracle Enterprise Manager or Net8 Assistant.
Start Oracle Net Manager.
See Also:
"Oracle Net Manager"In the navigator, expand Directory or Local > Service Naming.
Select the net service name or database service.
Choose Command > Test Net Service.
Testing assumes the database and listener are running. If they are not, see "Starting Oracle Net Services Components" to start components.
During testing, a Connection Test dialog box appears, providing status and test results. A successful test results in the following message:
The connection test was successful.
If the test was successful, proceed to Step 5.
If the test was not successful:
Ensure that the database and listener are running, and then click Test.
Click Change Login to change the username and password for the connection, and then click Test.
Click Close to dismiss the Connect Test dialog box.
To test several different clients in your network, initiate a connection to a database server from each of them by following the instructions in "Entering a Connect String".
Oracle Net also provides the following tools to help evaluate network connectivity:
The TNSPING utility determines whether or not a service (for example, an Oracle database or any other Oracle service) on an Oracle Net network can be successfully reached.
If you can connect successfully from a client to a server (or a server to another server) using the TNSPING utility, it displays an estimate of the round trip time (in milliseconds) it takes to reach the Oracle Net service.
If it fails, it displays a message describing the error that occurred. This enables you to see the network error that is occurring without the overhead of a database connection.
To invoke the TNSPING utility, enter the following:
tnsping net_service_name count
Note:
Different platforms may have different interfaces, but the program accepts the same arguments. Invoke TNSPING for the display of the proper interface requirements.net_service_name
: must exist in tnsnames.ora
file or the name service in use, such as NIS or DCE's CDS.
count
(optional): determines how many times the program attempts to reach the server.
If the net service name specified is a database name, TNSPING attempts to contact the corresponding listener. It does not actually determine whether or not the database itself is running. Use SQL*Plus to attempt a connection to the database.
Following are some examples of TNSPING.
To connect to a database using a net service name of sales
, the following is entered:
TNSPING sales
This produces the following message:
TNS Ping Utility for Solaris: Version 10.1.0.2.0 on 15-NOV-2003 14:46:28 Copyright (c) 1997 Oracle Corporation. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = sales-server)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = sales.us.acme.com))) OK (10 msec)
To determine whether a connection can be made to the sales
database, and to specify that TNSPING try to connect eight times and then give up, use the following syntax:
tnsping sales 8
This command produces the following message:
TNS Ping Utility for Solaris: Version 10.1.0.2.0 on 15-NOV-2003 14:49:26 Copyright (c) 1997 Oracle Corporation. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = sales-server)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = sales.us.acme.com))) OK (10 msec) OK (0 msec) OK (10 msec) OK (0 msec) OK (10 msec) OK (10 msec) OK (10 msec) OK (0 msec)
Below is an example of TNSPING attempting to connect to an invalid net service name:
tnsping badname
This attempt produces the following message:
TNS Ping Utility for Solaris: Version 10.1.0.2.0 on 15-NOV-2003 14:51:12 Copyright (c) 1997 Oracle Corporation. All rights reserved. Used parameter files: TNS-03505: Failed to resolve name
Following is an example of using TNSPING to connect to a name that is valid, but that resolves to an address where no listener is located (for example, the listener may not be started):
TNS Ping Utility for Solaris: Version 10.1.0.2.0 on 15-NOV-2003 14:46:28 Copyright (c) 1997 Oracle Corporation. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = sales-server)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = sales.us.acme.com))) TNS-12541: TNS:no listener
The Trace Route Utility (TRCROUTE) enables administrators to discover the path or route a connection is taking from a client to a server. If TRCROUTE encounters a problem, it returns an error stack to the client instead of a single error. These additional error messages make troubleshooting easier.
TRCROUTE is different from TNSPING in that it travels as a special type of connect packet, and is routed as such. As it travels toward its destination, the TRCROUTE connect packet collects the TNS addresses of every node it travels through. If an error occurs, TRCROUTE collects error information that shows where the error occurred. The TRCROUTE displays the information collected on the client screen. You can redirect the TRCROUTE output to a file, and print it if you wish.
The TRCROUTE uses minimal resources. It gathers information in the connect data of a special connect packet; standard connect packets are not affected.
The server is not affected by TRCROUTE. The listener receives and processes the TRCROUTE connect packet. It returns the information to the client by putting it into a refuse packet. The server does not need to start up any new processes or deal with dummy connections.
To invoke TRCROUTE, enter the following from the command line:
trcroute net_service_name
The following are two examples of trace route output.
The following example shows a successful Trace Route packet that traveled from a client to a listener.
trcroute sales Trace Route Utility for Solaris: Version 10.1.0.2.0 on 15-NOV-2003 14:35:05 Copyright (c) 1999 Oracle Corporation. All rights reserved. Route of TrcRoute: ------------------ Node: Client Time and address of entry into node: ------------------------------------------------------------- 25-JAN-2002 14:35:05 ADDRESS= PROTOCOL=TCP HOST=sales-server PORT=1521 Node: Server Time and address of entry into node: ------------------------------------------------------------- 25-JAN-2002 14:35:06
The following examples shows an unsuccessful Trace Route packet that could not reach the listener because the listener was not up.
trcroute sales Trace Route Utility for Solaris: Version 10.1.0.2.0 on 15-NOV-2003 14:43:05 Copyright (c) 1999 Oracle Corporation. All rights reserved. Route of TrcRoute: ------------------ Node: Client Time and address of entry into node: ------------------------------------------------------------- 25-FEB-2002 14:43:05 ADDRESS= PROTOCOL=TCP HOST=sales-server PORT=1521 TNS-12543: TNS:unable to connect to destination TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-03601: Failed in route information collection
To verify connectivity for a client computer, use Net8 Assistant:
Start Oracle Net Manager.
See Also:
"Oracle Net Manager"In the navigator, expand Directory or Local > Service Naming.
Select the net service name or database service.
Choose Command > Test Net Service.
Testing assumes that the database and listener are running. If they are not, see "Starting Oracle Net Services Components" to start components.
During testing, a Connection Test dialog box appears, providing status and test results. A successful test results in the following message:
The connection test was successful.
If the test was successful, proceed to Step 5.
If the test was not successful:
Ensure that the database and listener are running, and then click Test.
Click Change Login to change the username and password for the connection, and then click Test.