求教oracle9i的监听进程不能解析在连接描述符中给出的SERVICE_NAME问题

jishuzhichi 2009-05-06 09:30:38
各位高手,小弟服务器为2003,用oracle9i数据库,本来好好的,小弟昨天添加了一个监听listener1,结果提示冲突,等小弟启动listener1监听后发现原来的数据库监听不到了,提示“监听进程不能解析在连接描述符中给出的SERVICE_NAME问题”我把所有监听都删除了重新配置也不行,小弟研究了一下午也没有解决问题,但是通过这个监听监听其他服务器上的数据库可以成功,我对比了一下,都没有什么问题,请教高手我该怎么办,小弟拜谢~~

现监听为listener3

# LISTENER.ORA Network Configuration File: C:\oracle\ora90\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

LISTENER3 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)

SID_LIST_LISTENER3 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\ora90)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ZHLDQZB)
(ORACLE_HOME = C:\oracle\ora90)
(SID_NAME = ZHLDQZB)
)
)

tnsnames.ora文件如下

# TNSNAMES.ORA Network Configuration File: C:\oracle\ora90\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

BJZJW_218.8.245.6 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 218.8.245.6)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = BJZJW)
)
)

ZHLDQZB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ZHLDQZB)
)
)
现在BJZJW可以连通,但是ZHLDQZB就连不同了,求高手给看看,谢谢了
...全文
734 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
inthirties 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 jishuzhichi 的帖子:]
各位高手,小弟服务器为2003,用oracle9i数据库,本来好好的,小弟昨天添加了一个监听listener1,结果提示冲突,等小弟启动listener1监听后发现原来的数据库监听不到了,提示“监听进程不能解析在连接描述符中给出的SERVICE_NAME问题”我把所有监听都删除了重新配置也不行,小弟研究了一下午也没有解决问题,但是通过这个监听监听其他服务器上的数据库可以成功,我对比了一下,都没有什么问题,请教高手我该怎么办,小弟拜谢~~

[/Quote]

有些概念你需要整理一下

Listener是服务器端的,默认是1521,可以配置多个Listener,但是端口要分开。


Tns是客户端用来描述远程服务器连接的配置,这个是客户端需要用的。

你可以试着把所有的lisener都去掉,注意是listener,不是tns,然后重启监听服务,在net manager里先删除掉有问题的连接,然后新建一个,新建的最后一步就是test test OK就成功了
inthirties 2009-06-09
  • 打赏
  • 举报
回复
up
netbios333 2009-05-10
  • 打赏
  • 举报
回复
有的时候如果在netca中配置的命名中使用重复的sid可能会出现这样的问题,这是可以在tnsnames.ora中的服务名改掉,例如:出现两个orcl
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
这是可以将一个的名称修改,例如将其中一个改为:
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
只要不改变最外层括号里面的内容就不影响连接。
注意:修改后是要重新启动客户端才可以看到更改后的效果。例如在pl developer中,要重新启动程序才能看到改动后的效果。
=====================================================================================================
对于你说的问题,可以先改正名称,然后在netca或者oem中测试下连接。
如果还不行的话,可以现在tnsnames中删除后添加的tnsname,再测试原有的连接。如果连接成功的话,再按照上面的方法添加新的命名。
autorun_bob 2009-05-10
  • 打赏
  • 举报
回复
顶一下,这个问题我也遇到了,弄了大半天也没弄出来,一怒之下就重装了……
ruihuahan 2009-05-10
  • 打赏
  • 举报
回复
端口冲突了吧?新加的监听不要使用1521端口。
mosaic 2009-05-06
  • 打赏
  • 举报
回复
看看lsnrctl services命令的输出是什么?

另外给你一个listener.ora参考:

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100 )(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/app/oracle/product/9.2.0)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = bsnbill)
(ORACLE_HOME = /oracle/app/oracle/product/9.2.0)
(SID_NAME = app)
)
)
zhouxu_hust 2009-05-06
  • 打赏
  • 举报
回复
学习
zhouxu_hust 2009-05-06
  • 打赏
  • 举报
回复
学习
jishuzhichi 2009-05-06
  • 打赏
  • 举报
回复
自己顶一下,这么大的csdn这个问题没有高手知道?
GeekZFZ 2009-05-06
  • 打赏
  • 举报
回复
学习中
inthirties 2009-05-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 jishuzhichi 的帖子:]
各位高手,小弟服务器为2003,用oracle9i数据库,本来好好的,小弟昨天添加了一个监听listener1,结果提示冲突,等小弟启动listener1监听后发现原来的数据库监听不到了,提示“监听进程不能解析在连接描述符中给出的SERVICE_NAME问题”我把所有监听都删除了重新配置也不行,小弟研究了一下午也没有解决问题,但是通过这个监听监听其他服务器上的数据库可以成功,我对比了一下,都没有什么问题,请教高手我该怎么办,小弟拜谢~~

[/Quote]

这里你指的是listener没有起来,还是值客户端连接的时候报错。


如果是后者
你可以tsnping ZHLDQZB 看能不能ping通,

不过根据的你错误信息,感觉是service_name不能解析,也就是说,可能是实例没有成功启动,你检查一下数据库实例的服务是不是成功起来了。


====================================================================================
Inthirties关注Oracle数据库 优化,安全,备份,恢复,迁移

如果你需要帮助或想和我一起学习的请联系
联系方式QQ:370140387
QQ群: 85837884(注明:数据库)
电子邮件:dba@Inthirties.com
网站: http://www.inthirties.com
bai_jiong 2009-05-06
  • 打赏
  • 举报
回复
1,你的服务器的IP地址是:127.0.0.1吗?请确认。

2,如果还是不行的话,将HOST改为服务器的名称,试一下。当然,也要修改TNSNAMES.ORA文件中的相应的内容。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧