Oracle数据库教程:ORA-01103错误解析


1、环境介绍:

这是一测试库,我将参数文件,控制文件,数据文件全部删除之后,做数据恢复,但是

我把控制文件和参数文件都恢复回来了,可数据库却怎么也打不开,报ORA-01103: database name 'WWL' in control file is not 'DUMMY'错误

我的数据库名称是:WWL

2、执行过程:

恢复参数文件:

RMAN> setDBID=5520179

executing command: SET DBID

RMAN> restorespfile from autobackup;

Starting restore at 23-MAY-12

using target database control file insteadof recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=39 devtype=DISK

 

channel ORA_DISK_1: looking for autobackupon day: 20120523

channel ORA_DISK_1: autobackup found:c-5520179-20120523-04

channel ORA_DISK_1: SPFILE restore fromautobackup complete

Finished restore at 23-MAY-12

RMAN>

 

3、恢复控制文件

RMAN> restorecontrolfile from autobackup;

 

Starting restore at 23-MAY-12

using channel ORA_DISK_1

 

channel ORA_DISK_1: looking for autobackupon day: 20120523

channel ORA_DISK_1: autobackup found:c-5520179-20120523-04

channel ORA_DISK_1: control file restorefrom autobackup complete

output filename=/DBSoft/product/10.2.0/db_1/dbs/cntrlWWL.dbf

Finished restore at 23-MAY-12

 

RMAN>

 

4、报错信息:

RMAN> sql 'alterdatabase mount';

sql statement: alter database mount

RMAN-00571:===========================================================

RMAN-00569: =============== ERROR MESSAGESTACK FOLLOWS ===============

RMAN-00571:===========================================================

RMAN-03009: failure of sql command ondefault channel at 05/23/2012 18:51:31

RMAN-11003: failure during parse/executionof SQL statement: alter database mount

ORA-01103: database name 'WWL' in controlfile is not 'DUMMY'

 

RMAN> alterdatabase mount;

using target database control file insteadof recovery catalog

RMAN-00571:===========================================================

RMAN-00569: =============== ERROR MESSAGESTACK FOLLOWS ===============

RMAN-00571:===========================================================

RMAN-03002: failure of alter db command at05/23/2012 18:39:47

ORA-01103: database name 'WWL' in controlfile is not 'DUMMY'

 

SQL> alterdatabase mount;

alter database mount

 

ERROR at line 1:

ORA-01103: database name 'WWL' in controlfile is not 'DUMMY'

 

注意:问题是我恢复的控制文件没有错呀,在本机器上也没有部署过DUMMY的数据库呀,只有一个实例是WWL

 

查询实例信息,实例信息显示没有错呀是WWL

SQL> selectinstance_name,status from v$instance;

 

INSTANCE_NAME    STATUS

---------------- ------------

WWL              STARTED

 

SQL> alterdatabase mount;       ----顺便执行了下mount database;

alter database mount

*

ERROR at line 1:

ORA-01103: database name 'WWL' in controlfile is not 'DUMMY'

 

奇怪的事发生了,现在再次登录到RMAM居然连接到的是DUMMY库:

问题是,我确定没有这个库呀,怎么办。。。

 

[Oracle@wwldb dbs]$rman target /

Recovery Manager: Release 10.2.0.1.0 -Production on Wed May 23 19:01:09 2012

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

connected to target database: DUMMY (notmounted)

RMAN> exit     

我们刚才做了参数文件和控制文件的恢复,要不将数据库重启下,看有没有问题。

SQL> shutdownimmediate

ORA-01507: database not mounted

ORACLE instance shut down.

SQL> startupmount;

ORACLE instance started.

Total System Global Area  285212672 bytes

Fixed Size                  1218968 bytes

Variable Size              79693416 bytes

Database Buffers          197132288 bytes

Redo Buffers                7168000 bytes

Database mounted.

再次登录正常。

[oracle@wwldb dbs]$rman target /

Recovery Manager: Release 10.2.0.1.0 -Production on Wed May 23 19:04:15 2012

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

connected to target database: WWL(DBID=5520179, not open)

这个问题我一兄弟在AIXLinuxWindows 上分别做实验了,结果是在Windows下不用重启数据库,Rman就可以认到,而不会是DUMMY数据库。

B,每小时执行一次,整点执行

interval => 'trunc(sysdate,'HH')+1/24'

C,一个小时后执行

interval => 'sysdate+1/24'

更多Oracle相关信息见Oracle 专题页面 http://www.bkjia.com/topicnews.aspx?tid=12

相关内容