今天在练习书上一个示例时,出现"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>