导航

 

今天在练习书上一个示例时,出现"ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 错误",示例如下:

C:\>rman target sys/orcl@demo

恢复管理器: Release 10.2.0.1.0 - Production on 星期三 10月 1 15:04:00 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到目标数据库: DEMO (DBID=3408444956)

RMAN> shutdown immediate

使用目标数据库控制文件替代恢复目录
数据库已关闭
数据库已卸载
Oracle 实例已关闭

RMAN> startup

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: startup 命令 (在 10/01/2008 15:04:50 上) 失败
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

RMAN>

 

在网上查了半天也没有找到解决办法,后来在一个群里和群友讨论了现在了问题,原来是我的listener.ora文件有问题。

ORACLE 自动创建的内容是:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
  )

修改后:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = DEMO)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
    )
  )

重启一下监听服务后就可以了:

C:\>rman target sys/orcl@demo

恢复管理器: Release 10.2.0.1.0 - Production on 星期三 10月 1 15:32:36 2008

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到目标数据库: DEMO (DBID=3408444956)

RMAN> shutdown immediate

使用目标数据库控制文件替代恢复目录
数据库已关闭
数据库已卸载
Oracle 实例已关闭

RMAN> startup

已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
数据库已打开

系统全局区域总计     167772160 字节

Fixed Size                     1247900 字节
Variable Size                 75498852 字节
Database Buffers              88080384 字节
Redo Buffers                   2945024 字节

RMAN>