最后发现却是因为sqlplus 版本的问题,我的本地DB服务器是9i,用的却是8i的sqlplus。建议:安装ORACLE的时候,会有自带的sqlplus
Tnsping服务器异常
例: tnsping intel
C:\>tnsping intel
TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 08-16月-2
012 15:37:27
Copyright (c) 1997 Oracle Corporation. All rights reserved.
已使用的参数档案:
d:\oracle\ora92\network\admin\sqlnet.ora
TNS-03505: 无法决定名称
A)先检查tnsnames.ora(%ORACLE_HOME%\oracle\network\admin\tnsnames.ora)配置是否正确,INTEL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =10.161.8.100)(PORT = 1526))
)
(CONNECT_DATA =
(SERVICE_NAME = intel)
)
)
B)若正确,再ping 10.161.8.100(本地局域网)确认网路没问题
C)若网路通畅,则登入服务器(telnet 10.161.8.100)检查监听器是否开启
intel$lsnrctl status
LSNRCTL for Linux: Version 8.1.6.0.0 - Production on 08-DEC-2004 15:43:47
(d) Copyright 1998, 1999, Oracle Corporation. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
TNS-01103: Protocol specific component of the address is incorrectly specified
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
显然,,此监听已被关闭.
显示监听状态:intel$lsnrctl status
开启监听命令:intel$lsnrctl start
关闭监听命令:intel$lsnrctl stop
(e) 开启监听命令:intel$lsnrctl start 监听后发现还是不行。
系统参数文件为D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入D:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
写入D:\oracle\product\10.2.0\db_1\network\trace\listener.trc的跟踪信息
发现也没多大问题。
(f)最后发现却是因为sqlplus 版本的问题,我的本地DB服务器是9i,用的却是8i的sqlplus。
建议:安装ORACLE的时候,会有自带的sqlplus工具,就用那个自带的,这样就不会像我一样走那么多弯路了。