Net8(TM) Administrator's Guide
Release 8.0.3
A51576_01

Library

Product

Contents

Index


Prev Next

8
Troubleshooting Net8

Net8 provides methods for understanding and resolving network problems through the use of log and trace files. These files keep track of the interaction between network components as errors occur. Evaluating this information will help you to diagnose and troubleshoot even the most complex network problems.

This chapter describes common network errors and outlines procedures for resolving them. It also describes methods for logging and tracing error information to diagnose and troubleshoot more complex network problems. This chapter contains the following sections:

8.1 Troubleshooting Common Network Errors

Due to the complexity of network communications, network errors may originate from a variety of sources, for a variety of reasons. If an error occurs, applications such as SQL*Plus and SQL*Forms, which depend on network services from Net8, will normally generate an error message.

A list of the most common network error messages follows:

Table 8-1 describes each network error and outlines procedures to troubleshoot them.

Table 8-1 Common Network Errors and Troubleshooting Procedures
Error #: Message   Description/Troubleshooting Procedures  

ORA-12154: "TNS:could not resolve service name"  

Cause: Net8 could not locate the connect descriptor specified in the TNSNAMES.ORA configuration file.

Actions:

  1. Verify that a TNSNAMES.ORA file exists and that it is accessible.
  2. Verify that there are not multiple copies of the TNSNAMES.ORA file.
  3. In your TNSNAMES.ORA file, verify that the service name specified in your connect string is mapped to a connect descriptor in the TNSNAMES.ORA file. Also, verify that there are no syntax errors in the file.
  4. Verify that there are no duplicate copies of the SQLNET.ORA file.
  5. If you are using domain names, verify that your SQLNET.ORA file contains a NAMES.DEFAULT_DOMAIN parameter. If this parameter does not exist, you must specify the domain name in your connect string.

If you are not using domain names, and this parameter exists, delete it or disable it by commenting it out.

  1. If you are connecting from a login box, verify that you are not placing an "@" symbol before your connect service name.

 

ORA-12198: ``TNS:could not find path to destination" and

ORA-12203 ``TNS:unable to connect to destination"  

Cause: The client is not able to find the desired database.

Actions:

  1. Verify that you have entered the service name you wish to reach correctly.
  2. Verify that the service name ADDRESS parameters in the connect descriptor of your TNSNAMES.ORA file are correct.
  3. Verify that your TNSNAMES.ORA file is stored in the correct directory.
  4. Verify that the listener on the remote node has started and is running. If not, start the listener by using the Listener Control Utility.
  5. If you are connecting from a login box, verify that you are not placing an "@" symbol before your connect service name.

 

ORA-12224:"TNS:no listener""  

Cause: The connection request could not be completed because the listener is not running.

Actions:

  1. Ensure that the supplied destination address matches one of the addresses used by the listener.
  2. Verify also that this is not a version compatibility problem.

 

ORA-12500: "TNS:listener failed to start a dedicated server process"  

Cause: The listener was unable to start a process connecting the user to the database server.

Actions:

  1. Verify that the SID_LIST section of the LISTENER.ORA file and the system identifier (SID) in the CONNECT DATA section of the TNSNAMES.ORA file are correct.
  2. Verify that the user has adequate privileges to access the database.

 

ORA-12533: "TNS:illegal ADDRESS parameters"  

Cause: The protocol specific parameters in the ADDRESS section of the designated connect descriptor in your TNSNAMES.ORA file are incorrect.

Action: For more information about protocol specific keywords, refer to the Oracle operating system specific documentation for your platform.  

ORA-12545: "TNS:name lookup failure"  

Cause: The listener on the remote node cannot be contacted.

Actions:

  1. Verify that the ADDRESS in the TNSNAMES.ORA file or the LISTENER.ORA file is correct.
  2. Verify that the listener on the remote node has been started. You may check its status with the STATUS command of the Listener Control Utility, and start it with the START command if necessary.

 

ORA-12560: "TNS:protocol adapter error"  

Cause: The listener was unable to start a process connecting the user to the database server.

Actions:

  1. Turn on tracing and re-execute the operation.
  2. Evaluate the contents of the trace file to diagnose the problem.

 

ORA-3113: "TNS:End of file on communication channel"  

Cause: An unexpected end of file was processed on the communication channel. This may be an indication that the communications link may have gone down at least temporarily; it may indicate that the server has gone down.

Action: You may need to modify your re-transmission count. For more information about troubleshooting this error, refer to the appropriate Oracle operating system specific documentation.  

8.2 Troubleshooting Network Problems Using Log and Trace Files

Oracle Network Products provide detailed information about the source and context of problems as they arise. This information is generated and stored in log and trace files. The process of logging and tracing error information will help you to diagnose and resolve network problems.

8.3 Logging Error Information

Logging refers to the process by which network components note and append error-specific information to a log file. Each Net8 component produces its own log file to describe the state of the software at various communication layers as an error occurs. To ensure that all errors are recorded, logging cannot be disabled on clients or Names Servers. Furthermore, only an administrator may replace or erase log files. The log file for the listener also includes Audit Trail information about every client connection request, as well as most listener control commands

8.3.1 Error Stacks

Log files provide information contained in an error stack. An error stack refers to the information that is produced by each layer in an Oracle communications stack as the result of a network error.

Figure 8-1 depicts the relationship among Oracle network products as they might appear in an error stack:

Figure 8-1 Network Products and Error Stack Component

The layers in Figure 8-1 are as follows:

NI  

Net8 Interface Layer  

NR  

Network Routing  

NN  

Network Naming (Oracle Names)  

NS  

Network Session (main and secondary layers)  

NA  

Native Services includes Network Authentication (NA) and Network Encryption (NAE)  

NT  

Network Transport (main, secondary, and operating system layers)  

Your network may or may not include all of these components.

Error Example

As an example, suppose that a user of a client application tries to establish a connection with a database server using Net8 and TCP/IP, and the user enters:

sqlplus scott/tiger@hrserver.world 

The SQL*Plus banner is displayed on the screen, and the following error is displayed:

ORA-12203: TNS:Unable to connect to destination

This message indicates that the error message file on the Oracle server could not be opened because the connection to the server failed. Although the application displays only a one-line error message, an error stack that is much more informative is recorded in the log file by the network layer. On the client-side, a log file called SQLNET.LOG, contains an error stack corresponding to the ORA-12203 error as follows:

Example 8-1 Typical Error Stack

***********************************************************

Fatal OSN connect error 12203, connecting to:
 (DESCRIPTION=(CONNECT_DATA=(SID=trace)(CID=(PROGRAM=)
   (HOST=lala)(USER=sviavant)))(ADDRESS_LIST=(ADDRESS=
   (PROTOCOL=ipc)(KEY=trace))(ADDRESS=(PROTOCOL=tcp)
   (HOST=lala)(PORT=1521))))

VERSION INFORMATION:
TNS for SunOS:
Oracle Bequeath NT Protocol Adapter for SunOS:
Unix Domain Socket IPC NT Protocol Adaptor for SunOS: 
TCP/IP NT Protocol Adapter for SunOS:
  Tracing to file: /home/sviavant/trace_admin.trc
  Tns error struct:
    nr err code: 12203
    TNS-12203: TNS:unable to connect to destination
    ns main err code: 12541
    TNS-12541: TNS:no listener
    ns secondary err code: 12560
    nt main err code: 511
    TNS-00511: No listener
    nt secondary err code: 61
    nt OS err code: 0

8.3.2 Log Filenames

Each Net8 component produces its own log file. Table 8-2 provides the default filenames and a description of the information they contain:

Table 8-2 Log File Component Information
Log File   Contains Error Information about the...  

SQLNET.LOG  

Client and/or server  

LISTENER.LOG  

Listener  

NAMES.LOG  

Names Server  

CMAN.LOG  

Oracle Connection Manager's main process  

CMADM.LOG  

Oracle Connection Manager's administration process  

8.3.3 Setting Log Parameters

Parameters that control logging, including the type and amount of information logged, as well as the location where the files are stored, are set in the configuration file of each network component as follows:

Table 8-3 Setting Log Parameters
Log Parameters Corresponding to the...   ...are set in the following Configuration Files  

client  

SQLNET.ORA  

server  

SQLNET.ORA  

listener  

LISTENER.ORA  

Names Server  

NAMES.ORA  

Oracle Connection Manager  

CMAN.ORA  

Although there are operating system specific default names and locations for the log files, you can specify alternative names and locations if you wish. Each component may have log parameters that determine the following:

8.3.3.1 Changing Log File Names

To change log file names, edit the following parameter in the appropriate component configuration file:

LOG_FILE_component = string 

For example, the following parameter in LISTENER.ORA would send listener log output to a file called TEST.LOG on the server machine.

LOG_FILE_LISTENER = TEST

Note:

On most operating systems, the .log suffix is automatically appended to the log filename. For a full description of configuration parameters, refer to Appendix B, "Configuration Parameters". Some platforms have restrictions on the properties of a filename. See your Oracle operating system-specific documentation for platform-specific restrictions.  

8.3.3.2 Changing Log File Directories

To change the location of where the log file for each component is stored, edit the following parameter in the appropriate component configuration file:

LOG_DIRECTORY_component = valid directory

Examples are specific to different operating systems. An example on UNIX might be:

LOG_DIRECTORY_LISTENER = /tmp/log 

Some platforms have restrictions on the properties of a directory. For more information about platform-specific restrictions, refer to your Oracle operating system-specific documentation.

8.3.4 Using Log Files

To use a log file to diagnose a network error:

  1. Review the log file for the most recent error number you received from the application. Note that this is almost always the last entry in the log file.
  2. Starting from the bottom of the file, locate the first non-zero entry in the error report. This is usually the actual cause.
  3. If that error does not provide the desired information, review the next error in the stack until you locate the correct error information.
  4. If the cause of the error is still not clear, turn on tracing and re-execute the statement that produced the error message.

8.3.5 Listener's Log Audit Trail

The listener log file contains Audit Trail information that allows you to gather and analyze network usage statistics, as well as information indicating the following:

Note that you cannot turn this feature off.

8.3.5.1 Format of the Listener's Log Audit Trail

The Audit Trail formats text into the following fields: Timestamp, Connect Data, [Protocol Info], event, [sid], return Code. Properties of the Audit Trail are as follows:

Typical output to the log file upon a reload request is as follows:

Example 8-2 Typical Audit Trail Information for Successful Reload Request

10-MAY-96 14:16:21 *(CONNECT_DATA=(CID=(PROGRAM=)(HOST=roach)(USER=reltest)
(COMMAND=reload)(ARGUMENTS=64)(SERVICE=LISTENER)
(VERSION=36704256))*reload*0

Typical output to the log file upon a connection request is as follows:

Example 8-3 Typical Audit Trail Information for Successful Connection Request

10-MAY-96 14:16:21*(CONNECT_DATA=(SID=reltest)(CID=
(PROGRAM=C:\ORAWIN\BIN\PLUS31.EXE)
(HOST=WINDOWSPC)(USER=CCLOW))*(ADDRESS=(PROTOCOL=tcp)
(HOST=144.25.23.246)(PORT=3366))
*establish*reltest*0

Notice that the user ID is recorded as well as the platform, protocol, and software used to make the connection.

8.3.5.2 Using Audit Trail Information

You can use Audit Trail information to view trends and user activity by first storing it in a table and then collating it into a report format. To import the data into a table, use an import utility such as SQL*Loader.

8.4 Tracing Error Information

The trace facility produces a detailed sequence of statements that describe network events as they are executed. "Tracing" an operation allows you to obtain more information on the internal operations of the components of Net8 than is provided in a log file. This information is output to files that can be evaluated to identify the events that led to an error.

CAUTION:

The trace facility uses a large amount of disk space and may have a significant impact upon system performance. Therefore, you should enable tracing only when necessary  

Components that can be traced using the trace facility are:

8.4.1 Setting Tracing Parameters

To enable tracing as well as to set specific trace parameters, you may use either:

8.4.1.1 Setting Trace Parameters Using Component Configuration Files

To set tracing parameters using component configuration files:

  1. Specify the following parameters in the component configuration file (SQLNET.ORA, LISTENER.ORA, NAMES.ORA, or CMAN.ORA):
  2. TRACE_LEVEL_component name=(OFF/USER/ADMIN/SUPPORT)
    TRACE_DIRECTORY_component name=directory name
    
  3. If you modified the configuration files while the component was running, start or restart the component to enable the changed parameters.
  4. 8.4.1.2 Setting Trace Parameters Using Component Control Utilities

    To set trace parameters using component control utilities:

    8.4.1.3 Setting Trace Parameters Using Oracle Trace

    Oracle Trace is a new tool that can be used with Oracle Enterprise Manager or stand alone enabling you to format and correlate data from two different trace files. Use Oracle Trace in situations where you will need to compare and/or correlate the trace information produced individually by Net8 and the server, or by Net8 as it interacts between the client and server. For more information on enabling Oracle Trace, refer to the Net8.0.3 Release Notes.

    8.4.2 Evaluating Net8 Traces

    Evaluating trace files either manually, or by using the Trace Assistant tool will help you to diagnose and troubleshoot network problems by giving you a better understanding of the following:

    8.4.2.1 Understanding the Flow of Data Packets Between Network Nodes

    Net8 performs its functions by sending and receiving data packets.By specifying a trace level of SUPPORT, you can view the actual contents of the Net8 packet in your trace file. The order of the packet types sent and received will help you to determine how your connection was established.

    8.4.2.1.1 Understanding Data Packet Formats

    Each line in the trace file begins with a procedure followed by a message. Following each procedure is a line of hexadecimal data representing actual data. The actual data that flows inside the packet is sometimes viewable to the right of the hexadecimal data.

    Table 8-4 provides a list of the Net8 packet keywords and describes the types of packets they represent:

    Table 8-4 Keyword and Packet Types
    Keyword   Packet Type  

    NSPTCN  

    Connect  

    NSPTAC  

    Accept  

    NSPTRF  

    Refuse  

    NSPTRS  

    Resend  

    NSPDA  

    Data  

    NSPCNL  

    Control  

    NSPTMK  

    Marker  

    Note:

    This data is not viewable if you are using encryption through an Oracle network product or through EBCDIC data.  

    For example, the following line describes a procedure called "nscon" sending a NSPTCN packet over the network:

    nscon: sending NSPTCN packet
    

    Each packet has a keyword that denotes the packet type. All packet types begin with the prefix "NSPT". It is helpful to remember this when reviewing trace files for specific packet information

    Example 8-4 provides typical packet information:

    Example 8-4 Packet Information

    nscon: entry
    nscon: doing connect handshake...
    nscon: sending NSPTCN packet
    nspsend: entry
    nspsend: plen=187, type=1
    nspsend: 187 bytes to transport
    nspsend:packet dump
    nspsend:00 BB 00 00 01 00 00 00  |........|
    nspsend:01 33 01 2C 0C 01 08 00  |.3.,....|
    nspsend:7F FF 7F 08 00 00 00 01  |........|
    nspsend:00 99 00 22 00 00 08 00  |..."....|
    nspsend:01 01 28 44 45 53 43 52  |..(DESCR|
    nspsend:49 50 54 49 4F 4E 3D 28  |IPTION=(|
    nspsend:43 4F 4E 4E 45 43 54 5F  |CONNECT_|
    nspsend:44 41 54 41 3D 28 53 49  |DATA=(SI|
    nspsend:44 3D 61 70 33 34 37 64  |D=ap347d|
    nspsend:62 31 29 28 43 49 44 3D  |b1)(CID=|
    nspsend:28 50 52 4F 47 52 41 4D  |(PROGRAM|
    nspsend:3D 29 28 48 4F 53 54 3D  |=)(HOST=|
    nspsend:61 70 32 30 37 73 75 6E  |ap207sun|
    nspsend:29 28 55 53 45 52 3D 6D  |)(USER=m|
    nspsend:77 61 72 72 65 6E 29 29  |warren))|
    nspsend:29 28 41 44 44 52 45 53  |)(ADDRES|
    nspsend:53 5F 4C 49 53 54 3D 28  |S_LIST=(|
    nspsend:41 44 44 52 45 53 53 3D  |ADDRESS=|
    nspsend:28 50 52 4F 54 4F 43 4F  |(PROTOCO|
    nspsend:4C 3D 74 63 70 29 28 48  |L=tcp)(H|
    nspsend:4F 53 54 3D 61 70 33 34  |OST=ap34|
    nspsend:37 73 75 6E 29 28 50 4F  |7sun)(PO|
    nspsend:52 54 3D 31 35 32 31 29  |RT=1521)|
    nspsend:29 29 29 00 00 00 00 00  |))).....|
    nspsend: normal exit
    nscon: exit (0)
    

    8.4.2.2 Understanding Pertinent Error Output

    Every time a problem occurs with the connection in Net8, the error code is logged in the trace file with the prefix of <ERROR> or <FATAL>. Example 8-5 depicts typical trace file error output.

    Example 8-5 Trace File Error Output

    nspsend: entry
    nspsend: plen=244, type=6
    ntpwr: entry
    ntpwr: exit
    -<ERROR>- nspsend: transport write error
    nspsend: error exit
    nserror: entry
    -<ERROR>- nserror: nsres: id=0, op=65, ns=12541, ns2=12560; nt[0]=511, 
    nt[1]=61,nt[2]=0
    -<ERROR>- nsopen: unable to open transport
    nricdt: Call failed...
    nricdt: exit
    -<ERROR>- osnqper:  error from nricall
    -<ERROR>- osnqper:  nr err code: 12203
    -<ERROR>- osnqper:  ns main err code: 12541
    -<ERROR>- osnqper:  ns (2)  err code: 12560
    -<ERROR>- osnqper:  nt main err code: 511
    -<ERROR>- osnqper:  nt (2)  err code: 61
    -<ERROR>- osnqper:  nt OS   err code: 0
    osnqme: entry
    osnqme:  reporting nr (1) error: (12203) as rdbms err (12203)
    osnqme: exit
    -<ERROR>- onstns: Couldn't connect, returning 12203
    nricall: Exiting NRICALL with following termination result -1
    nricall: exit
    osnqme: entry
    osnqme:  reporting nr (1) error: (12203) as rdbms err (12203)
    osnqme: exit
    -<ERROR>- onstns: Couldn't connect, returning 12203
    -<ERROR>- osnqper:  error from nricall
    

    The most efficient way to evaluate error codes is to find the most recent NS error code logged. This is because the session layer controls the connection. The most important error messages are the ones at the bottom of the file. They are the most recent errors and the source of the problem with your connection.

    For information about the specific return codes, use the Oracle UNIX error tool "oerr". Use the "oerr" tool to discover more information about Net8 return codes, by entering the following at any command line prompt:

    oerr tns error_number
    

    8.4.3 Using the Trace Assistant to Examine Your Trace Files

    Net8 provides a tool called the Trace Assistant to help you understand the information provided in your trace files by converting existing lines of trace file text into a more readable paragraph. Note that the Trace Assistant runs against only a level 16 (SUPPORT) SQL*Net or Net8 trace file.

    To run the Trace Assistant, type the following at any command line prompt:

    trcasst [options] filename
    

    Table 8-5 describes the options that are available.

    Table 8-5 Trace Assistant Text Formatting Options
    Option   Description  

    -o  

    Displays connectivity and Two Task Common (TTC) information. After the -o the following options may be used:

    • c (for summary connectivity information)
    • d (for detailed connectivity information)
    • u (for summary TTC information)
    • t (for detailed TTC information)
    • q (displays SQL commands enhancing summary TTC information)

     

    -p  

    Oracle Internal Use Only  

    -s  

    Displays statistical information  

    -e  

    Enables display of error information After the -e, zero or one error decoding level may follow:

    • 0 or nothing (translates the NS error numbers dumped from the nserror function plus lists all other errors)
    • 1 (displays only the NS error translation from the nserror function)
    • 2 (displays error numbers without translation)

     

    Example 8-6 depicts how Trace Assistant converts trace file information into a more readable format.

    Example 8-6 Typical Trace Assistant Conversion

    Trace File   Converted by Trace Assistant with option -e0 or -e1  
    nsc2addr: normal exit
    nsopen: entry
    nsmal: 404 bytes at 
    0x10d5a48
    nsopen: opening 
    transport...
    -<ERROR>- ntus2err: 
    sd=13, op=1, 
    resnt[0]=511, resnt[1]=2, 
    resnt[2]=0
    -<ERROR>- nserror: nsres: 
    id=0, op=65, ns=12541, 
    ns2=12560; nt[0]=511, 
    nt[1]=2, nt[2]=0
    -<ERROR>- nsopen: unable 
    to open transport
    

     

    Error found. Error Stack follows:

    id: 00000

    Operation code: 00065

    NS Error 1: 12541

    NS Error 2: 12560

    NT Generic Error: 00511

    Protocol Error: 00146

    OS Error: 00000

    NS & NT Errors Translation

    12541, 00000, "TNS:no listener"

    // *Cause: The connection request could not be completed because the listener

    // is not running.

    // *Action: Ensure that the supplied destination address matches one of

    // the addresses used by the listener - compare the TNSNAMES.ORA entry with

    // the appropriate LISTENER.ORA file (or TNSNAV.ORA if the connection is to

    // go by way of an Interchange). Start the listener on the remote machine.

    /

    12560, 00000, "TNS:protocol adapter error"

    // *Cause: A generic protocol adapter error occurred.

    // *Action: Check addresses used for proper protocol specification. Before

    // reporting this error, look at the error stack and check for lower level

    // transport errors. For further details, turn on tracing and reexecute the

    // operation. Turn off tracing when the operation is complete.

    /

    00511, 00000, "No listener"

    // *Cause: The connect request could not be completed because no application

    // is listening on the address specified, or the application is unable to

    // service the connect request in a sufficiently timely manner.

    // *Action: Ensure that the supplied destination address matches one of

    // the addresses used by the listener - compare the TNSNAMES.ORA entry with

    // appropriate LISTENER.ORA file (or TNSNAV.ORA if the connection is to go

    // by way of an Interchange.) Start the listener on the remote machine.  

    However, other errors may also exist within the trace file that were not logged from the nserror function.

    8.4.3.1 Understanding Information Traversing the Network in Net8 Packets

    Trace Assistant also allows you to view data packets from both the Net8 and Two Task Common communication layers. Trace Assistant offers you two options to view these packets:

    The following examples depict how Trace Assistant presents various packets as they are sent to and from the Net8 layer in a variety of transactions:

    Note that the packets being sent or received have a prefix of "---> Send nnn bytes" or "<--- Received nnn bytes" showing that this node is sending or receiving a packet of a certain type and with nnn number of bytes. This prefix enables you to determine if the node is the client or the server. The connection request is always sent by the client, but received by the server (or listener).

    Example 8-7 Summary Data Packets Sent in a Bequeathed Connection

    Using trcasst -oc <filename> (Summary)  
    --->  Send     192 bytes - Connect packet
            Connect data length: 142
    (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=dlsun)(Port=1521))(CONNECT_DATA=(SID=db1)(CID=(PROGRAM=)(HO
    ST=dlsun)(USER=use1))))
    <---  Received 24 bytes - Accept packet
            Accept data length: 0
    

     

    
    

    Example 8-8 Detailed Data Packets Sent in a Bequeathed Connection

    Using trcasst -od <filename> (Detailed)  
    --->  Send     50 bytes - Connect packet
    Current NS version number is: 309.
    Lowest NS version number can accommodate is: 300.
    Global options for the connection:
            can receive attention
            no attention processing
            Don't care
            Maximum SDU size: 2048
            Maximum TDU size: 5120
            NT protocol characteristics:
                    Test for more data
                    Spawner is running
                    Hang on to Listener connection
                    Full duplex I/O
                    Urgent data support
                    Generate SIGURG signal
                    Handoff connection to another
            Line turnaround value: 0
            Connect data length: 234
            Connect data offset: 50
            Connect data maximum size: 2048
                    Native Services wanted
                    Native Services wanted
    Cross facility item 1: 0
            Cross facility item 2: 0
            Connection id: Ox0000000000000000
            Packet data is in the following data packet
    --->  Send     244 bytes - Data packet
    (DESCRIPTION=(ADDRESS=(PROTOCOL=beq)(PROGRAM=/private/oracle/bin/
    oracle)(ARGV0=oracle)(ARGS='(DESCRIPTION=(LOCAL=YES) 
    (ADDRESS=(PROTOCOL=beq))))(DETACH=NO))(CONNECT_DATA=(CID=(PROGRAM=)(HOST=dlsun)(USER=use1))))
    <---  Received 24 bytes - Accept packet
            Accepted NS version number is: 307.
    Global options for the connection:
            no attention processing
            Don't care
            Accepted maximum SDU size: 2048
            Accepted maximum TDU size: 4096
            Connect data length: 0
                    Native Services wanted
                    Native Services wanted
    
    

     

    Example 8-9 Summary Data Packets Sent in a Redirected Connection

    Using trcasst -oc <filename> (Summary)  
    --->  Send     187 bytes - Connect packet
            Connect data length: 153
    (DESCRIPTION=(CONNECT_DATA=(SID=ap347db1)(CID=(PROGRAM=)(HOST=apsun)(USER=use2)))(ADDRESS_LIST=(ADDRE
    SS=(PROTOCOL=tcp)(HOST=apsun)(PORT=1521))))
    <---  Received 8 bytes - Resend packet
    --->  Send     187 bytes - Connect packet
            Connect data length: 153
    (DESCRIPTION=(CONNECT_DATA=(SID=apdb1)(CID=(PROGRAM=)(HOST=apsun)(USER=use2)))(ADDRESS_LIST=(ADDRESS=
    (PROTOCOL=tcp)(HOST=apsun)(PORT=1521))))
    <---  Received 24 bytes - Accept packet
            Accept data length: 0
    

     

    Example 8-10 Data Packet

    Using trcasst -oc <filename> or -od <filename> (Summary/Detailed)  
    --->  Send     30 bytes - Data packet
    <---  Received 201 bytes - Data packet
    --->  Send     439 bytes - Data packet
    <---  Received 400 bytes - Data packet
    

     


    Two Task Common Packet Examples

    Two-Task Common handles requests such as open cursor, select rows, and update rows that are directed to the database. All requests are answered by the server. If you request to logon, a response is returned from the database that the request was completed. Example 8-11 and Example 8-12 show the type of information you can expect.

    Summary information for Two-Task Common is different from other displays in that it shows two packets on each line, rather than one. This is done to mirror the request/response pairings process by which Two-Task Common operates.

    Example 8-11 Two Task Common Summary Information

    Using trcasst -ou <filename>  
    (O3LOGA)
    

     

    1st half of challenge-response logon
    

     

    80
    

     

    78
    

     

    (O3LOGON) 
    

     

    2nd half of challenge-response logon
    

     

    97
    

     

    59 
    

     

    (OOPEN)
    

     

    # 1 
    

     

    21
    

     

    16
    

     

    (OPARSEX)
    

     

    # 1 
    

     

    245
    

     

     59
    

     

    (OCLOSE) 
    

     

    # 1 
    

     

    17
    

     

    11
    

     

    (OVERSION)
    

     

    
    

     

    29
    

     

    16
    

     

    (OOPEN) 
    

     

    # 2
    

     

     21
    

     

    16
    

     

    (OALL7) 
    

     

    # 2 Parse Can Defn=2 Exec Fetch "SELECT A.V
    

     

    268
    

     

    100
    

     

    (OOPEN) 
    

     

    # 3 
    

     

    21
    

     

    16
    

     

    (OALL7) 
    

     

    # 3 Parse Exec=1 "SELECT USER FROM SYS.DUAL
    

     

    152
    

     

    70
    

     

    (OALL7) 
    

     

    # 3 Defn=1 Fetc
    

     

    117
    

     

    88
    

     

    (OCLOSE)
    

     

    # 3
    

     

    17
    

     

    11
    

     

    Example 8-12 Two Task Common Summary Information

    Using trcasst -ot <filename> (Detailed)  
    start of user function (TTIFUN)
            1st half of challenge-response logon (O3LOGA)
              Username: applsys
              Terminal: ttyp5
              Machine: ap207sun
              System User: mwarren
              Process: 24459
              Program: aiap45@ap207sun (TNS interface)
    return opi parameter (TTIRPA)
            OPI parameter: 3309B1A977A62A3C
    start of user function (TTIFUN)
            2nd half of challenge-response logon (O3LOGON)
              Username: applsys
              Terminal: ttyp5
              Machine: ap207sun
              System User: mwarren
              Process: 24459
              Program: aiap45@ap207sun (TNS interface)
    ORACLE function complete (TTIOER)
    start of user function (TTIFUN)
            Open a cursor
    return opi parameter (TTIRPA)
            Cursor #: 1
    start of user function (TTIFUN)
            Parse and Execute (OPARSEX) Cursor # 1 
    alter session set nls_language= `AMERICAN' nls_territory= `AMERICA' nls_currency= `$' 
    nls_iso_currency= `AMERICA' nls_numeric_characters= `.,' nls_date_format= `DD-MON-YY' 
    nls_date_language= `AMERICAN' nls_sort= `BINARY'
    ORACLE function complete (TTIOER)
    start of user function (TTIFUN)
            Close cursor (OCLOSE) Cursor # 1 
    V6 Oracle func complete (TTISTA)
            Succeeded
    

     

     

    Example 8-13 Detailed SQL information on top of summary Two-Task

    Using trcasst -ouq <filename>  
    (O3LOGA)
    

     

    1st half of challenge-response logon
    

     

    180
    

     

    78
    

     

    (O3LOGON) 
    

     

    2nd half of challenge-response logon
    

     

    197
    

     

    59 
    

     

    (OOPEN)
    

     

    # 1 
    

     

    21
    

     

    16
    

     

    (OPARSEX)
    

     

    # 1 alter session set nls_language= `AMERICAN' 
    nls_territory= `AMERICA' nls_currency= `$' 
    nls_iso_currency= `AMERICA' nls_numeric_characters= 
    `.,' nls_date_format= `DD-MON-YY' nls_date_language= 
    `AMERICAN' nls_sort= `BINARY'
    

     

    245
    

     

     59
    

     

    (OCLOSE) 
    

     

    # 1 
    

     

    17
    

     

    11
    

     

    (O71SESOPN)
    

     

    (get session ID) 
    

     

    47
    

     

    18    
    

     

    (OOPEN)
    

     

    # 1
    

     

    21 
    

     

    16   
    

     

    (OVERSION)
    

     

    Oracle7 Server Release 7.1.4.1.0 - Production 
    Release with the distributed and parallel query 
    optionsPL/SQL Release 2.1.4.0.0 - Production
    

     

    29
    

     

    157
    

     

    (O71SESOPN)
    

     

    (get session ID) 
    

     

    47
    

     

    18
    

     

    8.4.3.2 Analyze the Data Collected into Appropriate Statistics

    The type of statistics gathered is on the order of how many calls (TTC), packets and bytes were sent and received between the network partners. The following example depicts typical trace file statistics:

    Example 8-14 Typical Trace File Statistics

    Using trcasst -s <filename>  
    ======================================================================
         Trace File Statistics: 
        ----------------------------------------------------------------------
         SQL*Net:
              Total Calls:       466 sent,       491 received,       423 upi
              Total Bytes:    119214 sent,     86614 received
            Average Bytes:       255 sent,       176 received
            Maximum Bytes:      2048 sent,      2048 received 
         GRAND TOTAL PACKETS  sent:    466     received:    491
    
    

     

    8.4.3.3 Example of a Trace File

    The following example shows a full trace file decoded. This example was created using the Oracle client tool SVRMGRL with the request:

    connect scott/tiger@june
    

    The message ORA-12154: TNS:could not resolve service name was displayed on the screen.

    Example 8-15 Trace File Example

    Description   Trace File Information  

    Note Trace level and location of the trace file in the Trace Configuration Information section.  

    -- TRACE CONFIGURATION INFORMATION FOLLOWS ---
    New trace stream is "C:\ORAWIN\network\trace\sqlnet7.trc"
    New trace level is 16
    --- TRACE CONFIGURATION INFORMATION ENDS ---
    

     

    The Network Names component cannot find service name "june.world". Note client adds ".world" extension to service name "june".  

    nnfotran: tnsname.ora entry for name "june.world" not found
    nnftqnm: Error querying june.world of attribute A.SMD 
    errcode 406
    nnfgrwsp: Query unsuccessful, skipping to next adapter
    

     

    Client attempts to access a Names Server (oranamesrvr0) to resolve service name address.  

    nnfgrwsp: Switching to ONAMES adapter
    nnfgrwsp: Original name: june
    nnfgrwsp: Qualified name: june.world
    nngsget_get_stream: looking for 
    "(DESCRIPTION=(CONNECT_DATA=(RPC=ON))(ADDRESS=(PROTOCOL=tcp)(
    HOST=oranamesrvr0)(PORT=1575)))"
    nngsget_get_stream: cache miss, opening new stream
    nngsnad_new_stream_addr: "(DESCRIP 
    TION=(CONNECT_DATA=(RPC=ON))(ADDRESS=(PROTOCOL
    =tcp)(HOST=oranamesrvr0)(PORT=1575)))"
    nngsget_get_stream: no caller address will be sent to callee
    

     

    Network Routing (nr) performs routing to Names Server (oranamesrvr0).  

    nricall: entry
    nric2a: entry
    nric2a: Getting local community information
    nriglp: entry
    nriglp: Looking for local addresses setup by nrigla
    nriglp: No addresses in the preferred address list
    nriglp: exit
    nric2a: TNSNAV.ORA is not present. No local communities 
    entry.
    nrigla: entry
    nrigla: Getting local address information
    nrigla: Simple address...
    nrigla: No community component so just use straight address
    nrigla: exit
    nridst: entry
    nridst: Resolving address to use to call destination or next 
    hop
    nridst: Found destination address
    nridst: Local address
    nridst: Local destination community found
    nridst: exit
    nric2a: This is a local community access
    nric2a: exit
    nricall: Got routable address information
    

     

     

    nricall: Making call with following address information: 
    (DESCRIPTION=(CONNECT_DATA=(RPC=ON))(ADDRESS=(PROTOCOL=tcp)(H
    OST=oranamesrvr0)(PORT=1575)))
    nricdt: entry
    nricdt: Calling with outgoing connect data 
    (DESCRIPTION=(CONNECT_DATA=(RPC=ON))(ADDRESS=(PROTOCOL=tcp)(H
    OST=oranamesrvr0)(PORT=1575)))
    

     

    Network Session (ns) sets up the session to the Name Server.  

    nscall: entry
    nscall: connecting...
    nsc2addr: entry
    nsc2addr: 
    (DESCRIPTION=(CONNECT_DATA=(RPC=ON))(ADDRESS=(PROTOCOL=tcp)(H
    OST=oranamesrvr0)(PORT=1575)))
    

     

    Network Transport (nt) sets up the transport session.  

    nttbnd2addr: entry
    nttbnd2addr: port resolved to 1575
    nttbnd2addr: looking up IP addr for host: oranamesrvr0
    nttbnd2addr: exitnsopen: entry
    nsmal: entry
    nsmal: 330 bytes at 0x30d76e74
    nsmal: normal exit
    nsopen: opening transport...
    nttcon: entry
    nttcon: toc = 1
    nttcnp: entry
    nttcnp: creating a socket.
    nttcnp: exit
    nttcni: entry
    nttcni: trying to connect to socket 1.
    ntt2err: entry
    

     

    Network Transport (nt) returns the error "no listener" as the Names Server is not running.  

    -<ERROR>- ntt2err: soc 1 error - operation=1, 
    ntresnt[0]=511, ntresnt[1]=61 ntresnt[2]=0
    ntt2err: exit
    nttcni: exit
    nttcon: exit
    nserror: entry
    

     

    The error is propagated to the next layer (ns).  

      -<ERROR>- nserror: nsres: id=0, op=65, ns=12541, ns2=12560; 
    nt[0]=511, nt[1]=61,nt[2]=0
    -<ERROR>- nsopen: unable to open transport
    

     

     

    nsmfr: entry
    nsmfr: 330 bytes at 0x30d76e74
    nsmfr: normal exit
    nsopen: error exit
    nscall: error exit
    nricdt: Call failed...
    nricfg: entry
    nricfg: exit
    nricdt: Call made to destination
    nricdt: exit
    

     

     

    nricall: Failed to copy originating community name value 
    binding
    nricall: Exiting NRICALL with following termination result -1
    nricall: exit
    nngsfad_free_stream_addr: 
    "(DESCRIPTION=(CONNECT_DATA=(RPC=ON))(ADDRESS=(PROTOCOL=tcp)(
    HOST=oranamesrvr0)(PORT=1575)))"
    -<ERROR>- nngsget_get_stream: open failure, error stack 
    follows
    

     

    The errors are propagated to the next layer (TNS)  

    TNS-12224: TNS:no listener
    TNS-12541: TNS:no listener
    TNS-12560: TNS:protocol adapter error
    TNS-00511: No listener
    nnfgrwsp: Query unsuccessful, skipping to next adapter
    

     

    The address is not found on any Names Server as no Names Server is available.  

    nnfun2a: address for name "june" not found
    nngsfad_free_stream_addr: "(DESCRIPTION = (CONNECT_DATA= 
    (RPC=ON)) (ADDRESS=(PROTOCL=tcp) (HOST=oranamesrvr0) 
    (PORT=1575)))"
    nngtdei_deinit_msg: free message pool block
    nngtfms_free_msg: message ID -10429
    nngtfms_free_msg: message was a request
    nngtfms_free_msg: message free, type 100
    nngtfoa_free_objarr: free message object array
    nngtfmt_free_msg_type: type-specific message free, type 100
    nngtfoa_free_objarr: free message object array
    nngtfms_free_msg: message ID 0
    nngtfms_free_msg: message was a response
    nngtfms_free_msg: message free, type 0
    nngsdei_deinit_streams: deinit
    nngscls_close_stream: UID 11 not established, ignored
    nngscls_close_stream: UID 0 not established, ignored
    osnqrn: Return code from nnfsn2a is 409
    

     

    Error is returned to the user.  

    -<ERROR>- onstns: Couldn't connect, returning 12154
    onstns: exit
    osnqtg: Count in the OSN global area is now 0
    rigbd: entry
    nrigbd: exit
    osnqtg: Count in the NL global area is now 0
    

     

    Trace File Example Summary

    This trace file provides a summary of what occurs with Net8 when you encounter the error "Could not resolve service name". In this example, a client is unsuccessful in making a connection to service name "june". This is because a "names.default_domain = world" parameter exists in the client profile (SQLNET.ORA) file. This parameter adds the ".world" extension to all service names requested, including the service name "june". Unfortunately, this service name is defined in neither the client's TNSNAMES.ORA configuration file, nor a Names Server. To troubleshoot this problem, the user should:

    8.5 Contacting Oracle Customer Support

    If you are still unable to resolve your problems or if you are requested to contact Oracle Customer Support to report the error, please have the following information at hand:




    Prev

    Next
    Oracle
    Copyright © 1997 Oracle Corporation.
    All Rights Reserved.

    Library

    Product

    Contents

    Index