Oracle Network Products Getting Started for Windows Platforms Go to Product Documentation Library
Library
Go to books for this product
Product
Go to Contents for this book
Contents
Go to Index
Index



Go to previous file in sequence Go to next file in sequence

Troubleshooting



Resolving Common Error Messages and Codes

The most common error messages are detailed below:

ORA-12154: Could not resolve service name

Cause: SQL*Net could not find the connect descriptor specified in the TNSNAMES.ORA file.

Action: After verifying that the database is turned on, check the following:

    1. If connecting from a login box, do not begin the field for the connect string with an @ sign. Only use the @ sign if specifying the connect string in command line mode:

      SQLPLUS SCOTT/TIGER@service_name
    2. Make sure you have a TNSNAMES.ORA on the client.

    3. Check for multiple copies of the TNSNAMES.ORA file.

      By default, TNSNAMES.ORA is located in ORACLE_HOME\NETWORK\ADMIN.

    4. Verify the configuration files were created with either SQL*Net Easy Configuration or Oracle Network Manager.

    5. If these tools were not used, many syntax errors may exist. The solution is to re-create the configuration files using SQL*Net Easy Configuration or Network Manager.

    6. In the TNSNAMES.ORA file, verify:

    7. If you are not using the MultiProtocol Interchange (MPI), remove the TNSNAV.ORA file created by Oracle Network Manager.

    8. Make sure that there are no duplicate copies of SQLNET.ORA.

    9. Turn on client tracing and re-execute the operation.

      The client trace file shows a secondary error code. To turn on client tracing, add to (or increase) the variable TRACE_LEVEL_CLIENT in the ORACLE_HOME\NETWORK\ADMIN\SQLNET.ORA file.

    10. If you are using domain names, check your SQLNET.ORA file for the parameter NAME.DEFAULT_ZONE.

      The domain name must be specified in the connect string if no parameter exists in the SQLNET.ORA file. If you are not using domain names, then comment out this parameter in the SQLNET.ORA file:

      #NAME.DEFAULT_ZONE=domain     
      If you comment out this parameter, you must also comment out the NAMES.DEFAULT_DOMAIN parameter:

      #NAMES.DEFAULT_DOMAIN=domain
    11. For Windows, the ORA-12154 error can result from:

ORA-12203:TNS:unable to connect to destination on Windows

This message can appear of the following scenarios:

Cause: An invalid TNS service name was supplied in the connect string.

Action: Verify that the TNS service name supplied in your connect string exists in your TNSNAMES.ORA file and the ADDRESS information for that TNS service name is valid:

Cause: The destination system's listener is not listening.

Action: Verify that the remote system's SQL*Net listener is running. Enter:

Cause: There are underlying network transport problems.

Action: Verify with utilities supplied with the networking protocol being used that the protocol itself is functional. For example, with TCP/IP, try to PING the remote system.

Cause: TNSNAMES.ORA file is not located in the ORACLE_HOME\NETWORK\ADMIN directory.

Action: Make sure the Windows workstation has its TNSNAMES.ORA file located in ORACLE_HOME\NETWORK\ADMIN.

Cause: The incorrect Oracle Protocol Adapter for the selected networking protocol is installed.

Action: Ensure the correct DLL is installed by viewing the RGS file in the ORACLE_HOME\ORAINST directory:
File Operating System
WINDOWS.RGS Windows 3.1x
WIN95.RGS Windows 95
NT.RGS Windows NT

Cause: The (HOST=host_name) for TCP/IP and (SERVICE=tns_application) for SPX are not consistent on the clients and server workstations.

Action: Ensure the (HOST=host_name) for TCP/IP and (SERVICE=tns_application) for SPX are the same on the server and client workstations.

Cause: The alias descriptor in the TNSNAMES.ORA file for the LU6.2 Protocol Adapter does not have the value for PLU_LA in upper case. This is irrespective of the case used in the SIDEINFO.NSD file for the symbolic destination name. For example:

Action: Change the value to uppercase. For example:

ORA-12203: TNS: unable to connect to destination and
ORA-12154: TNS: could not resolve service name Using 16-bit Applications on Windows NT

Cause: SQL*Net could not find the connect descriptor specified in the TNSNAMES.ORA file.

Action: After verifying that the database is running, check the following:

    1. Verify the SQL*Net listener is running. Enter:

      LSNRCTL
      LSNRCTL>STATUS [listener_name]
      where listener 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 output indicates the listener is not running, try starting it with the command:

      LSNRCTL>START [listener_name]
    2. Ensure the TNSNAMES.ORA file is in the correct location.

      By default, TNSNAMES.ORA is located in ORACLE_HOME\NETWORK\ADMIN.

    3. Verify that configuration files were created with either SQL*Net Easy Configuration or Oracle Network Manager.

      If they these tools were not used, many syntax errors may exist. The solution is to re-create the configuration files using SQL*Net Easy Configuration or Network Manager.

    4. Verify you are not using 16-bit SQL*Net SPX on Windows NT, as it is not supported by ensuring the NTS.DLL file does not exist.

    5. If connecting from a login box, make sure you are not placing an @ symbol in front of your connect service name. For example, if your valid service name is ORCL, it actually looks for @ORCL in your TNSNAMES.ORA file.

ORA-3121: No interface driver connection - function not performed on Windows NT

Cause: This is caused from using a SQL*Net version 1 prefix in the connect string.

Action: Do not use the following prefixes in the connect string.

Diagnosing SQL*Net

If you just completed installing and configuring your SQL*Net product and an attempt to make a basic peer-to-peer (single protocol/single community network) connection returns an Oracle error, this section may help you diagnose the cause of the problem. Any underlying fault, noticeable or not, is reported by SQL*Net with an error number or message that is not always indicative of the actual problem.

This section helps you determine which parts of SQL*Net do function properly rather than the parts that do not work. This section helps you determine if the problem is:

A problem can be identified if you slowly test each network layer.

For more information on specific error messages or technical bulletins on errors received when performing these diagnostics test, please check the following resources available to you:

Understanding Proper SQL*Net Installation

SQL*Net is Oracle Corporation's remote data access software. It enables both client-server and server-server communication (with applications residing on different machines communicating as peer applications) across any network.

The architecture of TNS is comprised of two software components that need to be installed on both the server and all client machines:

To verify proper installation:

Follow the instructions in "Verifying Oracle Network Products Setup".

Server Diagnostics
Note:
You may need assistance from the server administrator to follow the instructions in this section.

Answer the questions below:

If you are able to answer yes to any of the above questions/statements, you skip this skip and continue to "Client Diagnostics" in this appendix. If you are not sure or answered no to any of the above questions, please continue.

Diagnosing SQL*Net on the server involves:

Verifying the Database Is Running

To check that the database is up:

  1. Log into the database using SQL*Plus or Server Manager and connect with a valid username/password. For example:

    SQLPLUS SYSTEM/MANAGER

    A Connected message appears.

    If you receive the following errors, have your server administrator assist you:

Performing a Loopback Test

In order to perform a loopback test:

To perform a loopback test:

  1. Follow the instructions in "Testing the Configuration on the Client" to start the listener and perform a loopback test.

    If the loopback test continues to fail, continue to Step 3.

    If the loopback test passes, skip to Step 4.

  2. Check the Problem/Solution Database Web Site at http://support.oracle.com for more specific information on the error received or contact Oracle Worldwide Support.

  3. Continue to the next section, "Client Diagnostics," in this appendix.

Client Diagnostics

At this point, you assume or know the server's SQL*Net listener is functioning properly because you answered yes to one or more of the following statements:

To perform diagnostics on the client:

  1. Check that the underlying network layer software is installed and a supported version is approved for use with the Oracle Protocol Adapter of choice.

    On the client, Oracle has numerous supported vendors, including several versions that we have certified.
    Additional Information
    See:

    If you have newer versions of the underlying network layer, then it might still work if the vendors' API has not changed.

    For TCP/IP, sometimes vendors provide two interfaces, a proprietary one and a Winsock compliant one. Winsock is a standard that provides a common set of network calls. In theory, any vendor who supplies a Winsock compliant interface is suitable for Oracle software. In practice, the quality of the implementations varies from supplier to supplier. Therefore, make sure that the TCP/IP layer is a proper copy and not a less expensive clone, as the API can be different. Also, there are many shareware versions that are Winsock compliant that Oracle does not support, but which may work.

    If you are using a Winsock compliant vendor, verify there are no duplicate copies of the WINSOCK.DLL file are on the system.

  2. Check base connectivity for underlying network transport. You may need a networking administrator's assistance.

    SQL*Net technology is layers above the underlying network transport stack and are dependent on the underlying network for a successful connection.
    Protocol Connectivity Instructions
    TCP/IP Check that you can use file transfer or terminal emulation utilities (FTP, TELNET, and PING) from the workstation to the server where the Oracle listener and database reside.
    SPX Check that you can do a Netware login to the machine that the database is on. Ensure you can map drives or use other Novell services such as Print Servers and File Servers on the Network. Check that the Oracle listener service is broadcasting by doing a DISPLAY SERVERS from the Novell server or any Novell file server on the SPX/IPX network.
    DECnet Check that you can use file transfer and terminal sessions (NFT and SETHOST). Also, check the DECnet network control program, which is a database of connectable nodes:

    Named Pipes Check that you can see other computers or servers on the MSFT network. Ensure you are able to share drives within the MSFT network.

  3. Ensure that the SQL*Net Client and appropriate Protocol Adapter have been installed by following the instructions in section, "Understanding Proper SQL*Net Installation," in this appendix.

  4. Ensure the client machine has the following two files: TNSNAMES.ORA and SQLNET.ORA in the ORACLE_HOME\NETWORK\ADMIN directory or in any of the following situations:

    The search order for SQLNET.ORA and TNSNAMES.ORA is as follows:

    If you have any other working client machines connecting to your selected Oracle7 Server using SQL*Net, back up your existing files and copy both the working TNSNAMES.ORA and SQLNET.ORA from the working machine onto the non-working client workstations. This eliminates the possibility of errors in the files.

  5. Test the Oracle SQL*Net layer with SQL*Plus or Server Manager.

    It is advised not to use TNSPING. TNSPING works just like the TCP/IP ping utility. A socket is never created and open. The TNSPING never connects with the Oracle7 Server listener. It just checks to make sure a TNS listener is present on the server side. Therefore, a working TNSPING can be misleading.

  6. If the connection still fails:

SQL*Net Logging and Tracing

Both SQLNET.ORA and LISTENER.ORA log and trace files are available for you to use in troubleshooting your network problems.

Log files are by default located in ORACLE_HOME\NETWORK\ADMIN \LOG and trace files are by default located in ORACLE_HOME\NETWORK\ADMIN \TRACE.

Logging

All errors encountered in Oracle network products are logged to a log file for evaluation by a network or database administrator. The log file provides additional information for an administrator when the error message on the screen is inadequate to understand the failure. The log file, by way of the error stack, shows the state of the software at various layers.

Tracing

SQL*Net tracing is used to track and examine application connections across the network. Tracing can be used to examine and diagnose application connections across the network. The trace facility allows a network or database administrator to obtain more information on the internal operations of the components of an Oracle application network than is provided in a log file. Tracing an operation produces a detailed sequence of statements that describe the events as they are executed. All trace output is directed to trace output files that can be evaluated to identify the event that led to an error.

The Difference Between Logging and Tracing

Logging reveals the state of the Oracle components at the time of an error; that is, when are error occurs, it is logged to the log file. However, tracing describes all software events as they occur; that is, even when an error is not occurring. Information is posted into the trace file to show what is happening in the software. Thus, tracing provides additional information about events whether or not there is an error.
Additional Information
For more specific details about Oracle SQL*Net logging and tracing, please refer to the following documentation

To turn on tracing:

Edit the SQLNET.ORA and LISTENER.ORA files and set the following:

The default names for the trace files are SQLNET.TRC and LISTENER.TRC and the default names for the log files are SQLNET.LOG and LISTENER.LOG.

Oracle Trace for SQL*Net

SQL*Net release 2.3 includes a new, optional source of SQL*Net tracing that uses the Oracle Trace product. Oracle Trace provides a standard, supported, tracing facility for Oracle products.

Oracle Trace is a general-purpose data collection product that has been introduced with the Oracle Enterprise Manager systems management product family. Oracle Trace allows Oracle products to collect data for a variety of uses, such as performance monitoring, diagnostics, and auditing. In addition to its use in SQL*Net release 2.3, Oracle Trace is also used to capture data for the Oracle Server release 7.3.
Additional Information
See Understanding SQL*Net and Oracle Trace User's Guide contained in the Oracle Enterprise Manager Performance Pack documentation set for information on using Oracle Trace.

SQL*Net Troubleshooting Hints and Tips from the Field

Below are some SQL*Net tips you may find helpful when you are unable to diagnose a problem:

Questions to Ask When Troubleshooting

Below are some questions to ask yourself when diagnosing a problem:

Contacting Oracle Worldwide Customer Support

How to Contact Oracle Worldwide Customer Support

Oracle Worldwide Customer Support can be contacted as follows:
Location Contact
United States of America Telephone (1) (415) 506-1500
Europe Telephone (1) (44) (1344) 860-160
Outside the United States and Europe Your Oracle sales representative
Worldwide Visit: http://www.oracle.com/support/

For further information on how to contact Oracle Worldwide Customer Support please refer to the included Customer Support Information Booklet.

Before You Call for Assistance

If after reading this appendix, you still cannot resolve your problems, call Oracle Worldwide Customer Support to report the error. Please have the following information at hand:



Go to previous file in sequence Go to next file in sequence
Prev Next
Oracle
Copyright © 1996 Oracle Corporation.
All Rights Reserved.
Go to Product Documentation Library
Library
Go to books for this product
Product
Go to Contents for this book
Contents
Go to Index
Index