In a recent deployment project, the Linux system uses a non-oracle user test (such as test) tnspingorcl with the following prompt message: TNS-03505: Failedtoresolvename
In a recent deployment project, the Linux system uses a non-oracle user test (such as test) tnsping orcl with the following prompt: TNS-03505: Failed to resolve name
Recently deployed project. The following message is displayed in the Linux System for Non-Oracle user testing (such as test) tnsping orcl:
TNS Ping Utility for Linux: Version 11.2.0.1.0-Production on 04-DEC-2012 14:29:28
Copyright (c) 1997,200 9, Oracle. All rights reserved.
Used parameter files:
/Opt/oracle/product/11g/network/admin/sqlnet. ora
TNS-03505: failure to resolve name
At first glance, the cause of the problem is clear. That is, the orcl service name cannot be resolved. However, I can use pl/SQL in other windows systems to connect to the local area network.
It is difficult to understand the Linux system. There are many solutions for searching through the Internet:
First, the file configuration is incorrect;
Second, the NAMES. DIRECTORY_PATH Setting Problem in the sqlnet. ora file;
Third, the lsnrctl status listener is incorrect or the sqlplus version is incorrect.
The first case means that in tnsnames. the orcl I configured in the ora file is faulty. Most people say there is no space in front of it, and I didn't have it; then there is listener. ora has a standard syntax:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME =/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME =/oracle/product/10.2.0/db_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC1 ))
(ADDRESS = (PROTOCOL = TCP) (HOST = localhost) (PORT = 1521 ))
)
)
The second case is the order in which the database server is accessed through the client. I also found my problem from this post. My linux user test has no permission to access the tnsname. ora file.
The third case is that the listening service is unavailable. This is easy to check. You can use lsnrctl status.
To solve this problem, I will summarize the ideas:
First, query the listener status. Because I can access it through other clients, it is not a problem of listening.
Second, use oracle users to test tnsping orcl. Generally, it is okay. Check whether a non-oracle user does not belong to the oracle user group. You are not authorized to use chmod o + r tnsname. ora.
Last: Version compatibility issues.