ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 ORACLE

darlin_緢 2013-05-19 05:22:49
环境:win7 32位 oracle 10g
数据库安装在本机。数据库服务名:orcl


打开,已经创建了一个服务名:orcl,但是点击测试时,一直都是连接不成功的。



在网上查找解决方案,很多人都说是修改listener.ora里面的内容。

我把我的listener.ora文件也贴出来。

# listener.ora Network Configuration File: D:\Tools--Instal\ORACLE\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\Tools--Instal\ORACLE)
(PROGRAM = extproc)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)



我照着别人的方法修改了很多遍,但是,还是会报一样的错误。


有没有高人知道怎么解决这个问题啊???
...全文
7785 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
darlin_緢 2013-05-20
  • 打赏
  • 举报
回复
总结下吧: 我觉得我这次的主要问题,还是安装oracle时,修改了安装路径,然后生成的文件或文件夹有误造成的。 本人的oracle的exe文件存放的路径是:D:\Tools--EXE\Oracle\ORACLE10g oracle的安装路径是:D:\Tools--Instal\ODAC 而在安装时,在D:\Tools--Instal下一共生成了这些关于oracle的文件夹:admin、ORACLE、oradata这三个文件夹。 遇到 ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 的错误。 首先可以像网上说的,先修改linstener.ora文件:
# listener.ora Network Configuration File: D:\Tools--Instal\ORACLE\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\Tools--Instal\ORACLE)
      (PROGRAM = extproc)
    )
   (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = D:\Tools--Instal\ORACLE)
      (SID_NAME = ORCL)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )

注意:里面的空格什么的也尽量都一样,我曾经把添加的那行的前面的空格去掉了,oracle的监听的服务就启动不了。 然后,再用cmd----sqlplus---sys as sysdba---pwd登录后,会提示:已连接到空闲例程。 现在的原因,就是5楼说的,数据库没有启动。 而,我用startup启动数据库时,会报错6楼的错误。 此时,依照上面的文章说的解决方法,在D:\Tools--Instal文件夹中添加了flash_recovery_area文件夹。然后再启动数据库就可以了。。。 总结: 1.修改linstener.ora文件。 2.启动oracle的相关服务。 3.startup数据库,如果再报错,可以查找安装文件夹下面是否还有flash_recovery_area文件夹。
darlin_緢 2013-05-20
  • 打赏
  • 举报
回复
刚刚查找了上面报的ora-01261的错误的解决方法,原来是找不到指定的目录。 添加了指定的文件夹目录后,就可以了。 可以参考这篇文章: http://blog.csdn.net/scogeek/article/details/8522083 可以连接成功了。。。。。
darlin_緢 2013-05-20
  • 打赏
  • 举报
回复
引用 5 楼 vanjayhsu 的回复:
[quote=引用 1 楼 mm3646 的回复:]
我用sql plus操作时,会有这样的提示。。。


实例没有启动,直接startup启动实例打开数据库就可以连接了。

开始--CMD--sqlplus / as sysdba--startup--select status from v$instance;status为OPEN就表示数据库已打开,可以连接数据库并进行相关操作了。[/quote]

好像一直startup时,会报这样的错误:
vanjayhsu 2013-05-20
  • 打赏
  • 举报
回复
引用 1 楼 mm3646 的回复:
我用sql plus操作时,会有这样的提示。。。
实例没有启动,直接startup启动实例打开数据库就可以连接了。 开始--CMD--sqlplus / as sysdba--startup--select status from v$instance;status为OPEN就表示数据库已打开,可以连接数据库并进行相关操作了。
darlin_緢 2013-05-19
  • 打赏
  • 举报
回复
引用 3 楼 linwaterbin 的回复:
这里面有:http://bbs.csdn.net/topics/390312212


我也修改了这个文件的:
# listener.ora Network Configuration File: D:\Tools--Instal\ORACLE\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\Tools--Instal\ORACLE)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = D:\Tools--Instal\ORACLE)
(SID_NAME = orcl)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)



可是,现在,测试NET MANAGER,
报错:
linwaterbin 2013-05-19
  • 打赏
  • 举报
回复
darlin_緢 2013-05-19
  • 打赏
  • 举报
回复
darlin_緢 2013-05-19
  • 打赏
  • 举报
回复
我用sql plus操作时,会有这样的提示。。。

17,377

社区成员

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

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