环境:
服务端:RHEL6.5 + Oracle Server 11.2.0.4
客户端:Win2003 + Oracle Client 10.2.0.1
- 1.问题现象
- 2.Troubleshooting
- 3.解决问题
1. 问题现象
服务端安装好Oracle数据库,测试正常。 但在用户的客户端测试连接时,报错ORA-12154,TNS-03505 sqlplus system/oracle@192.168.10.10/xxsidC:Documents and SettingsAdministrator>sqlplus system/oracle@192.168.10.10/xxsid
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 7月 16 16:53:58 2015
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS: 无法解析指定的连接标识符
请输入用户名:
2. Troubleshooting
## tnsping测试: ## ``` C:Documents and SettingsAdministrator>tnsping 192.168.10.10TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 16-7月 -
2015 16:53:00
Copyright (c) 1997, 2005, Oracle. All rights reserved.
已使用的参数文件:
D:oracle32product10.2.0client_1
etworkadminsqlnet.ora
TNS-03505: 无法解析名称
## 查看已使用的参数文件sqlnet.ora ##
sqlnet.ora Network Configuration File: D:oracle32product10.2.0client_1 etworkadminsqlnet.ora
Generated by Oracle configuration tools.
This file is actually generated by netca. But if customers choose to
install "Software Only", this file wont exist and without the native
authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES)
发现NAMES.DIRECTORY_PATH的配置只允许TNSNAMES
<h1 id="3"> 3. 解决问题 </h1>
注释掉sqlnet.ora中NAMES.DIRECTORY_PATH= (TNSNAMES)一行,
注释掉就会采用默认值(TNSNAMES,ONAMES,HOSTNAME),当然你也可以修改加上这些常用选项。
再次测试,问题解决。
C:Documents and SettingsAdministrator>sqlplus system/oracle@192.168.10.10/xxsid
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 7月 16 16:54:08 2015
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
如果没有特殊的安全需求或其他规范,建议还是不要随意更改sqlnet.ora文件的配置信息。