Oracle Networking Products Getting Started for Windows Platforms Release 8.0.3 A53746-01 |
|
This appendix describes how to resolve problems that may arise when you use the Oracle Network Products. Specifically, this appendix covers the following topics:
The error messages most commonly experienced by Oracle networking product users are:
ORA-12154: TNS: Could not resolve service name
ORA-12203: TNS: unable to connect to destination and ORA-12154: TNS: could not resolve service name
ORA-3113: end of file communication channel
ORA-3121: No interface driver connection - function not performed
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:
SQLPLUS SCOTT/TIGER@service_name
By default, TNSNAMES.ORA is located in ORACLE_HOME\NET80\ADMIN.
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 file ORACLE_HOME\NET80\ADMIN\SQLNET.ORA.
The domain name must be specified in the connect string if no parameter exists in the SQLNET.ORA file. In the case that 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
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:
LSNCTL80
LSNRCTL>START [
listener_name]
where listener_name is the name of the listener defined in the LISTENER.ORA file with the alias LISTENER. 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]
By default, TNSNAMES.ORA is located in ORACLE_HOME\NET80\ADMIN.
@ORCL
in your TNSNAMES.ORA.
Cause: An unexpected end-of-file was processed on the communication channel. The TCP/IP retransmission count on Win NT/95 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
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 prefix@
service_name connect string.
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 Oracle 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 slowly test each 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:
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:
Note::
A supported third party network transport layer must be also installed and tested. |
Follow the instructions in Chapter 6, "Connecting to a Database".
Note::
You may need assistance from the database administrator with the information contained in this section. |
Answer the questions below. If you answer Yes to any of the questions, skip this server diagnostics, and go to the section "Client Diagnostics". At this point, you know the Net8 server side listener is functioning properly, because you were able to answer Yes to any of the following statements in this appendix. If you are not sure or answered No to any of the above questions, continue with the server diagnostics.
Diagnosing Net8 on the server involves:
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:
In order to perform a loopback test:
If IPC is ON, the loopback is performed through IPC (Interprocess Communication) instead of the connection going out of the network card with the protocol adapter (defeating the purpose of the loopback test).
If the loopback test continues to fail, continue to Step 3.
If the loopback test passes, skip to Step 4.
At this point, you know the Net8 server side listener is functioning properly, because you were able to answer Yes to any of the following statements:
You have verified that there are no problems on the server side. Now check the client side.
Net8 technology depends upon the underlying network for a successful connection.
For more information on any of the above commands, please refer to your vendor networking software documentation.
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 Server using Net8, 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.
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 Server listener. It just ensures TNS listener is present at the server side.
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\NET80\ADMIN \LOG and trace files are by default located in ORACLE_HOME\NET80\ADMIN \TRACE.
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 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 describes 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.
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.
For more specific details about Oracle Net8 logging and tracing, please refer to the following documentation
Edit the SQLNET.ORA and LISTENER.ORA files and set the following:
TRACE_LEVEL_CLIENT=16
TRACE_DIRECTORY_CLIENT
= <Directory where trace is written>LOG_DIRECTORY_CLIENT = <Directory where log file is written>
The default name for the trace file are SQLNET.TRC and LISTENER.TRC and the default name for the log file are SQLNET.LOG and LISTENER.LOG.
Below are some Net8 tips you may find helpful when you are having difficulty diagnosing the problem:
For TCP/IP - Use the internet address, for example, 198.32.3.5
Change the (HOST =
server_name) line in TNSNAMES.ORA with internet address, for example, (HOST=198.32.3.5).
The workstation that is requesting a connection to be made with a remote Oracle SPX listener must first learn the location of that SPX service in the NetWare IPX network.
The client workstation issues a NCP (NetWare Core Protocol) lookup request to the server it is currently attached to with its primary connection. This does not require the workstation to be logged into that NetWare server as a registered NetWare user, it simply requires that a workstation NCP connection has been established with the server.
When Net8 SPX has requested a connection be made with a remote Oracle SPX listener, the workstation provides the following items of information to the NetWare server when requesting this lookup:
Object Type |
259 DEC (0x103 hex) |
Object Name |
Oracle SPX listener name |
Field Requested |
Network Address |
If this combination of information is not present in the Server Information Table, an error is sent back to the workstation.
The SQLNET.ORA file may have parameters that are required for more enhanced uses, such as Dead Connection Detection. Older SQLNET.ORA files may have Advanced Networking Option (ANO) that do not work for Net 8. If these features are not fully configured, a basic connection may fail. The following parameters can be commented out:
SQLNET.AUTHENTICATION_SERVICES
(ANO Parameter)
SQLNET.EXPIRE_TIME
(Dead Connection Detection Parameter)
SQLNET.CRYPTO_SEED
(ANO Parameter)
Try speeding up the connection by using exact addresses instead of names and increase the CONNECT_TIMEOUT_LISTENER parameter in the LISTENER.ORA file. The default value for this parameter is 10 seconds.
Below are some questions to ask yourself when diagnosing a problem:
If one machine works and another does not, and you are confident that the same software (Oracle and third party products) is installed, swap over the network cables (if they are close enough) to see if the problem moves. This indicates the problem is something between the client-server and not locally on the PC.
Sniffers and Lan Analyzers are useful for intermittent failing connections or detecting time-outs and resent packets. You can also see what side of the conversation is waiting for a response.
If after reading this chapter, you still cannot resolve your problems or you are recommended to call Oracle Customer Support to report the error, please have the following information at hand: