ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一次网络连接错误的诊断

一次网络连接错误的诊断

原创 Linux操作系统 作者:yangtingkun 时间:2007-05-08 00:00:00 0 删除 编辑

今天帮同事解决一个sqlplus无法连接到数据库的问题。


在通过9i的客户端连接10g的rac环境时,出现了ORA-12054错误:

E:>sqlplus test@testrac

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 5 8 18:40:18 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

输入口令:
ERROR:
ORA-12504: TNS:
监听程序在 CONNECT_DATA 中未获得 SID

通过tnsping检查,发现配置正常:

E:>tnsping testrac

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 08-5 -
2007 18:42:00

Copyright (c) 1997, 2005, Oracle. All rights reserved.

已使用的参数文件:
E:oracle10.2networkadminsqlnet.ora

已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.1
98.224)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVER_NAME = testra
c)))
OK (10
毫秒)

如果添加在TESTRAC配置中添加(SID = TESTRAC1)信息,则可以正常登陆。

查了半天问题,最后发现同事在手工编辑TNSNAMES.ORA的时候,出现了拼写错误,将SERVICE_NAME拼错为SERVER_NAME,于是产生了上面的错误。

将其改正后,错误消失。

TESTRAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.198.224)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testrac)
)
)

E:>sqlplus test@testrac

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 5 8 18:52:52 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

输入口令:

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options

SQL>

看来Oracle并不对tnsnames中错误的参数名称进行检测,而仅仅是忽略。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-69269/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1954
  • 访问量
    10875294