登录isqlpus提示ERROR - ORA-12541: TNS: 无监听程序,但事实上监听启动并配置了!

xieyunchao 2009-03-07 10:03:15
在我电脑上装了2个oracle实例,一个是orcl,一个是test。
我启动两个实例:
net start oracleserviceorcl

net start oracleservicetest


然后启动监听:
lsnrctl start

成功启动后,查看监听了几个实例:
lsnrctl status

服务摘要..
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
以上说明这个监听器监听了2个实例,没错吧?


然后我启动isqlplus:
isqlplusctl start成功。

启动emctl:
set oracle_sid=orcl
emctl start dbconsole
set oracle_sid=test
emctl start dbconsole
至此,所有的服务都已经启动完成并成功。

登录两个实例的oem,都能成功。

但是登录isqlplus,输入用户名密码,两个实例 提示ERROR - ORA-12541: TNS: 无监听程序!

用户名:system
密码 :admin
连接标识符:localhost:1521/orcl


什么原因呢?我感觉没有什么错啊。既然能登录oem,说明监听程序配置的没有问题,因为登录oem的时候是要用到监听的。不知道为什么,请大家告诉我。
谢谢大家。


对了,我的监听配置文件也贴上吧:
listener.ora

# listener.ora Network Configuration File: D:\oracle10.2.0\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = orcl)
)
(SID_DESC =
(GLOBAL_DBNAME = test)
(SID_NAME = test)
)
)

LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.95)(PORT = 1521))
)


tnsnames.ora

# tnsnames.ora Network Configuration File: D:\oracle10.2.0\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

CHINANTN_100 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = chinantn)
)
)

CHINANTN100_JNHHHOME =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = chinantn)
)
)

TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 493ae2c2569d45b)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)







...全文
9096 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qazplmqazplm 2010-04-05
  • 打赏
  • 举报
回复
我用ip能登录,localhost也不行啊
handForCpp 2009-08-13
  • 打赏
  • 举报
回复
试试 telnet 您的IP 1521

看能不能打开端口
xieyunchao 2009-03-07
  • 打赏
  • 举报
回复
通过ip得到机器名:
tracert ip
xieyunchao 2009-03-07
  • 打赏
  • 举报
回复
xieyunchao 2009年03月07日 11点34分46秒 说:
我怎么看有没有问题啊。
vc555 2009年03月07日 11点39分15秒 说:
你的host内容是什么呢?
xieyunchao 2009年03月07日 11点39分34秒 说:
127.0.0.1 localhost
xieyunchao 2009年03月07日 11点39分45秒 说:
就这一行,其他的都是注释。
xieyunchao 2009年03月07日 11点40分11秒 说:
是hosts文件,不是host文件吧。路径是/system32/driver/ect/
xieyunchao 2009年03月07日 11点40分17秒 说:
对吧。
vc555 2009年03月07日 11点40分43秒 说:
恩。
你用sqlplus看看用localhost能连吗?
xieyunchao 2009年03月07日 11点42分17秒 说:
也不行,不能用localhost,只能用192.xx.
vc555 2009年03月07日 11点42分14秒 说:
还有,用127.0.0.1能连吗?
xieyunchao 2009年03月07日 11点42分30秒 说:
不能连
vc555 2009年03月07日 11点42分50秒 说:
127.0.0.1也不行?
xieyunchao 2009年03月07日 11点43分17秒 说:
不行。刚试过。
xieyunchao 2009年03月07日 11点43分39秒 说:
我这个问题我郁闷老长时间了。就是不知道为什么!
vc555 2009年03月07日 11点44分13秒 说:
tnsping 127.0.0.1
xieyunchao 2009年03月07日 11点45分02秒 说:
C:\Documents and Settings\Administrator>tnsping 127.0.0.1

TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 07-3月 -2
009 11:44:31

Copyright (c) 1997 Oracle Corporation. All rights reserved.

已使用的参数文件:
D:\oracle9cli\network\admin\sqlnet.ora

已使用 HOSTNAME 适配器来解析别名
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SID=*)(SERVICE_NAME=127.0.0.1)
)(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))
TNS-12541: TNS:无监听器

C:\Documents and Settings\Administrator>
vc555 2009年03月07日 11点45分40秒 说:
看了下,是你监听文件的问题。
vc555 2009年03月07日 11点45分52秒 说:
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.95)(PORT = 1521))
)
vc555 2009年03月07日 11点46分07秒 说:
别用IP,改成机器名。
vc555 2009年03月07日 11点46分33秒 说:
改了后,重启监听。
xieyunchao 2009年03月07日 11点46分57秒 说:
哦。知道了。谢谢。为什么要用机器名啊。ip有什么弊端啊。
vc555 2009年03月07日 11点49分10秒 说:
一个弊端就是你所遇到的问题。
还有个弊端就是如果监听用IP,假设你机器改了IP,那么不得不去改监听配置,而用机器名就无此问题
xieyunchao 2009年03月07日 11点49分45秒 说:
哦。豁然开朗,谢谢你啊。我都习惯用ip了,比较好记。谢谢。
vc555 2009-03-07
  • 打赏
  • 举报
回复
不是说了吗?可能是host文件有问题。
你查查看。
xieyunchao 2009-03-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 vc555 的回复:]
是不是你的host文件有问题。
你用:127.0.0.1:1521/orcl 或者:192.168.0.95:1521/orcl
试试。
[/Quote]

为什么是这样啊。为什么用localhost:1521/orcl就不行,而用192.168.0.95:1521/orcl就可以啊。我是在本地登录的啊。能告诉我吗?
vc555 2009-03-07
  • 打赏
  • 举报
回复
是不是你的host文件有问题。
你用:127.0.0.1:1521/orcl 或者:192.168.0.95:1521/orcl
试试。
oraclelogan 2009-03-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hdhai9451 的回复:]
Oracle数据库TNS常见错误解决方法
http://blog.csdn.net/hdhai9451/archive/2009/03/04/3957094.aspx
[/Quote]

老大这个总结的不错,学习了!
oraclelogan 2009-03-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 xieyunchao 的帖子:]
在我电脑上装了2个oracle实例,一个是orcl,一个是test。
我启动两个实例:
net start oracleserviceorcl

net start oracleservicetest

然后启动监听:
lsnrctl start

成功启动后,查看监听了几个实例:
lsnrctl status

服务摘要..
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服…
[/Quote]

isqlpuls登陆的时候只需要输入一个实例名字吧,没有试过一次输入2个实例名字登陆的。
Andy__Huang 2009-03-07
  • 打赏
  • 举报
回复
Oracle数据库TNS常见错误解决方法
http://blog.csdn.net/hdhai9451/archive/2009/03/04/3957094.aspx

2,668

社区成员

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

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