ITPub博客

首页 > 数据库 > Oracle > Oracle10g ORA-12514

Oracle10g ORA-12514

Oracle 作者:pgfish 时间:2011-01-15 15:33:15 0 删除 编辑

问题描述:

   Oracle9i与Oracle10g之间互换使用:配置Oracle10g且启动实例后,PLSQL连接数据库时,出现如下错误:

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

默认自动运行Oracle9i的监听器,当手工启动Oracle10g监听器后,报ORA-12514错误。

问题分析:

   Oracle9i以后,后台进程PMON自动在监听器中注册系统参数SERVICE_NAMES中定义的服务名,SERVICE_NAMES默认为DB_NAME+DOMAIN_NAME。监听配置文件listener.ora中可以不必指定监听的服务名。但是,当数据库处于关闭状态下PMON进程没有启动,也就不会自动注册监听的实例名,所以使用PLSQL登录时出现ORA-12514错误。

解决方法:

   在listener.ora文件中指定监听的实例名,即使数据库处于关闭状态,仍然可以连接。

listener.ora

# listener.ora Network Configuration File: D:oracleproduct10.2.0db_1 etworkadminlistener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:oracleproduct10.2.0db_1)
      (PROGRAM = extproc)
    )
   (SID_DESC =
      (GLOBAL_DBNAME = ORA10g)
      (ORACLE_HOME = D:oracleproduct10.2.0db_1)
      (SID_NAME = ORA10g)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = PC-20101127YAHS)(PORT = 1521))
    )
  )

说明:粗体部分为新增,ORA10g为实例名称

重新启动oracle10g监听器及数据库服务。

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/19166/viewspace-1114821/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论