怎么老是ORA-12560: TNS: 协议适配器错误

kendyhxl 2009-06-12 03:00:07
1.OracleOraDb10g_home1TNSListener和OracleServiceNANFUNG服务已启动
2.服务器注册表中已有Oracle_Sid=NanFung
3.服务器系统环境变量中已有Oracle_HOME和Oracle_Sid两项值,分别为:
Oracle_HOME=C:\oracle\product\10.2.0
Oracle_Sid=NanFung
4.服务器端listener.ora文件为:
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = NanFungDB)
(SID_NAME = NanFung)
)
)

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

5.客户端tnsnames.ora为:
# tnsnames.ora Network Configuration File: I:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

NANFUNGDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.78)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = NanFungDB)
)
)

6.在服务器端连接:

7.客户端连接:


请问如何解决?谢谢!~
...全文
759 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdd1 2009-06-17
  • 打赏
  • 举报
回复
1、检查oracle\product\10.2.0\client_1\NETWORK\ADMIN下的tnsnames.ora文件
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.5.122)(PORT = 1521))
)
(CONNECT_DATA =
(SID = test)
(SERVER = DEDICATED)
)
)
host是不是对的!最好使用机器名,最好不要使用IP.test就是你的SID,你可以通过Enterprise Manager Console这个客户端进去看下你的数据库树
2、命令启动下tns和ora服务。先停止lsnrctl stop,然后启动lsnrctl start。
服务启动net start oracleservicecong, cong是服务,可以在我的电脑-管理-服务中看到。
服务关闭net stop oracleservicecong
inthirties 2009-06-17
  • 打赏
  • 举报
回复
你现在连过没有,如果还不行的话,把tnsname.ora拷过来看看,不知道,后来改来改去的是不是又改的不对了。
kendyhxl 2009-06-17
  • 打赏
  • 举报
回复
服务器的防火墙是关着的,还有其他的可能吗?
inthirties 2009-06-15
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 kendyhxl 的回复:]
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.78)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期                  12-6月 -2009 11:46:34
正常运行时间              0 天 4 小时 15 分 21 秒
跟踪级别                  off…
[/Quote]

listener是OK的,实例也注册上去了 service_name为NanFungDB

客户端(SERVICE_NAME = NanFungDB) 是正确的写法。

根据你的status信息,服务器上的一切都是OK的,client的tnsname也是正确的。

检查服务器的防火墙关闭了没有,


kendyhxl 2009-06-15
  • 打赏
  • 举报
回复
顶上去
kendyhxl 2009-06-12
  • 打赏
  • 举报
回复
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.78)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 12-6月 -2009 11:46:34
正常运行时间 0 天 4 小时 15 分 21 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 C:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文件 C:\oracle\product\10.2.0\db_1\network\log\listener.log

监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
服务摘要..
服务 "NanFungDB" 包含 2 个例程。
例程 "NanFung", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
例程 "nanfung", 状态 READY, 包含此服务的 1 个处理程序...
服务 "NanFungDB_XPT" 包含 1 个例程。
例程 "nanfung", 状态 READY, 包含此服务的 1 个处理程序...
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
inthirties 2009-06-12
  • 打赏
  • 举报
回复
看不到,把文字拷过来也可以。
kendyhxl 2009-06-12
  • 打赏
  • 举报
回复

看得到吗?CSDN不能上传本地图片???
vanjayhsu 2009-06-12
  • 打赏
  • 举报
回复
关注下,这个问题比较常见。。。
inthirties 2009-06-12
  • 打赏
  • 举报
回复
在服务器上运行

lsnrctl status 查看一下listener的实例状况先,把结果发上来看看
kendyhxl 2009-06-12
  • 打赏
  • 举报
回复
是Windows系统,还是没搞定。。。。。。。
inthirties 2009-06-12
  • 打赏
  • 举报
回复
你是window系统就没有区别
kendyhxl 2009-06-12
  • 打赏
  • 举报
回复
ORACLE_SID有区分大小写吗?
kendyhxl 2009-06-12
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 pagekathy 的回复:]
你的ORACLE_SID 好象有问题,是 NanFungDB 还是 NanFung
[/Quote]
NanFung
kendyhxl 2009-06-12
  • 打赏
  • 举报
回复
都不行哦, CSDN怎么发图?
pagekathy 2009-06-12
  • 打赏
  • 举报
回复
你的ORACLE_SID 好象有问题,是 NanFungDB 还是 NanFung
inthirties 2009-06-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 inthirties 的回复:]
引用 9 楼 inthirties 的回复:

引用楼主 kendyhxl 的帖子:

(CONNECT_DATA =
      (SERVICE_NAME = NanFungDB)
    )
  )

6.在服务器端连接:


SERVICE_NAME = NanFung

试试


 



或者这里换成
(CONNECT_DATA =
      (SID = NanFungDB)
    )
  )

[/Quote]

sorry

贴出了
应该是换成

(CONNECT_DATA =
(SID = NanFung)
)
)

试试
inthirties 2009-06-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 inthirties 的回复:]
引用楼主 kendyhxl 的帖子:

(CONNECT_DATA =
      (SERVICE_NAME = NanFungDB)
    )
  )

6.在服务器端连接:


SERVICE_NAME = NanFung

试试


 

[/Quote]

或者这里换成
(CONNECT_DATA =
(SID = NanFungDB)
)
)
oraclelogan 2009-06-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 inthirties 的回复:]
引用楼主 kendyhxl 的帖子:
(CONNECT_DATA =
(SERVICE_NAME = NanFungDB)
)
)

6.在服务器端连接:



SERVICE_NAME = NanFung

试试



[/Quote]

同意,可能是你的 SERVICE_NAME 不对。
oraclelogan 2009-06-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 kendyhxl 的回复:]
引用 2 楼 oraclelogan 的回复:
在cmd命令行窗口下面 lsnrctl start ,启动监听服务。


在服务端使用lsnrctl start后,监听启动了,但是在客户端连的时候还是提示同样的错误,与第二个图一样
[/Quote]

你的图片看不到啊!

参考:

http://hi.baidu.com/8741659422/blog/item/62333d300112699fa9018e2d.html
加载更多回复(9)

17,377

社区成员

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

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