我的tnsnames.ora里的配置如下。是管理员配的,不知道为什么弄了两个,可能他也不确定那个对。
CMPLTST.world =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (COMMUNITY = TCPCOM.TUA.COM.AU) (PROTOCOL = TCP) (Host = 10.240.241.50)
(Port = 1521)))
(CONNECT_DATA = (SID=cmpltst)
CMPLTST.world=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.240.241.50)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CMPLTST)
)
)
然后我tnsping CMPLTST
/u01/app/oracle/product/10.2.0/network/admin> tnsping CMPLTST
TNS Ping Utility for IBM/AIX RISC System/6000: Version 10.2.0.3.0 - Production on 01-JUL-2008 10:31:25
Copyright (c) 1997, 2006, Oracle. All rights reserved.
Used parameter files:
/u01/app/oracle/product/10.2.0/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.240.241.50)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = CMPLTST)))
OK (40 msec)
然后我测sqlplus
/u01/app/oracle/product/10.2.0/network/admin> sqlplus ndarb_ro/ndarb123@CMPLTST
SQL*Plus: Release 10.2.0.3.0 - Production on Tue Jul 1 10:32:53 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor
Enter user-name:
高手指点一下怎么回事,谢了。

最新回复
Bluecate (2008-7-01 09:37:39)
guilber (2008-7-01 10:17:46)
jinsenhome (2008-7-01 10:39:14)
1)尝试把第二的服务挪动到上面
2)如果不行,你想管理员询问下正确的服务器的serverice名称
试试
daomeidan1234 (2008-7-01 11:36:53)
QUOTE:
有点道理,是不是因为实际tnsping解析了第二个配置。baijiong998 (2008-7-01 16:23:05)
所以,建议你将该网络服务名所指定的数据库先在LISTER中注册,再重新启动侦听程序.
daomeidan1234 (2008-7-02 13:11:19)
第二个tns连接配置语法没问题,但是有一个怪事就是只能tnsping不能sqlplus 连, 服务器端的listener.ora都没有变,所以不是服务器端的问题。
另外想问一下,在定义tns 链接的时候,
用 SID=cmpltst 和 SERVICE_NAME = CMPLTST, 这两种方法有什么差别,分别是什么时候用呢?
记得以前看过一个说是 sid是老的方法,可是有时候只能用sid,不能用 SERVICE_NAME是怎么回事?
daomeidan1234 (2008-7-08 11:02:12)
kanxue660 (2008-7-08 19:46:41)