您的位置:首页 > 理论基础 > 计算机网络

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

2011-06-15 08:42 162 查看
监听配置文件listener.ora中可以不必指定监听的服务名。但是,当数据库处于关闭状态下PMON进程没有启动,也就不会自动注册监听的实例名。
1 原来的listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /app/oracle/product/10.2.1/db_1)
      (PROGRAM = extproc)
    )
  )
 
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = rhfour.fsti.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )
 
2 修改后的listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /app/oracle/product/10.2.1/db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
       (GLOBAL_DBNAME = test)
       (ORACLE_HOME = /app/oracle/product/10.2.1/db_1) 
       (SID_NAME = test)
    )
  )
 
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = rhfour.fsti.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )
3 主动跟被动的关系
3.1 Listener主动加载服务
原因是添加:
    (SID_DESC =
       (GLOBAL_DBNAME = test)
       (ORACLE_HOME = /app/oracle/product/10.2.1/db_1) 
       (SID_NAME = test)
    )
后,在使用lsnrctl start监听程序时会将listener的服务注册到进程监视器(pmon)中
3.2 Listener被动加载服务
如果没有该内容,那么由实例的pmon进程在listener中注册服务,对listener来讲,就是被动了。
这也就是为什么先启动监听后启动数据库能够正常连接的,反之不行的原因了。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle list 数据库 tcp
相关文章推荐