ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME

dulkernetbug 2008-09-11 11:36:25
oracle是11g,我在服务器上部署web程序直接连本机数据库,

tnsnames.ora文件
# tnsnames.ora Network Configuration File: D:\app\Administrator\product\11.1.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

LISTENERBOB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.90)(PORT = 1521))
)
(CONNECT_DATA =
(Service_Name = orcl)
(SID = orcl)
)
)
listener.ora文件内容
# listener.ora Network Configuration File: D:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

LISTENERIT =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.90)(PORT = 1521))
)

SID_LIST_LISTENERIT =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = Oracle8)
(ORACLE_HOME = D:\app\Administrator\product\11.1.0\db_1)
(SID_NAME = ORCL)
)
)


一直报 “ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME” 错误,以前曾经可以过,好久没动,居然不行了,于是我把监听和net服务全部重新配置了,
...全文
29178 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzhao 2012-07-19
  • 打赏
  • 举报
回复
asddgasdg
此木者也 2012-07-18
  • 打赏
  • 举报
回复
遇到相同问题,学习一下!
sunrocky 2012-06-29
  • 打赏
  • 举报
回复
ggggzl 2011-11-08
  • 打赏
  • 举报
回复
也遇到类似问题啊 望得到解决。。。
gisgooddog 2010-09-30
  • 打赏
  • 举报
回复
怎么登录了还让登录。
tenphone 2008-09-18
  • 打赏
  • 举报
回复
1.你的问题是在web应用中发生的还是在sqlplus连接database发生的?
2.oracle的service name默认是database的sid建议作如下调查:
lsnrctl status #察看database是否已经register了。
init<SID>.ora配置中察看是否有local_listener。
sqlplus usr/pwd 的时候是通过sid连接
sqlplus usr/pwd@svr 是通过本地的服务名连接,注意二者区别。
3.如果是在web应用中发生问题的话,就需要察看web端的配置了。
AFIC 2008-09-11
  • 打赏
  • 举报
回复
LISTENERBOB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.90)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
dulkernetbug 2008-09-11
  • 打赏
  • 举报
回复
tnsnames.ora中的SID = orcl改成 SID_NAME = orcl,
Service_Name 原来是大写的,都不行,郁闷。。
dulkernetbug 2008-09-11
  • 打赏
  • 举报
回复
to BlueskyWide
数据库实例是 orcl,大小写有关系吗

to rexyudl

INIT.ORA文件里有

diagnostic_dest='<ORACLE_BASE>'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
dulkernetbug 2008-09-11
  • 打赏
  • 举报
回复
通过plsql建立的
dulkernetbug 2008-09-11
  • 打赏
  • 举报
回复
ORCL肯定是存在的,我建立了一些表进去
rexyudl 2008-09-11
  • 打赏
  • 举报
回复
show parameter service_names
另外看看INIT.ORA文件里有service_names这一项吗?它的值是否等于ORCL
当然前提必须如楼上所说的你要确认名为ORCL的数据库实例存在
BlueskyWide 2008-09-11
  • 打赏
  • 举报
回复
先在system用户下查一下你的数据库实例名是否为“orcl”?:

select value$ from sys.props$ where name='GLOBAL_DB_NAME';
oracledbalgtu 2008-09-11
  • 打赏
  • 举报
回复

listener.ora文件内容改成如下:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\app\Administrator\product\11.1.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\app\Administrator\product\11.1.0\db_1)
(SID_NAME = ORCL)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.90)(PORT = 1521))
)
)


--tnsnames.ora内容:
LISTENERBOB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.90)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)



[Quote=引用楼主 dulkernetbug 的帖子:]
oracle是11g,我在服务器上部署web程序直接连本机数据库,

tnsnames.ora文件
# tnsnames.ora Network Configuration File: D:\app\Administrator\product\11.1.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

LISTENERBOB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.90)(PORT = 1521))
)
(CONNECT_DATA =

[/Quote]

17,377

社区成员

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

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