tnsping 没问题,sqlplus连不上, 怎么回事。

我的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)

    检查一下主机Oracle的环境变量
  • jinsenhome (2008-7-01 10:39:14)

    我觉得是tnsnames.ora配置的问题
    1)尝试把第二的服务挪动到上面
    2)如果不行,你想管理员询问下正确的服务器的serverice名称
    试试
  • daomeidan1234 (2008-7-01 11:36:53)

    QUOTE:

    原帖由 jinsenhome 于 2008-7-1 10:39 发表
    我觉得是tnsnames.ora配置的问题
    1)尝试把第二的服务挪动到上面
    2)如果不行,你想管理员询问下正确的服务器的serverice名称
    试试
    有点道理,是不是因为实际tnsping解析了第二个配置。
  • baijiong998 (2008-7-01 16:23:05)

    tnsping 能通,只能表示网络服务名所指定的位置有侦听程序,但并能保证该网络服务名所指定的数据库在侦听程序中已注册.
    所以,建议你将该网络服务名所指定的数据库先在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)

    我的这个文件里面配了4个服务名,从8i到10g,都是用的SERVICE_NAME