客户机:windowns 2003 ,已经安装了oracle 10g的客户端。
服务机:centOS,安装了oracle 10G release 2的服务端。
(服务端的listener.ora内容如下:)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = lee)
(SID_NAME = lee)
(ORACLE_HOME = /home/lee/app/oracle/product/10.2.0/db_1)
(PROGRAM = extprocl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.232)(PORT = 8080))
)
)
(服务端的tnsnames.ora内容如下:)
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.232)(PORT = 8080))
LEE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.232)(PORT = 8080))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = lee)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
现象如下:
(1)在服务器端使用自带的sql*plus登录数据是没问题的,可以查到信息。
(2)服务器端查看监听状态,实例lee可以成功监听。
(3)在客户端cmd > ping 192.18.0.232 (提示可以接收到相关的数据包)
(4)在客户端cmd > tnsping lee (可以解析出HOST=192.168.0.232 PORT=8080 SERVICE_NAME=lee) 因为客户需求要将数据库的端号设置为:8080
(5)但在客户端cmd>sqlplus sys as sysdba 时却提示:ora-12560:TNS:protocol adapter error
(6)如果使用cmd>sqlplus sys@lee as sysdba 时却提示:ora-12154:TNS:could not resolve the connect identifier specified
求助各位大神如何解决这个问题啊,这已经困扰我差不多一天了。如需要更详细信息可加我Q:765027740 谢谢
------解决方案--------------------
可能的原因
1.服务没有起来
2.ORACLE_SID环境变量没有指定(最常见引起ORA-12560问题的原因)
检查方法,命令行(cmd)下,
C:\Documents and Settings\ptian>set oracle_sid
ORACLE_SID=test
ORACLE_SID是sqlplus默认连接的数据库instance,即sqlplus user/pwd连接的instance,如果不指定sqlplus里连接的时候就需要明确@你的instance,eg,sqlplus user/pwd@instance.
修改方法:在注册表中,HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1\ORACLE_SID 需指向你的Instance(eg.orcl);或者在系统的环境变量里加ORACLE_SID项,值为Instance的SID。
3.TNS_ADMIN环境变量没有指定
检查方法,命令行(cmd)下,
C:\Documents and Settings\ptian>set TNS_ADMIN
TNS_ADMIN=D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN
TNS_ADMIN应该返回你的tnsnames.ora所在的目录
修改方法:可以在注册表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\TNS_ADMIN或者环境变量中指定。
4.ORACLE_HOME环境变量没有指定
和上边的方法类似,检查Oracle_Home环境变量
5.tnsnames.ora(客户端)文件内容不对
A sample:
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.232)(PORT = 8080))