store.dota2.com.cn is currentlyservice unavailablee. try again later.

Sorry, service is currently not available. Please try again later. - Google Blogoscoped Forum
ForumSorry, service is currently not available. Please try again later.I can see an e-mail through my feedreader and it's IMPORTANT and Gmail won't let me in to read it!!!!!!!!GAAAAAAAAAH!!!!!Server ErrorGmail is temporarily unavailable. Cross your fingers and try again in a few minutes. We're sorry for the inconvenience.I understand the service is in beta but COME ON!!!!!! You can't "kinda" use e-mail.By now, I never experience a problem with Gmail. Calm down and be a little more patient =)Yannick Mückenhirn (R)
I can not open my Gmail account. It says "Loading" on page an never open account. what can I do or how can I connect my account. Last 10 days i could read anything from my emails.celestial, try to clean up your cache. Then try again.Yannick Mückenhirn (R)
I can not open my Gmail account. It says "Loading" on page an never open account. what can I do or how can I connect my account. Last 10 days i could read anything from my emails.This is what I get when I try to log in to gmail: Sorry, service is currently not available. Please try again later.I've got my important mails in my gmail account!!! can they stop the service this way without any notice??Much as we all may hate it, we don't pay for the service, so if GMail doesn't start, there ain't much that we can do about it. Except to switch back to Hotmail / Yahooi get the "Sorry, service is currently not available. Please try again later.:as well, my friend logs on with no problem.Have u guys tried orkut. I think its too not working.Cookie..does ur friend uses netscape to log on??I'm getting the exact same message: Sorry, service is currently not available. Please try again laterI guess their server is temporarily down. Annoying.At least they could warn us... alas.i can't loggin too.... check w/ other friends who got gmail, same problem...whew...can't get in either...dumb thing though, i can't get in with my account, but my sister can get in with hers...on the same computer!! maybe there's a conspiracy going onthinking hard...need reasonable conspiracy theory – make money selling story to movie business........................I couldnt login to my gmail inbox too. says service not available :(gmail's service is "not available" again?What the heck!? Come on G-Mail, please work sooooon, I've got tons of important e-mail and your withholding thousands of users from checking theirs as well.Google can't be letting us down.. Ever think of the freak possibility that google could go down .. and just never go back up.. They'd have enough data to study for years. It's be equivalent to a mental atomic bomb going off in society. They are in Beta.. So I do tend to cut them some slack when they have down time.I have a page cannot be diplayed error as well as a security certificate denying me access, what can be done with the security certificate issue?ThabnksHad the same problem when logging thru Mozilla"Sorry, service is currently not available. Please try again later" but can login thru IEso it has to be som prob with Cache/CookieI can not open my Gmail account in my own computer. It says "Loading" on page an never open account. what can I do or how can I connect my account. But when i logg in through another computer it is ok what it is. I have already format my computer though it is not working. plz solve me rajkumarpungmail. rajkumarpunThis thread is locked as it's old... but you can create a new thread .&&&
Advertisement
Advertisement
unofficially covers Google& and more with . Join our !Troubleshooting Oracle Net Services
illustrates the directory hierarchy of the ADR for an Oracle Net Listener instance. Other ADR homes for other Oracle products or components (such as ASM or Oracle Database) can exist within this hierarchy, under the same ADR base.
Figure 16-1 Directory Structure for an Oracle Net Listener Instance
lists the values of the various path components for a CMAN instance.
Table 16-2 ADR Home Path Components for a CMAN Instance
Path Component
Value for Oracle Net Listener
Within the ADR Home directory are subdirectories where each instance (be it database, listener, CMAN, or client) stores diagnostic data.
lists some of these subdirectories and their contents.
illustrates the directory hierarchy of the ADR for a CMAN instance. Other ADR homes for other Oracle products or components (such as ASM or Oracle Database) can exist within this hierarchy, under the same ADR base.
Figure 16-2 Directory Structure for a CMAN Instance
Table 16-3 ADR Home Subdirectories
Subdirectory Name
The ADR_BASE is the physical location in which one or more ADR Homes are placed. Conceptually, it is the root directory of ADR.
Non-ADR (meaning that the DIAG_ADR_ENABLED parameter is set to OFF) diagnostic and tracing methods are still current and applicable but the parameters are ignored if ADR is enabled.
Diagnostic parameters are found in the three configuration files: sqlnet.ora for clients, listener.ora for listeners, and cman.ora for connection managers.
compares usage of various diagnostic parameters found in the sqlnet.ora file used in both non-ADR and ADR-based diagnostics.
Table 16-4 sqlnet.ora File Diagnostic Parameter Comparison
Non-ADRDIAG_ADR_ENABLED=OFF
ADRDIAG_ADR_ENABLED=ON
compares usage of various diagnostic parameters found in the listener.ora file used in both non-ADR and ADR-based diagnostics.
Table 16-5 listener.ora File Diagnostic Parameter Comparison
Non-ADRDIAG_ADR_ENABLED=OFF
ADRDIAG_ADR_ENABLED=ON
compares usage of various diagnostic parameters found in the cman.ora file used in both non-ADR and ADR-based diagnostics.
Table 16-6 cman.ora File Diagnostic Parameter Comparison
Non-ADRDIAG_ADR_ENABLED=OFF
ADRDIAG_ADR_ENABLED=ON
Trace Assistant is a diagnostic tool that completely decodes each packet of Oracle Net tracing data and presents it in a readable and understandable format. Trace Assistant also provides useful statistical information.
16.1.2 ADRCI: ADR Command Interpreter
ADRCI is a command-line tool that is part of the fault diagnosability infrastructure introduced in Oracle Database 11g. ADRCI enables you to:
View diagnostic data within ADR
Package incident and problem information into a zip file for transmission to Oracle Support
Diagnostic data includes incident and problem descriptions, trace files, dumps, health monitor reports, alert log entries, and more.
ADRCI has a rich command set, and can be used in interactive mode or within scripts. In addition, ADRCI can execute scripts of ADRCI commands in the same way that SQL*Plus executes scripts of SQL and PL/SQL commands.
To view trace files using ADRCI, enter ADRCI at a command prompt. Following are common commands used for Oracle Net trace diagnosis:
adrci&& SHOW BASE -product client
adrci&& SET BASE -product client
adrci&& SHOW TRACEFILE
adrci&& SHOW TRACE trace_file.trc
In the preceding command, SHOW BASE -product client displays the value of ADR_BASE for the client. Use that value for client in the SET BASE command.
adrci&& SHOW BASE
adrci&& SHOW TRACEFILE
adrci&& SHOW TRACE trace_file.trc
In the preceding command, BASE is defined as $ORACLE_HOME/log.
Other ADRCI command options are available for a more targeted Oracle Net trace file analysis. Type HELP at the adrci&& prompt for inline help documentation.
16.1.3 Server Diagnostics
Answer the following questions:
Is any other system (workstation/server) able to connect to the server using Net8?
Has the server, database, or listener configuration remained the same for some time?
If you answered YES to any of the preceding questions/statements, then skip this section and continue to .
If you are unsure, or answered NO to any of the preceding questions, then continue.
Diagnosing Net8 Services on the server involves the following tasks:
16.1.3.1 Task 1: Verify the Database Is Running
To check that the database is up, login to the database and connect with a valid username and password. For example:
SQLPLUS system
Enter password: password
A message appears, confirming that you are connected with the database. If you receive the following errors, ask your Database Administrator to assist you:
ORA-1017: invalid U/P
ORA-1034: Oracle not available
16.1.3.2 Task 2: Perform a Loopback Test
To perform a
from the server to the database:
Ensure that the listener.ora, tnsnames.ora, and sqlnet.ora files exist in the correct locations, as described in .
Follow the instructions in
to perform a loopback test.
If the loopback test continues to fail, continue to the next step.
If the loopback test passes, skip to .
Contact Oracle Worldwide Support.
16.1.4 Client Diagnostics
At this point, you know the server-side listener works properly, because you could verify at least one of the following statements:
The database server passed a loopback test, showing that the connection worked.
Other computers connect also using Net8 Services to this same database.
Connections from this workstation worked previous to making changes on this computer, such as the installation of a new product or a modification to the network configuration.
To perform diagnostics on the client:
Check that you have installed the same protocol support as was installed on the database server.
On UNIX you can use the ADAPTERS utility to verify protocol support. On the database server, run the adapters 'which oracle' command from $ORACLE_HOME/bin to display the protocol support, naming methods, and security options linked with the oracle executable. The adapters utility displays output similar to the following:
Oracle Net transport protocols linked with ./oracle are:
Oracle Net naming methods linked with ./oracle are:
Local Naming (tnsnames.ora)
Oracle Directory Naming
Oracle Host Naming
NIS Naming
Oracle Advanced Security options linked with ./oracle are:
RC4 40-bit encryption
RC4 56-bit encryption
RC4 128-bit encryption
RC4 256-bit encryption
DES40 40-bit encryption
DES 56-bit encryption
3DES 112-bit encryption
3DES 168-bit encryption
AES 128-bit encryption
AES 192-bit encryption
AES 256-bit encryption
MD5 crypto-checksumming
SHA crypto-checksumming (for FIPS)
SHA-1 crypto-checksumming
Kerberos v5 authentication
RADIUS authentication
ENTRUST authentication
On the client, run the adapters command from $ORACLE_HOME/bin to display the configured Oracle protocol support, naming methods, and security options. The ADAPTERS utility displays output similar to the following:
Installed Oracle Net transport protocols are:
Installed Oracle Net naming methods are:
Local Naming (tnsnames.ora)
Oracle Directory Naming
Oracle Host Naming
NIS Naming
Installed Oracle Advanced Security options are:
RC4 40-bit encryption
RC4 56-bit encryption
RC4 128-bit encryption
RC4 256-bit encryption
DES40 40-bit encryption
DES 56-bit encryption
3DES 112-bit encryption
3DES 168-bit encryption
AES 128-bit encryption
AES 192-bit encryption
AES 256-bit encryption
MD5 crypto-checksumming
SHA-1 crypto-checksumming
Kerberos v5 authentication
RADIUS authentication
ENTRUST authentication
Check base connectivity for underlying network transport. Net8 technology depends on the underlying network for a successful connection.
To ensure that both the Net8 foundation layer and the appropriate Oracle protocol support are present, verify that all Net8 Services software for the client has been installed.
Ensure that the client computer has the tnsnames.ora and the sqlnet.ora files exist in the correct locations.
If you have any other working client computers connecting to the selected Oracle Database, back up your existing files and copy both the working tnsnames.ora and sqlnet.ora files from the working computer onto the non-working client workstations. This eliminates the possibility of errors in the files.
Test the Net8 foundation layer.
If the connection still fails:
Use tracing, as described in section
Check the Problem/Solution Database Web site on the Oracle Support Web site for a specific diagnostics bulletin on the error received
Contact Oracle Support Services
16.2 Resolving the Most Common Error Messages for Oracle Net Services
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, that depend on network services from Oracle Net Services, will normally generate an error message.
A list of the most common network error messages follows:
ORA-03113: TNS:end-of-file on communication channel
Cause: An error has occurred on the database server.
Action: Check the alert_sid.log on the server. The location of alert_sid.log is specified by the BACKGROUND_DUMP_DEST initialization parameter. An unexpected end of file was processed on the communication channel. This may be an indication that the communications link may have gone down
it may indicate that the server has gone down.You may need to modify your retransmission count.
ORA-03121: no interface driver connection - function not performed
Cause: A SQL*Net version 1 prefix was erroneously used in the connect string.
Action: Do not use the following prefixes in the connect string.
The user name and password were specified from a client computer that had no local Oracle Database installed. Specify a connect string.
ORA-12154: TNS:could not resolve service name
Cause: Oracle Net could not locate the net service name specified in the tnsnames.ora configuration file.
Action: Perform these steps:
Verify that a tnsnames.ora file exists.
Verify that there are not multiple copies of the tnsnames.ora file.
In the tnsnames.ora file, verify that the net service name specified in your connect string is mapped to a connect descriptor.
Verify that there are no duplicate copies of the sqlnet.ora file.
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.
If you are connecting from a login dialog box, verify that you are not placing an "@" symbol before your connect net service name.
Activate client tracing and repeat the operation.
Cause: Oracle Net could not locate the database service name or net service name specified in the directory server.
Action: Perform these steps:
Verify that the database service or net service name entry exists in the directory that this computer was configured to use.
Verify that the sqlnet.ora file includes the following entry:
NAMES.DIRECTORY_PATH=(ldap, other_naming_methods)
ORA-12170: TNS:Connect timeout occurred
Cause: The client failed to establish a connection and complete authentication in the time specified by the SQLNET.INBOUND_CONNECT_TIMEOUT parameter in the sqlnet.ora file. This error may be a result of network or system delays, or it may indicate that a malicious client is trying to cause a denial-of-service attack on the database server.
Action: If the error occurred due to system or network delays that are normal for the particular environment, then perform these steps:
Turn on tracing to determine where clients are timing out.
Reconfigure the SQLNET.INBOUND_CONNECT_TIMEOUT parameter in sqlnet.ora to a larger value.
If you suspect a malicious client, then perform these steps:
Locate the IP address of the client in the sqlnet.log file on the database server to identify the source.
For example, the following sqlnet.log excerpt shows a client IP address of 192.0.2.35.
Fatal NI connect error 12170.
VERSION INFORMATION:
TNS for Solaris: Version 10.1.0.2.0
Oracle Bequeath NT Protocol Adapter for Solaris: Version 10.1.0.2.0
TCP/IP NT Protocol Adapter for Solaris: Version 10.1.0.2.0
Time: 03-JUL-:12
Tracing to file: /ora/trace/svr_13279.trc
Tns error struct:
nr err code: 0
ns main err code: 12637
TNS-12637: Packet receive failed
ns secondary err code: 12604
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.0.2.35)(PORT=52996))
Beware that an IP address can be forged.
If the time out occurs before the IP address can be retrieved by the database server, then enable listener tracing to determine the client that made the request.
Restrict access to the client. For example, you can configure parameters for access rights in the sqlnet.ora file.
TNS-12500/ORA-12500: TNS: listener failed to start a dedicated server process
Cause: The listener failed to start the Oracle program. Possible reasons include:
The maximum number of processes allowed for a single user was exceeded
The listener does not have execute permission on the Oracle program
The associated Windows service is not started
In some cases, these errors can be caused by the same conditions which cause TNS-12549/ORA-12549, TNS-00519, TNS-12540/ORA-12540, TNS-00510, and TNS-12560/ORA-12560 errors.
Action: Perform the appropriate action:
Increase the number of processes by setting the PROCESSES parameter in the database initialization file to a larger value.
Check the listener.log file for detailed error stack information.
ORA-12514: TNS:listener does not currently know of service requested in connectdescriptor
Cause: The listener received a request to establish a connection to a database or other service. The connect descriptor received by the listener specified a service name for a service (usually a database service) that has either not yet dynamically registered with the listener or has not been statically configured for the listener. This may be a temporary condition such as after the listener has started, but before the database instance has registered with the listener.
Action: Perform these steps:
Wait a moment and try to connect a second time.
Check which services are currently known by the listener by executing the Listener Control utility STATUS or SERVICES command.
Check that the SERVICE_NAME parameter in the connect descriptor specifies a service name known by the listener.
Check for an event in the listener.log file.
ORA-12520: TNS:listener could not find available handler for requested type of server
Cause: The type of service handler requested by the client is incorrect or not registered for the requested SERVICE_NAME/INSTANCE_NAME, or the database instance is not registered with the listener.
Action: If you suspect the problem is the wrong type of service handler, perform these steps:
If (server=value) is set is in the connect descriptor, ensure that the value is set to the appropriate service handler type for the database, that is, dedicated for dedicated server or shared for dispatchers. You can use the Listener Control utility SERVICES command to see what service handlers are currently registered with the listener.
If USE_DEDICATED_SERVER is set to ON in the sqlnet.ora file, then ensure the database is configured to use dedicated servers. If it is not, set this parameter to off.
Ensure that the database instance is running. If the instance not running, start it so that it can register with the listener.
ORA-12521: TNS:listener could not resolve INSTANCE_NAME given in connect descriptor
Cause: The INSTANCE_NAME in the connect descriptor is incorrect, or the database instance is not registered with the listener.
Action: Perform these steps:
Check to make sure the service name specified in the connect descriptor is correct.
Ensure the database instance is running. If the instance not running, start it so that it can register with the listener. You can use the Listener Control utility SERVICES command to see what instances are currently registered with the listener.
ORA-12525: TNS:listener has not received client's request in time allowed
Cause: The client failed to complete its connect request in the time specified by the INBOUND_CONNECT_TIMEOUT_listener_name parameter in the listener.ora file. This error may be a result of network or system delays, or it may indicate that a malicious client is trying to cause a denial-of-service attack on the listener.
Action: If the error occurred due to system or network delays that are normal for the particular environment, then reconfigure the INBOUND_CONNECT_TIMEOUT_listener_name parameter in listener.ora to a larger value.
If you suspect a malicious client, then perform these steps:
Locate the IP address of the client in listener.log to identify the source.
For example, the following listener.log excerpt shows a client IP address of 192.0.2.35.
03-JUL-:35 * &unknown connect data& *
(ADDRESS=(PROTOCOL=tcp)(HOST=192.0.2.35)(PORT=53208)) * establish *
&unknown sid& * 12525
TNS-12525: TNS:listener has not received client's request in time
TNS-12604: TNS: Application timeout occurred
Beware that an IP address can be forged.
Restrict access to the client. For example, you can configure parameters for access rights in the sqlnet.ora file.
ORA-12533: TNS:illegal ADDRESS parameters
Cause: The protocol specific parameters in the ADDRESS section of the designated connect descriptor are incorrect.
Action: Correct the protocol address.
TNS-12540/ORA-12540: TNS:internal limit restriction exceeded and TNS-00510: Internal limit restriction exceeded
Cause: An internal limit has been exceeded. Possible limits include:
Number of open connection that Oracle Net can process simultaneously
Number of memory buffers which can be used simultaneously
Number of processes a particular database instance is allowed
The first two are examples of hard limits. The third is an example of a limit which can be increased by setting PROCESSES parameter in the database initialization file to a larger value. In this case, a TNS-12500/ORA-12500 error is also returned. In some cases, these errors can be caused by the same conditions which cause TNS-12549/ORA-12549 and TNS-00519 errors.
Action: Perform these steps:
Wait for the open connections to close and retry. If the error persists, then check the sqlnet.log or listener.log file for detailed error stack information.
TNS-12541/ORA-12541: TNS:no listener
Cause: The connection request could not be completed because the listener is not running.
Action: Perform these steps:
Ensure that the supplied destination address matches one of the addresses used by the listener.Verify that this is not a version compatibility problem.
TNS-12549/ORA-12549: TNS:operating system resource quota exceeded and TNS-00519: Operating system resource quota exceeded
Cause: A quota or hard limit imposed by the operating system has been exceeded.
Possible limits include:
The maximum number of processes allowed for a single user
The operating system is running low on paging space
Action: Perform the appropriate action:
Increase the number of processes by setting the PROCESSES parameter in the database initialization file to a larger value.
Check the sqlnet.log or listener.log file for detailed error stack information, such as an operating system error code to help identify which quota has been exceeded.
TNS-12560/ORA-12560: TNS:protocol adapter error occurred
Cause: There was an error when using a particular protocol. This error may be due to incorrect configuration of an ADDRESS parameter or may occur due to errors returned from the underlying protocol or operating system interface.
In some cases, these errors will be caused by the same conditions which cause TNS-00510, TNS-00519, TNS-12540/ORA-12540, TNS-12549/ORA-12549 errors.
Action: Check the sqlnet.log or listener.log file for detailed error stack information.
16.2.1 Troubleshooting Directory Naming Errors
Directory naming issues associated with connectivity errors such as ORA-12154, ORA-12543, or ORA-12541 for database service or net service name entries in a directory server require analysis of the data. You can analyze the data contained within a directory server with the ldifwrite command line tool.
ldifwrite enables you to convert all or part of the information residing in a directory server to . The ldifwrite tool performs a subtree search, including all entries following the specified , including the DN itself.
The ldifwrite tool syntax is as follows:
ldifwrite -c net_service_name/database_service -b base_DN -f ldif_file
lists ldifwrite tool arguments and descriptions for each.
Table 16-7 ldifwrite Arguments
Description
The following example writes all the directory naming entries under dc=us,dc=example,dc=com to the output1.ldi file:
ldifwrite -c ldap -b "dc=us,dc=example,dc=com" -f output.ldif
16.3 Troubleshooting Tips from the Field for Oracle Net Services
Here are some tips you may find helpful when you are having difficulty diagnosing network problems:
Use the node or network address during configuration instead of the name of the server computer
This eliminates any internal lookup problems and make the connection slightly faster.
If you are using TCP/IP addresses, use the IP address rather than host name
For example, change the (HOST=server_name) line in the tnsnames.ora file with the internet address, for example (HOST=192.0.2.5).
Perform a loopback test
Perform a loopback test on the server as described in . If the test passes, ftp the tnsnames.ora and sqlnet.ora files to the client.
Check what is between you and the server
If it is a wide area network (WAN), identify any intermediate systems that may not work correctly. If all computers are fine, the problem may be a timing issue.
Verify whether or not there is a timing issue
Timing issues are associated with an ORA-12535 error in the client log files.
To resolve this, try speeding up the connection by using exact addresses instead of names and increase the INBOUND_CONNECT_TIMEOUT_listener_name parameter in the listener.ora file. The default value for this parameter is 10 seconds.
Determine which Oracle applications are failing
SQL*Plus may work, but CASE tools may not. If you determine the problem is a data volume issue, try to transfer a large (5 MB) file with the base connectivity.
16.3.1 Questions to Ask When Troubleshooting Oracle Net Services
Here are some questions to ask yourself when diagnosing a problem:
Do all computers have a problem, or is it just one?
If one computer works and another does not, and you are confident that the same software (Oracle and third-party products) is installed, on each computer, swap out the network cables, if they are close enough, to see if the problem moves. If it does move, it indicates that the problem has something to do with the client/server connection and is not local to the PC.
What kind of links exist between the client and the server, for example, X.25, ISDN, Token Ring, or leased line?
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.
16.4 Troubleshooting the TNS-12154 Error
This section offers some solutions to the TNS-12154 error. The TNS-12154 error is encountered when SQL*Net cannot find the alias specified for a connection in the tnsnames.ora file or other naming adapter.
Before attempting to resolve the problem, it may be helpful to have a printout or view of both the tnsnames.ora file and the sqlnet.ora file. Looking at these files at the same time is helpful since references will be made to both.
This section includes the following topics:
16.4.1 Problem Description for TNS-12154
The TNS-12154 error appears when SQL*Net cannot find the alias specified for a connection in the tnsnames.ora file or other naming adapter.
Before attempting to resolve this problem, it is helpful to print out or view both the tnsnames.ora file and the sqlnet.ora file. Looking at these files at the same time is helpful because references will be made to both.
The tnsnames.ora and sqlnet.ora files are located in the default network administration directory on the client system.
16.4.2 Troubleshooting TNS-12154 on UNIX
Be sure that the tnsnames.ora file and the sqlnet.ora file resemble the following examples.
Example 16-1 tnsnames.ora Sample
DEV1.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(Host = 192.0.2.56)
(Port = 1521)
(CONNECT_DATA = (SID = ORCL)
Example 16-2 sqlnet.ora Sample
TRACE_LEVEL_CLIENT = OFF
SQLNET.AUTHENTICATION_SERVICES = (NONE)
NAMES.DIRECTORY_PATH = (TNSNAMES)
AUTOMATIC_IPC = OFF
To begin the diagnostic process, determine which section of this document applies to the problem. In the sample files shown in
and , the alias in
is DEV1.WORLD while the NAMES.DEFAULT_DOMAIN=world parameter does not exist in .
In this case, add the NAMES.DEFAULT_DOMAIN=world parameter anywhere in the sqlnet.ora file. Save the file, and try the connection again.
If the TNS-12154 error still persists, determine whether the files were transferred from the client to the server and check the configuration files to ensure that CTRL-M (^M) or CTRL-R (^R) characters were not inserted at the ends of any lines. Remove any such characters you may find.
If the characters do not exist, check to see whether the NAMES.DIRECTORY_PATH parameter exists in the sqlnet.ora file and make sure the value in parenthesis is TNSNAMES, as follows:
NAMES.DIRECTORY_PATH=(TNSNAMES)
NAMES.DIRECTORY_PATH=(TNSNAMES, HOSTNAME)
This parameter is not necessary but if it exists in the sqlnet.ora file and appears as in the preceding example, the configuration files are most likely technically accurate.
At the UNIX prompt, echo the TNS_ADMIN environment variable, as follows:
% echo $TNS_ADMIN
If nothing is returned, set the TNS_ADMIN environment variable to explicitly point to the location of the tnsnames.ora file.
In C shell:
% setenv TNS_ADMIN full_path_to_tnsnames.ora_file
In K shell:
% TNS_ADMIN=full_path_to_tnsnames.ora_file; export TNS_ADMIN
Try the connection again.
If the error persists, add the AUTOMATIC_IPC=OFF parameter to the sqlnet.ora file. If AUTOMATIC_IPC is already set to ON, change the value to OFF. Try the connection again.
If the error persists, check the permissions of the tnsnames.ora and sqlnet.ora files and parent directories&usually .ora files are either -rwxrwxrwx or -rwxrwx---. Change the permissions of the configuration files to 777 to set the permissions to fully open and try the connection again.
If the error persists, redo the configuration as follows:
Set the TNS_ADMIN environment variable to /tmp.
Go to the /tmp directory and create a new tnsnames.ora file using a text editor.
Copy the sample tnsnames.ora file from
into the text editor and save the new tnsnames.ora file.
Exit the text editor and at the command prompt, type:
% sqlplus scott@dev1.world
Enter password: password
This should connect or progress to the next logical error.
16.5 Troubleshooting Network Problems Using Log and Trace Files
Oracle Net Services 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.
16.6 Logging Error Information for Oracle Net Services
All errors encountered in Oracle Net Services 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.
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.
This section contains these topics:
16.6.1 Oracle Net 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.
The error stack components are described in .
Table 16-8 Error Stack Components
Error Stack Component
Description
16.6.1.1 Example: Error Stack
As an example, suppose that a user of a client application tries to establish a connection with a database server using Oracle Net and TCP/IP, and the user enters:
Enter password: password
The following error displays:
ORA-12543: TNS:Unable to connect to destination
This message indicates that the connection to the server failed because the database could not be contacted. 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, the sqlnet.log file () contains an error stack corresponding to the ORA-12543 error.
Example 16-3 sqlnet.log File
***********************************************************
Fatal OSN connect error 12543, 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:
TNS-12543: 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
16.6.2 Oracle Net Services Log File Names
Each Oracle Net Services component produces its own log file.
provides the default log file names and lists the components that generate the log files.
Table 16-9 Log Files
16.6.3 Setting Logging 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 described in .
Table 16-10 Location of Log Parameters
Network Component
Configuration File
This section contains these topics:
16.6.3.1 sqlnet.ora Log Parameters
describes the log parameters settings that can be set in the sqlnet.ora file.
Table 16-11 sqlnet.ora Log Parameters
sqlnet.ora Parameter
Oracle Net Manager Field
Description
16.6.3.2 listener.ora Log Parameters
describes the log parameters settings that can be set in the listener.ora file.
Table 16-12 listener.ora Log Parameters
listener.ora Parameter
Oracle Net Manager Field
Description
16.6.3.3 cman.ora Log Parameters
describes the log parameters settings that can be set in the cman.ora file.
Table 16-13 cman.ora Log Parameters
cman.ora Parameter
Description
16.6.3.4 Setting Logging Parameters in Configuration Files
You configure logging parameters for the sqlnet.ora file with Oracle Net Manager and listener.ora file with either Oracle Enterprise Manager or Oracle Net Manager.
You must manually configure cman.ora file logging parameters.
To set logging parameters with Oracle Enterprise Manager and Oracle Net Manager, refer to .
Table 16-14 Setting Logging Parameters in Configuration Files
Set Logging Parameters Here...
16.6.4 Setting Logging Settings During Run Time of Control Utilities
You can set logging during control utility run time. Setting logging with a control utility does not set parameters in the *.ora the setting is only valid for the session of the control utility:
For a listener, use the SET LOG_FILE and SET LOG_DIRECTORY commands from the Listener Control utility.
For an Oracle Connection Manager, use the SET LOG_DIRECTORY, SET LOG_LEVEL, and SET EVENT commands from the Oracle Connection Manager control utility.
16.6.5 Using Log Files
To use a log file to diagnose a network error:
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.
Starting from the bottom of the file, locate the first nonzero entry in the error report. This is usually the actual cause.
If that error does not provide the desired information, review the next error in the stack until you locate the correct error information.
If the cause of the error is still not clear, turn on tracing and repeat the statement that produced the error message.
16.6.6 Analyzing Listener Log Files
This section describes what is recorded in the listener log file, including:
16.6.6.1 Listener Log Audit Trail Information
The listener log file contains audit trail information that enables you to gather and analyze network usage statistics, as well as information indicating the following:
A client connection request
A RELOAD, START, STOP, STATUS, or SERVICES command issued by the Listener Control utility
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.
16.6.6.1.1 Format of the Listener Log Audit Trail
The audit trail formats text into the following fields:
Timestamp * Connect Data [* Protocol Info] * Event [* SID | Service] * Return Code
Properties of the audit trail are as follows:
Each field is delimited by an asterisk (*).
Protocol address information and service name or SID information appear only when a connection is attempted.
A successful connection or command returns a code of zero.
A failure produces a code that maps to an error message.
16.6.6.1.2 Example: Listener Log Event for Successful Reload Request
The following output shows a log file excerpt with RELOAD command request.
14-JUL-:54 *
(connect_data=(cid=(program=)(host=sales-server)(user=jdoe))(command=stop)
(arguments=64)(service=listener)(version=))
* stop * 0
16.6.6.1.3 Example: Listener Log Events for a Successful Connection Request
The following output shows a log file excerpt with a successful connection request.
14-JUL-:58 *
(connect_data=(service_name=sales.)(cid=(program=)(host=sales-server)
(user=jdoe)))
* (address=(protocol=tcp)(host=192.0.2.35)(port=41349)) * establish
* sales. * 0
16.6.6.1.4 Example: Listener Log Events for an Unsuccessful Connection Request
The following output shows a log file excerpt with a successful execution of the STATUS command by host sales-server, followed by an unsuccessful connection attempt by a client with an IP address of 192.0.2.35. This connection attempt resulted in an
error message, which occurs when a client fails to complete its connect request in the time specified by the INBOUND_CONNECT_TIMEOUT_listener_name parameter in the listener.ora file. This client may be attempting a denial-of-service attack on the listener.
03-JUL-:57 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=sales-server)(USER=jdoe))(COMMAND=status)
(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=)) * status * 0
03-JUL-:35 * &unknown connect data& *
(ADDRESS=(PROTOCOL=tcp)(HOST=192.0.2.35)(PORT=53208)) * establish *
&unknown sid& * 12525
TNS-12525: TNS:listener has not received client's request in time allowed
TNS-12604: TNS: Application timeout occurred
16.6.6.2 Listener Service Registration Event Information
The listener records service registration events. During service registration, the
provides the listener with information about the following:
Service names for each running instance of the database
Instance names of the database
Service handlers (dispatchers or dedicated servers) available
Dispatcher, instance, and node load information
Dynamic listening endpoints
The service registration-related events listed in
are recorded in the listener.log file:
Table 16-15 Service Registration Event Log Information
16.6.6.2.1 Format of the Listener Service Registration Information
The service registration events are formatted into the following fields:
Timestamp * Event *
Instance Name * Return Code
Properties of service registration fields are as follows:
Each field is delimited by an asterisk (*).
It is normal for the events to appear multiple times in a row for one instance.
A successful registration returns a code of zero, meaning the client can connect to the instance.
A failure produces a code that maps to an error message.
16.6.6.2.2 Example: Listener Log with Service Registration Events
The following example shows a log file with service registration events. Notice how the listener is able to receive a client request after a successful service_register event, but is unable to receive client requests after a service_died event.
-------------------------------
14-JUL-:43 * service_register * sales * 0
14-JUL-:43 * service_register * sales * 0
14-JUL-:58 *
(connect_data=(service_name=sales.)(cid=(program=)(host=sales-server)
(user=jdoe)))
* (address=(protocol=tcp)(host=192.0.2.35)(port=41349)) * establish
* sales. * 0
14-JUL-:44 * service_update * sales * 0
14-JUL-:44 * service_update * sales * 0
14-JUL-:45 * service_update * sales * 0
14-JUL-:45 * service_update * sales * 0
14-JUL-:57 *
(connect_data=(service_name=sales.)(cid=(program=)(host=sales-server)(u
ser=jdoe)))
* (address=(protocol=tcp)(host=192.0.2.35)(port=41365)) * establish
* sales. * 0
14-JUL-:26 * service_died * sales * 12537
14-JUL-:26 * service_died * sales * 12537
14-JUL-:06 *
(connect_data=(service_name=sales.)(cid=(program=)(host=sales-server)(u
ser=jdoe)))
* (address=(protocol=tcp)(host=192.0.2.35)(port=41406)) * establish
* sales. * 12514
TNS-12514: TNS:listener could not resolve SERVICE_NAME given in connect
descriptor
--------------------------------
16.6.6.3 Listener Direct Hand-Off Information
The listener records direct hand-off events to s. These events are formatted into the following fields:
Timestamp * Presentation * Handoff
* Error Code
Properties of direct hand-off fields are as follows:
Each field is delimited by an asterisk (*).
A successful connection or command returns a code of zero.
A failure produces a code that maps to an error message.
16.6.6.3.1 Example: Listener Log Event for Direct Hand-Off
A direct hand-off event in the log file is shown in the following example.
21-JUL-:55 * oracle.aurora.net.SALESHttp2 * handoff * 0
16.6.6.4 Listener Subscription for ONS Node Down Event Information
Listener will subscribe to the Oracle Notification Service (ONS) node down event on startup if ONS configuration file is available. This subscription enables the listener to remove the affected service when it receives node down event notification from ONS. The listener uses asynchronous subscription for the event notification. The following warning message will be recorded to listener log file on each STATUS command if the subscripti for example if the ONS daemon is not running on the host.
WARNING: Subscription for node down event still pending
Listener will not be able to receive the ONS event while subscription is pending. Other than that, no other listener functionality is affected.
16.6.6.5 Listener Oracle Clusterware Notification Information
If the required Oracle Clusterware (CRS in the following log messages) libraries are installed and Oracle Clusterware is started on the host, Oracle Listener will notify Oracle Clusterware about its status upon start and stop. After successful notification, listeners records the event in the log. No message will be recorded if the notification fails.
Listener completed notification to CRS on start
Listener completed notification to CRS on stop
16.6.7 Analyzing Oracle Connection Manager Logs
Oracle Connection Manager generates four types of log files: one each for its listener, gateway, and CMADMIN processes and one for alerts. The last is a chronological record of all critical errors. In addition to logging critical errors, the alert log captures information about instance startup and shutdown. It also records the value of all configuration parameters at the beginning and end of a session. See
for file name syntax.
The CMADMIN and gateway log files are reproduced here.
explains some of the log entries. Each entry consists of a timestamp and an event. You can configure cman.ora to log events in the following categories:
Initialization and termination
Memory operations
Connection handling
Process management
Registration and load update
Events related to CMADMIN wakeup queue
Gateway timeouts
Command processing
Events associated with connection control blocks
Use the SET EVENT command to specify which events to log.
This section includes the following examples:
16.6.7.1 CMADMIN Log File Example
-------------------------------
(LOG_RECORD=(TIMESTAMP=08-MAY-:40)(EVENT=Parameter list)
(listener_address=(address=(protocol=tcp)(host=usunnae16)(port=1574)))
(aso_authentication_filter=OFF)
(connection_statistics=ON)
(log_directory=/home/user/network/admin/log)
(log_level=support)
(max_connections=256)
(idle_timeout=5)
(inbound_connect_timeout=0)
(session_timeout=20)
(outbound_connect_timeout=0)
(max_gateway_processes=1)
(min_gateway_processes=1)
(password=OFF)
(remote_admin=ON)
(trace_directory=/home/user/network/admin/log)
(trace_level=off)
(trace_timestamp=OFF)
(trace_filelen=0)
(trace_fileno=0)
(LOG_RECORD=(TIMESTAMP=08-MAY-:40)(EVENT=Shared Memory Size)
(BYTES=82524))
(LOG_RECORD=(TIMESTAMP=08-MAY-:40)(EVENT=GMON Attributes validated)
(Type=Information))
(LOG_RECORD=(TIMESTAMP=08-MAY-:40)(EVENT=NS Listen Successful)
((ADDRESS=(PROTOCOL=tcp)(HOST=usunnae16)(PORT=55878))))
(LOG_RECORD=(TIMESTAMP=08-MAY-:44)(EVENT=Received command)(CMD=verify
password))
(LOG_RECORD=(TIMESTAMP=08-MAY-:44)(EVENT=Received command)
(CMD=version))
(LOG_RECORD=(TIMESTAMP=08-MAY-:44)(EVENT=Received command)
(CMD=show status))
(LOG_RECORD=(TIMESTAMP=08-MAY-:44)(EVENT=Failed to get procedure id))
(LOG_RECORD=(TIMESTAMP=08-MAY-:12)(EVENT=Received command)(CMD=verify
password))
(LOG_RECORD=(TIMESTAMP=08-MAY-:15)(EVENT=Failed to get procedure id))
(LOG_RECORD=(TIMESTAMP=08-MAY-:29)(EVENT=Received command)(CMD=verify
password))
(LOG_RECORD=(TIMESTAMP=08-MAY-:46)(EVENT=Failed to get procedure id))
(LOG_RECORD=(TIMESTAMP=08-MAY-:50)(EVENT=Received command)(CMD=verify
password))
(LOG_RECORD=(TIMESTAMP=08-MAY-:50)(EVENT=Received command)
(CMD=probe monitor))
(LOG_RECORD=(TIMESTAMP=08-MAY-:50)(EVENT=Received command)
(CMD=shutdown normal))
-------------------------------
16.6.7.2 Gateway Log File Example
-------------------------------
(LOG_RECORD=(TIMESTAMP=08-MAY-:41)(EVENT=NS Initialised))
(LOG_RECORD=(TIMESTAMP=08-MAY-:41)(EVENT=Memory Allocated)
(BYTES=1024))
(LOG_RECORD=(TIMESTAMP=08-MAY-:41)(EVENT=NCR Initialised))
(LOG_RECORD=(TIMESTAMP=08-MAY-:41)(EVENT=Connected to Monitor))
(LOG_RECORD=(TIMESTAMP=08-MAY-:41)(EVENT=State Change from Empty to
(LOG_RECORD=(TIMESTAMP=08-MAY-:41)(EVENT=Memory Allocated)
(BYTES=251904))
(LOG_RECORD=(TIMESTAMP=08-MAY-:41)(EVENT=Memory Allocated)
(BYTES=2048))
(LOG_RECORD=(TIMESTAMP=08-MAY-:41)(EVENT=CCB Initialised))
(LOG_RECORD=(TIMESTAMP=08-MAY-:41)(EVENT=Started Listening))
(LOG_RECORD=(TIMESTAMP=08-MAY-:41)(EVENT=State Change from Init to
(LOG_RECORD=(TIMESTAMP=08-MAY-:47)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=08-MAY-:06)(EVENT=Ready)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=08-MAY-:06)(EVENT=Ready)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=08-MAY-:07)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=08-MAY-:12)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=08-MAY-:13)(EVENT=Idle Timeout)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=08-MAY-:17)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=08-MAY-:22)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=08-MAY-:25)(EVENT=Ready)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=08-MAY-:25)(EVENT=Ready)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=08-MAY-:27)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=08-MAY-:30)(EVENT=Idle Timeout)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=08-MAY-:32)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=08-MAY-:37)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=08-MAY-:42)(EVENT=Ready)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=08-MAY-:42)(EVENT=Ready)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=08-MAY-:42)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=08-MAY-:47)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=08-MAY-:52)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=08-MAY-:57)(EVENT=Housekeeping))
(LOG_RECORD=(TIMESTAMP=08-MAY-:02)(EVENT=Session Timeout)(CONN NO=0))
(LOG_RECORD=(TIMESTAMP=08-MAY-:02)(EVENT=Housekeeping))
-------------------------------
Table 16-16 CMADMIN and Gateway Log Entries: What They Mean
Description
16.7 Tracing Error Information for Oracle Net Services
Tracing produces a detailed sequence of statements that describe network events as they are executed. Tracing an operation enables you to obtain more information on the internal operations of the components of Oracle Net Services 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.
This section contains topics:
16.7.1 Oracle Net Services Trace File Names
Each Oracle Net Services component produces its own trace file.
provides the default trace file names and lists the components that generate the trace files.
Table 16-17 Trace Files
Trace File
16.7.2 Setting Tracing Parameters
Parameters that control tracing, including the type and amount of information trace, as well as the location where the files are stored, are set in the configuration file of each network component as described in .
Table 16-18 Location of Trace Parameters
Configuration File
This section contains these topics:
16.7.2.1 sqlnet.ora Trace Parameters
describes the trace parameters settings that can be set in the sqlnet.ora file.
Table 16-19 sqlnet.ora Trace Parameters
sqlnet.ora Parameter
Oracle Net Manager Field
Description
You can manually add the following TNSPING utility tracing parameters described in
to sqlnet.ora. The TNSPING utility determines whether or not a service (such as a database or other TNS services) on a Oracle Net network can be successfully reached.
Table 16-20 TNSPING Trace Parameters
sqlnet.ora Parameter
Description
16.7.2.2 listener.ora Trace Parameters
describes the trace parameters settings for the listener that can be set in the listener.ora file.
Table 16-21 listener.ora Trace Parameters
listener.ora Parameter
Oracle Enterprise Manager/Oracle Net Manager Field
Description
16.7.2.3 cman.ora Trace Parameters
describes the trace parameters settings for Oracle Connection Manager that can be set in the cman.ora file.
Table 16-22 cman.ora Trace Parameters
cman.ora Parameter
Description
16.7.2.4 Setting Tracing Parameters in Configuration Files
You configure tracing parameters for the sqlnet.ora file with Oracle Net Manager and listener.ora file with either Oracle Enterprise Manager or Oracle Net Manager.
You must manually configure cman.ora file tracing parameters.
To set tracing parameters with Oracle Enterprise Manager and Oracle Net Manager, refer to
Table 16-23 Set Tracing Parameters in Configuration Files
Trace File
Set Logging Parameters Here...
16.7.3 Setting Tracing Settings During Run Time of Control Utilities
You can set tracing during control utility run time. Setting tracing with a control utility does not set parameters in the *.ora the setting is only valid for the session of the control utility:
For the listener, use the SET TRC_DIRECTORY, SET TRC_FILE, and SET TRC_LEVEL commands from the Listener Control utility.
For an Oracle Connection Manager, use the SET TRACE_DIRECTORY and SET TRACE_LEVEL, and SET TRACE_TIMESTAMP commands from the Oracle Connection Manager control utility.
This section includes the following topics:
16.7.4 Evaluating Oracle Net Services Traces
Trace files can help Oracle Support Services diagnose and troubleshoot network problems.
This section explains how to perform basic analysis of trace files. The topics discussed include:
16.7.4.1 Flow of Data Packets Between Network Nodes
Oracle Net performs its functions by sending and receiving data packets.By specifying a trace level of support, you can view the actual contents of the Oracle Net packet in your trace file. The order of the packet types sent and received will help you to determine how your connection was established.
16.7.4.2 Oracle Net 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.
Next is a list of the Oracle Net packet keywords and descriptions of the types of packets they represent:
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 "nsp". It is helpful to remember this when reviewing trace files for specific packet information
provides typical packet information.
Example 16-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)
16.7.4.3 Pertinent Oracle Net Trace Error Output
When there is a problem a connection, the error code is logged in the trace file.
depicts typical trace file output for a failed SQL*Plus connection to a database server.
Example 16-5 Trace Example
[22-JUL-:07:687] nsprecv: entry
[22-JUL-:07:687] nsbal: entry
[22-JUL-:07:687] nsbgetfl: entry
[22-JUL-:07:687] nsbgetfl: normal exit
[22-JUL-:07:687] nsmal: entry
[22-JUL-:07:687] nsmal: 44 bytes at 0x132d90
[22-JUL-:07:687] nsmal: normal exit
[22-JUL-:07:687] nsbal: normal exit
[22-JUL-:07:687] nsprecv: reading from transport...
[22-JUL-:07:687] nttrd: entry
[22-JUL-:09:625] nttrd: exit
[22-JUL-:09:625] ntt2err: entry
[22-JUL-:09:625] ntt2err: Read unexpected EOF ERROR on 10
[22-JUL-:09:625] ntt2err: exit
[22-JUL-:09:625] nsprecv: transport read error
[22-JUL-:09:625] nsprecv: error exit
[22-JUL-:09:625] nserror: entry
[22-JUL-:09:625] nserror: nsres: id=0, op=68, ns=12537, ns2=12560;
nt[0]=507, nt[1]=0, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
[22-JUL-:09:625] nscon: error exit
[22-JUL-:09:625] nsdo: nsctxrnk=0
[22-JUL-:09:625] nsdo: error exit
[22-JUL-:09:625] nscall: unexpected response
[22-JUL-:09:625] nsclose: entry
[22-JUL-:09:625] nstimarmed: entry
[22-JUL-:09:625] nstimarmed: no timer allocated
[22-JUL-:09:625] nstimarmed: normal exit
[22-JUL-:09:625] nsdo: entry
[22-JUL-:09:625] nsdo: cid=0, opcode=98, *bl=0, *what=0,
uflgs=0x440, cflgs=0x2
[22-JUL-:09:625] nsdo: rank=64, nsctxrnk=0
[22-JUL-:09:625] nsdo: nsctx: state=1, flg=0x4201, mvd=0
[22-JUL-:09:625] nsbfr: entry
[22-JUL-:09:625] nsbaddfl: entry
[22-JUL-:09:625] nsbaddfl: normal exit
[22-JUL-:09:625] nsbfr: normal exit
[22-JUL-:09:625] nsbfr: entry
[22-JUL-:09:625] nsbaddfl: entry
[22-JUL-:09:625] nsbaddfl: normal exit
[22-JUL-:09:625] nsbfr: normal exit
[22-JUL-:09:625] nsdo: nsctxrnk=0
[22-JUL-:09:625] nsdo: normal exit
[22-JUL-:09:625] nsclose: closing transport
[22-JUL-:09:625] nttdisc: entry
[22-JUL-:09:625] nttdisc: Closed socket 10
[22-JUL-:09:625] nttdisc: exit
[22-JUL-:09:625] nsclose: global context check-out (from slot 0)
[22-JUL-:09:703] nsnadisc: entry
[22-JUL-:09:703] nadisc: entry
[22-JUL-:09:703] nacomtm: entry
[22-JUL-:09:703] nacompd: entry
[22-JUL-:09:703] nacompd: exit
[22-JUL-:09:703] nacompd: entry
[22-JUL-:09:703] nacompd: exit
[22-JUL-:09:703] nacomtm: exit
[22-JUL-:09:703] nas_dis: entry
[22-JUL-:09:703] nas_dis: exit
[22-JUL-:09:703] nau_dis: entry
[22-JUL-:09:703] nau_dis: exit
[22-JUL-:09:703] naeetrm: entry
[22-JUL-:09:703] naeetrm: exit
[22-JUL-:09:703] naectrm: entry
[22-JUL-:09:703] naectrm: exit
[22-JUL-:09:703] nagbltrm: entry
[22-JUL-:09:703] nau_gtm: entry
[22-JUL-:09:703] nau_gtm: exit
[22-JUL-:09:703] nagbltrm: exit
[22-JUL-:09:703] nadisc: exit
[22-JUL-:09:703] nsnadisc: normal exit
[22-JUL-:09:703] nsbfr: entry
[22-JUL-:09:703] nsbaddfl: entry
[22-JUL-:09:703] nsbaddfl: normal exit
[22-JUL-:09:703] nsbfr: normal exit
[22-JUL-:09:703] nsmfr: entry
[22-JUL-:09:703] nsmfr: 2256 bytes at 0x130508
[22-JUL-:09:703] nsmfr: normal exit
[22-JUL-:09:703] nsmfr: entry
[22-JUL-:09:703] nsmfr: 484 bytes at 0x1398a8
[22-JUL-:09:703] nsmfr: normal exit
[22-JUL-:09:703] nsclose: normal exit
[22-JUL-:09:703] nscall: connecting...
[22-JUL-:09:703] nsclose: entry
[22-JUL-:09:703] nsclose: normal exit
[22-JUL-:09:703] nladget: entry
[22-JUL-:09:734] nladget: exit
[22-JUL-:09:734] nsmfr: entry
[22-JUL-:09:734] nsmfr: 144 bytes at 0x132cf8
[22-JUL-:09:734] nsmfr: normal exit
[22-JUL-:09:734] nsmfr: entry
[22-JUL-:09:734] nsmfr: 156 bytes at 0x138e70
[22-JUL-:09:734] nsmfr: normal exit
[22-JUL-:09:734] nladtrm: entry
[22-JUL-:09:734] nladtrm: exit
[22-JUL-:09:734] nscall: error exit
[22-JUL-:09:734] nioqper:
error from nscall
[22-JUL-:09:734] nioqper:
ns main err code: 12537
[22-JUL-:09:734] nioqper:
err code: 12560
[22-JUL-:09:734] nioqper:
nt main err code: 507
[22-JUL-:09:734] nioqper:
err code: 0
[22-JUL-:09:734] nioqper:
err code: 0
[22-JUL-:09:734] niomapnserror: entry
[22-JUL-:09:734] niqme: entry
[22-JUL-:09:734] niqme: reporting NS-12537 error as ORA-12537
[22-JUL-:09:734] niqme: exit
[22-JUL-:09:734] niomapnserror: returning error 12537
[22-JUL-:09:734] niomapnserror: exit
[22-JUL-:09:734] niotns: Couldn't connect, returning 12537
[22-JUL-:10:734] niotns: exit
[22-JUL-:10:734] nsbfrfl: entry
[22-JUL-:10:734] nsbrfr: entry
[22-JUL-:10:734] nsbrfr: nsbfs at 0x132d90, data at 0x132dc8.
[22-JUL-:10:734] nsbrfr: normal exit
[22-JUL-:10:734] nsbrfr: entry
[22-JUL-:10:734] nsbrfr: nsbfs at 0x1248d8, data at 0x132210.
[22-JUL-:10:734] nsbrfr: normal exit
[22-JUL-:10:734] nsbrfr: entry
[22-JUL-:10:734] nsbrfr: nsbfs at 0x12d820, data at 0x1319f0.
[22-JUL-:10:734] nsbrfr: normal exit
[22-JUL-:10:734] nsbfrfl: normal exit
[22-JUL-:10:734] nigtrm: Count in the NI global area is now 1
[22-JUL-:10:734] nigtrm: Count in the NL global area is now 1
The most efficient way to evaluate error codes is to find the most recent nserror entry logged, as 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 the connection.
For information about the specific return codes, use the Oracle UNIX error tool oerr, by entering the following at any command line:
oerr tns error_number
As an example, consider the following nserror entry logged in the trace file shown in :
[22-JUL-:09:625] nserror: nsres: id=0, op=68, ns=12537, ns2=12560;
nt[0]=507, nt[1]=0, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
Using oerr, you can find out more information about return codes 12537 and 507. (Bold denotes user input.)
oerr tns 12537
1, "TNS:connection closed"
// *Cause: "End of file" condit partner has
disconnected.
// *Action: N this is an information message.
oerr tns 507
0, "Connection closed"
// *Cause: Normal "end of file" condit partner has
// disconnected.
// *Action: N this is an information message.
16.7.5 Using the Trace Assistant to Examine Trace Files
Oracle Net Services provides a tool called the Trace Assistant to help you understand the information provided in 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) Oracle Net Services trace file.
This section contains the following topics:
16.7.5.1 Trace Assistant Syntax
To run the Trace Assistant, enter the following at any command line prompt:
trcasst [options] &filename&
The options are described in .
Table 16-24 Trace Assistant Syntax
Description
If no options are provided, then the default is -odt -e0 -s, providing detailed connectivity and TTC events, error level zero (0), and statistics in the trace file.
shows how the Trace Assistant converts trace file information into a more readable format.
Example 16-6 Trace File with Error
ntus2err: exit
ntuscni: exit
ntusconn: exit
nserror: entry
-&ERROR&- nserror: nsres: id=0, op=65, ns=12541, ns2=12560; nt[0]=511, nt[1]=2, nt[2]=0
shows how the Trace Assistant converts the trace file information into a more readable format with the -e1 option.
Example 16-7 trcasst -e1 Output
*************************************************************************
Trace Assistant
*************************************************************************
ntus2err: exit
ntuscni: exit
ntusconn: exit
nserror: entry
-&ERROR&- nserror: nsres: id=0, op=65, ns=12541, ns2=12560; nt[0]=511, nt[1]=2, nt[2]=0
///////////////////////////////////////////////////////////////
Error found. Error Stack follows:
Operation code:65
NS Error 1:12541
NS Error 2:12560
NT Generic Error:511
Protocol Error:2
OS Error:0
NS & NT Errors Translation
1 "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.
1 "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.
0 "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.
///////////////////////////////////////////////////////////////
*************************************************************************
Trace Assistant has completed
*************************************************************************
However, other errors may also exist within the trace file that were not logged from the nserror function.
16.7.5.2 Packet Examples
Trace Assistant also enables you to view data packets from both the Oracle Net and TTC communication layers. Trace Assistant offers you two options to view these packets:
Summary connectivity (using option -oc)
Detailed connectivity (using option -od)
16.7.5.2.1 Example: Summary Data Packets Sent in a Connection
shows summary information from the -oc option. The output shows....
Example 16-8 trcasst -oc Output
*************************************************************************
Trace Assistant
*************************************************************************
---& Send 198 bytes - Connect packet
Connect data length: 140
Connect Data:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sales-server)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=sales.)(CID=(PROGRAM=)
(HOST=sales-server)(USER=joe))))
&--- Received 76 bytes - Redirect packet
Redirect data length: 66
Redirect Data:
(ADDRESS=(PROTOCOL=tcp)(HOST=sales-server)(PORT=1521))
---& Send 198 bytes - Connect packet
Connect data length: 140
Connect Data:
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sales-server)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=sales.)(CID=(PROGRAM=)
(HOST=sales-server)(USER=joe))))
&--- Received 32 bytes - Accept packet
Connect data length: 0
---& Send 153 bytes - Data packet
Native Services negotiation packet
&--- Received 127 bytes - Data packet
Native Services negotiation packet
---& Send 32 bytes - Data packet
&--- Received 140 bytes - Data packet
*************************************************************************
Trace Assistant has completed
*************************************************************************
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 database server. The connection request is always sent by the client, but received by the database server (or listener).
16.7.5.2.2

我要回帖

更多关于 unavailable 的文章

 

随机推荐