Net8 Getting Started 
Release 8.0.5 for Windows NT and Windows 95/98 
A64419-01
 
Library
 
Product
 
Contents
 
Index
 

Prev Next

D
Troubleshooting

This appendix describes how to resolve problems that may arise when you use Net8 products.

Specific topics discussed are:

Diagnosing Net8

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

This section helps you determine which parts of Net8 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 progressively test various network layers.

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 Net8 Installation

Net8 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 the client machines:

To verify proper installation:

Follow the instructions in "Verifying Installation" in Chapter 3, "Installation Overview"

Server Diagnostics


Note:  

You may need assistance from the server administrator to follow the instructions in this section. 


 
 

Answer the questions below:

If you answer yes to any of the above questions/statements, skip this section 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 Net8 on the server involves:

Step 1: Verify the Database Is Running

To check that the database is up:

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

C:\> SQLPLUS SYSTEM/MANAGER 

A message appears, confirming that you are connected with the database. If you receive the following errors, ask your database administrator to assist you:

Step 2: Perform a Loopback Test

To perform a loopback test:

  1. Check that the LISTENER.ORA, TNSNAMES.ORA, and SQLNET.ORA files exist in the ORACLE_HOME\NET80\ADMIN folder.
  2. Follow the instructions in "Testing the Configuration on the Server" in Chapter 6, "Configuring the Network" to perform a loopback test.
  3. If the loopback test continues to fail, continue to Step 3.

    If the loopback test passes, skip to "Client Diagnostics" in this appendix.

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

Client Diagnostics

At this point, you know the Net8 server side network listener is functioning properly, because you were able to answer Yes to any of the following statements:

To perform diagnostics on the client:

  1. Check that you have installed the appropriate Oracle Protocol Adapter.
  2. Check base connectivity for underlying network transport. You may need the assistance of the network administrator.
  3. Net8 technology depends upon the underlying network for a successful connection.

    Protocol  Verify that you can... 

    TCP/IP 

    Use file transfer or terminal emulation utilities (FTP, TELNET, and PING) from the workstation to the server where the network listener and database reside. 

    SPX 

    Perform a Netware login to the machine that the database is running on. Ensure you can map drives or use other Novell services such as Print Servers and File Servers on the Network. Check that the network listener service is broadcasting by doing a DISPLAY SERVERS from the Novell Server or any Novell File Server on the SPX network. 

    Named Pipes 

    See other computers or servers on the MSFT network. Ensure you are able to share drives within the MSFT network. 

     

  4. Ensure all Net8 software has been installed by following the instructions in "Understanding Proper Net8 Installation" in this chapter to ensure both the Net8 Client and the appropriate Oracle Protocol Adapter are installed.
  5. Ensure the client machine has the TNSNAMES.ORA and the SQLNET.ORA files in the ORACLE_HOME\NET80\ADMIN directory.
  6. The search order for SQLNET.ORA and TNSNAMES.ORA is as follows:

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

  7. Test the Net8 layer with SQL*Plus or Server Manager, as described in "Testing the Configuration on the Client" in Chapter 6, "Configuring the Network".
  8. It is advised not to use TNSPNG80. TNSPNG80 works just like the TCP/IP PING utility. A socket is never created and open. The TNSPNG80 never connects with the network listener. It just ensures network listener is present at the server side.

  9. If the connection still fails:

Net8 Logging and Tracing

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

This section covers:

For server and network listener, log files are by default located in ORACLE_HOME\NET80\LOG and trace files are by default located in ORACLE_HOME\NET80 \TRACE. For client, log and trace files are by default located in the current working directory.

Logging

All errors encountered in Oracle network products are appended 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.

The default log file names are:

Tracing

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.

Default trace file names are:

When a client application establishes the first Net8 connection, the Net8 parameters are read from SQLNET.ORA file and initialized. Subsequently, if the same client application establishes some more Net8 connections, the SQLNET.ORA file is not read and any changes that were made to the SQLNET.ORA file after the first Net8 connection will not be used. For the new changes to the SQLNET.ORA file to take effect, you have to exit the client application and bring it up again. The behavior on the server side does not change from the previous versions. Any changes to the SQLNET.ORA file will be reflected in subsequent connections.

Client side tracing
If theTRACE_UNIQUE_CLIENT parameter in SQLNET.ORA file is not enabled, then all client applications will share the same trace file. If the TRACE_UNIQUE_CLIENT parameter is enabled in SQLNET.ORA file, then each client application will have a unique trace file. In both the above cases, the trace statements will have a prefix in the form of (x), where 'x' is some number. All the trace statements belonging to one connection will have the same prefix.

The Difference Between Logging and Tracing

Logging is used to log important events for Oracle components. For example, the network listener log file logs version number, protocols it is listening for, connection establishments, errors, and so on. 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 SQL*Net logging and tracing, see Chapter 10, "Troubleshooting Net8", of the Oracle Net8 Administrator's Guide

 
 

Tracing and logging parameters are added to the SQLNET.ORA and LISTENER.ORA files. These parameters are described in "Using SQLNET.ORA Logging and Tracing Parameters" and "Using LISTENER.ORA Control Parameters" in Appendix C, "Configuration Files".

Tracing for an Oracle Names Server

In some situations, it may be necessary to set tracing on for the Oracle Names Server. Tracing is set on by adding the parameter NAMES.TRACE_LEVEL = 16 in the NAMES.ORA file on the server (this file is located in ORACLE_HOME\NET80\ADMIN).

The next time the Names Server is started, a trace file named NAMESTHREAD_ID.TRC is created in directory ORACLE_HOME\NET80\TRACE.

If a client connection is not properly established, client tracing can give more information. Client tracing is set by adding the TRACE_LEVEL_CLIENT = 16 parameter to the SQLNET.ORA file.

Oracle Trace for Net8

Oracle Trace allows your trace information to be managed through an Oracle Enterprise Manager console in an Oracle Trace repository.

Oracle Trace is a general-purpose data collection product that is part of 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.

 

Trace Assistant

Use Trace Assistant to interpret your *.TRC files.

This utility will help you diagnose and troubleshoot network problems by giving you a better understanding of:

Follow the instructions in section "10.4.3 Using the Trace Assistant to Examine Your Trace Files", in the Oracle Net8 Administrator's Guide to run the Trace Assistant.

Resolving Common Error Messages

The error messages most commonly experienced by Oracle networking product users are:

If you are using the Oracle Names Server, go to "Resolving Oracle Names Server Problems" in this appendix.

ORA-12154: TNS: Could not resolve service name

Cause: Net8 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. Make sure the domain specified by the SERVICE_NAME.domain parameter in the TNSNAMES.ORA file matches the value for the NAMES.DEFAULT_DOMAIN parameter in the SQLNET.ORA file.
  2. Try setting the TNS_ADMIN parameter in the registry to the directory where the configuration files are stored.
  3. If connecting from a login dialog 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:
  4. SQLPLUS SCOTT/TIGER@SERVICE_NAME
  5. Make sure you have a TNSNAMES.ORA file on the client if you are not using an Oracle Names Server.
  6. Make sure your TNSNAMES.ORA file is the same on both the server and the client.
  7. Check for multiple copies of the TNSNAMES.ORA file.
  8. By default, TNSNAMES.ORA is located in ORACLE_HOME\NET80\ADMIN.

  9. In the TNSNAMES.ORA file, verify:
The service name matches the one you are specifying in the connect string. There are no syntax errors, especially stray characters and mismatched parentheses.
     
    1. Make sure that there are no duplicate copies of SQLNET.ORA.
    2. Turn on client tracing and re-execute the operation.
    3. The client trace file shows a secondary error code. To turn on client tracing, add or modify the variable TRACE_LEVEL_CLIENT in the ORACLE_HOME\NET80\ADMIN\SQLNET.ORA file to TRACE_LEVEL_CLIENT = 16.

ORA-12203:TNS:unable to connect to destination

ORA-12203 error is a generic error that often shields secondary errors. For this reason, check the latest SQLNET.LOG file located in ORACLE_HOME\NET80\LOG directory for secondary ORA messages. If after analyzing the log file you determine there are no secondary errors, determine if the problem may be caused by on the following scenarios:

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 

WIN95.RGS 

Windows 95/98

NT.RGS 

Windows NT 

 

A missing protocol adapter driver usually produces the following errors in the SQLNET.LOG or any client trace file:

ORA-12203 ORA-12538 ORA-00508

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

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

Is the HOST or SERVICE name correct? Is the PORT specified correct?

Cause: Net8 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 Net8 network listener is running. Enter:
  2. LSNRCTL80
    LSNRCTL> STATUS LISTENER_NAME

    where LISTENER_NAME is the name of the network listener defined in the LISTENER.ORA file. It is not necessary to identify the network listener if you are using the default network listener, named LISTENER.

    If the output indicates the network listener is not running, try starting it with the command:

    LSNRCTL> START LISTENER_NAME
  3. Ensure the TNSNAMES.ORA file is in the correct location.
  4. By default, TNSNAMES.ORA is located in ORACLE_HOME\NET80\ADMIN.

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

Action: Verify that the remote system's network listener is running. Enter:

C:\> LSNRCTL80
LSNRCTL> STATUS LISTENER_NAME

where LISTENER_NAME is the name of the network listener defined in the server's LISTENER.ORA file. It is not necessary to identify the network listener if you are using the default network listener, named LISTENER.

If the output indicates the network listener is not running, try starting it with the command:
LSNRCTL> START LISTENER_NAME

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 proper directory.

Action: Make sure the TNSNAMES.ORA file is located in ORACLE_HOME\NET80\ADMIN (the default) directory or an alternative path, as explained in "Client Diagnostics".

Cause: The (HOST=SERVER_NAME) for TCP/IP or (SERVICE=TNS_APPLICATION) for SPX are not consistent on the clients and server machines.

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

For TCP/IP setups, make sure that the HOST parameter in the LISTENER.ORA on the server and the TNSNAMES.ORA file on the client point to the same name, or at least to names that are then translated to the same IP address by each system. This is especially important for servers with multiple IP addresses assigned to the various network interfaces on the server.

For SPX setups, the name must be the same on the server and client workstations.

Cause: The descriptor in the TNSNAMES.ORA file for the Oracle 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:

 os2=  
       (DESCRIPTION=  
           (ADDRESS=(PROTOCOL=LU62)  
                    (PLU_LA=os2)))

results in this error.

Action: Change the value to uppercase. For example:

os2=  
       (DESCRIPTION=  
           (ADDRESS=(PROTOCOL=LU62)  
                    (PLU_LA=OS2)))

where os2 is defined as the SYMBOLIC DESTINATION NAME in the SIDEINFO.NSD file.

ORA-3113: end of file communication channel

An ORA-3113 means that communications were lost for an unexpected reason. It is usually followed by a:

 ORA-3114: not connected to ORACLE

Cause: The Oracle shadow process on the server died unexpectedly.

Action: Check if the SIDALRT.LOG file in ORACLE_HOME\RDBMS80\TRACE on the server to see if any other Oracle errors occurred.

Cause: Machine crash or network failure at the server side.

Cause: Two servers with the same host names or IP addresses on the same network.

Action: To find the duplicate addresses turn off the machine that is receiving the error, PING its IP address. If the PING responds, then you have to find the offending machine.

Cause: The TOKEN RING card has the Shared RAM size set to 8KB rather than 16KB.

Action: If you are using a TOKEN RING card, check the shared buffer size and try increasing it.

Cause: An unexpected end-of-file was processed on the communication channel. The TCP/IP retransmission count on Windows 95 and Windows NT has a default value of 5. This means that the send side retransmits the packet five times or until it gets an acknowledgment. The timeout for each retransmission is two times the timeout for the previous retransmission (exponential backoff). With the default value of 5, the send side retransmits 5 times (approximately 15 seconds) and if it does not get an acknowledgment, it assumes that the other side is down and closes the connection. If the link goes down for a minute or two the Net8 client receives this error.

Action: Modify the retransmission count.

Please see your Microsoft-specific operating system manual for more information on tuning the Microsoft TCP/IP software.

ORA-3121: No interface driver connection - function not performed

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.

T:X:P:

Cause: If you only specify the user name and password from a client machine with no local Oracle database installed.

Action: Specify a connect string.

Resolving Oracle Names Server Problems

Problems with Oracle Names Server occur because:

Client Connections Not Established

The NAMESCTL80 utility provides the QUERY command, which queries the existence or contents of an object (for example, a database) stored in the Names Server. This command can be useful in situations where a client connection is not properly established.

For example, you can query an Oracle Names Server for INVENTORYDB.WORLD alias through the NAMESCTL80 utility:

C:\> NAMESCTL80  
NAMESCTL> QUERY INVENTORYDB.WORLD * 

The sample output looks like:

Total response time:   0.01
Response status:       normal, successful completion 
Authoritative answer:  yes 
Number of answers:     1
TTL:                   1 day
        ...(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST= 
INVENTORY)(PORT=1526)))(CONNECT_DATA=(SID=ORCL)))

The "a.smd" data type that stores the address for INVENTORYDB.WORLD allows you to determine if the address is correct (that is, for TCP/IP the host name and the port number must be the same as the ones defined in the LISTENER.ORA file on the server).

Service Is Not Resolved

When a service is not resolved through an Oracle Names Server:

  1. Make sure that the parameter USE_PLUG_AND_PLAY_LISTENER_NAME (is defaulted to LISTENER) is set to TRUE in the LISTENER.ORA file on the server.
  2. Make sure that the parameter GLOBAL_DBNAME is set for each database in the SID_LIST_LISTENER_NAME (LISTENER_NAME is defaulted to LISTENER) section in the LISTENER.ORA file on the server.
  3. Use the LSNRCTL80 STAT command to see if the database you are trying to connect to is registered with the Names Server. The database is registered with the Names Server if the word Registered appears next to the database SID in the Services Summary section of the output.
  4. The LSNRCTL80 STAT output looks something like:

LSNRCTL80 for 32-bit Windows: Version 8.0.4.0.0 - Production on 25-NOV-97 18:51:15(c) Copyright 1997 Oracle Corporation. All rights reserved.Connecting to (ADDRESS=(PROTOCOL=IPC)(KEY=oracle.world))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR80 for 32-bit Windows: Version 8.0.4.0.0 - ProductionStart Date 24-NOV-97 14:30:27Uptime 1 days 4 hr. 20 min. 50 secTrace Level offSecurity ONSNMP OFFListener Parameter File D:\orant\NET80\admin\listener.oraListener Log File D:\orant\NET80\log\listener.logServices Summary... ORCL has 1 service handler(s) extproc has 1 service handler(s)The command completed successfully
  1. Query the Names Server through the NAMESCTL80 utility for the Net8 service you are using. In the output, check the address for the service you are using and make sure it is correct. See the previous section "Client Connections Not Established".

Resolving Improper Configuration of External Procedures

You receive the following error message if external procedures are not correctly configured for 3GL programming language in a PL/SQL environment, the Image Cartridge, the Time Series Cartridge, or the VIR Cartridge.

ORA-28575: unable to open RPC connection to external procedure agent 
ORA-06512: at "APPLICATIONS.OSEXEC", line 0 
ORA-06512: at "APPLICATIONS.TEST", line 4 
ORA-06512: at line 2

Ensure external procedures are properly configured, these error messages display. Follow the procedures in "Configuring External Procedure Calls" in Chapter 8, "Performing Advanced Configuration".

Net8 Troubleshooting Hints and Tips from the Field

Below are some Net8 tips you may find helpful when you are having difficulty diagnosing the problem:

Questions to Ask When Troubleshooting

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

Contacting Oracle Support Services

If after reading this appendix, you still cannot resolve your problems, call Oracle Support Services to report the error. See "Contact Us" for info on how to contact Oracle Support Services.
 


 
Prev
 
Next
 
Oracle 
Copyright © 1998 Oracle Corporation. 
All Rights Reserved. 
 
Library
 
Product
 
Contents
 
Index