当前位置: 首页 > Oracle, oracle 10g, oracle 11g > 正文

windows服务未启动导致 ORA-12560和RMAN-00554错误

今天,有人在群里问RMAN-00554、RMAN-04005、ORA-12560错误,如下:

C:Usersstream>rman target /

恢复管理器: Release 11.2.0.1.0 - Production on 星期二 3月 19 16:03:14 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: 内部恢复管理器程序包初始化失败
RMAN-04005: 目标数据库中存在错误:
ORA-12560: TNS: 协议适配器错误

 

这个问题通常是由于windows系统ORACLE服务没有启动导致的,windows系统数据库与服务绑定,只有服务启动后,才可以对数据库做操作,比如,windows系统数据库服务没有启动,sqlplus连接本地数据库就会报错。

C:Usersstream>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期二 3月 19 15:59:53 2013
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
ERROR:
ORA-12560: TNS: 协议适配器错误
请输入用户名:

 

由于linux没有服务这一说,所以linux在数据库没有启动的情况下,sqlplus和rman都可以直接连接数据库,如果数据库没有打开,sqlplus会提示连接到空闲实例,rman会提示数据库未启动。

[oracle@secdb2 ~]$ ps -ef | grep smon
oracle    7061     1  0 05:45 ?        00:00:00 asm_smon_+ASM
oracle   15483  8553  0 16:37 pts/1    00:00:00 grep smon

 

从上面可以看到,数据库没有启动。

[oracle@secdb2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Mar 19 16:38:17 2013
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to an idle instance.

 

sqlplus提示连接到空闲实例。

[oracle@secdb2 ~]$ rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Tue Mar 19 16:38:37 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database (not started)

 

rman则提示数据库未启动。

windows启动服务很简单,只需要右键计算机或我的电脑->管理->服务和应用程序->服务,然后找到要启动的服务,点击启动就可以了。但是如果不想每次开机都启动数据库的话,那么每次想用数据库时都需要走一遍这个流程,很麻烦,下面介绍下用命令行启动数据库服务,比如我的数据库服务名是OracleServiceDBDREAM,可以用下面的命令在命令行启动这个数据库服务。

C:Windowssystem32>net start OracleServiceDBDREAM
OracleServiceDBDREAM 服务正在启动 ............
OracleServiceDBDREAM 服务已经启动成功。

 

默认ORACLE数据库在windows系统上的服务名是OracleService+数据库的实例名,上面是用Administrator用户登录的情况下,这个命令可以直接运行,如果使用非Administrator的其他管理员用户登录系统的话,运行上面的命令,可能遇到下面的错误。

C:Usersstream>net start OracleServiceDBDREAM
发生系统错误 5。
拒绝访问。

 

这样只需要邮件命令提示符,选择以管理员身份运行即可,如下图所示:

00009

但是每次都这样操作还是很麻烦,邮件命令提示符,点击属性->快捷方式->高级,如下图:

00010

点击高级按钮后,会弹出以下界面。

00011

勾选用管理员身份运行,确定,这样以后再使用命令行的时候,就一直是管理员身份了。

当windows的数据库服务启动后(默认数据库也直接启动了),就可以使用sqlplus和rman了,如下所示:

C:Windowssystem32>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期二 3月 19 17:59:00 2013
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning option
SQL>

只要windows的数据库服务启动,哪怕是数据库没有起来,sqlplus也可以连接数据库,rman同样也可以。

C:Windowssystem32>rman target /
恢复管理器: Release 11.2.0.1.0 - Production on 星期二 3月 19 18:00:03 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到目标数据库: DBDREAM (DBID=2326242578)
RMAN>

windows的服务启后,剩下操作的基本就可linux一样了,可以通过sqlplus关闭和启动数据库。监听也一样,也需要先启动相关的服务。

本文固定链接: http://www.dbdream.com.cn/2013/03/windows%e6%9c%8d%e5%8a%a1%e6%9c%aa%e5%90%af%e5%8a%a8%e5%af%bc%e8%87%b4-ora-12560%e5%92%8crman-00554%e9%94%99%e8%af%af/ | 信春哥,系统稳,闭眼上线不回滚!

该日志由 dbdream 于2013年03月19日发表在 Oracle, oracle 10g, oracle 11g 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: windows服务未启动导致 ORA-12560和RMAN-00554错误 | 信春哥,系统稳,闭眼上线不回滚!
关键字: , , ,

windows服务未启动导致 ORA-12560和RMAN-00554错误:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter