博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
不成功的RMAN恢复到其他机器的例子
阅读量:5272 次
发布时间:2019-06-14

本文共 8480 字,大约阅读时间需要 28 分钟。

事实上,RMAN备份的时候,如果是使用control file 来作catalog,那么一定要把control file和spfile恢复到另外的机器上面。

否则,会出现类似如下的错误:

原来的实例:

 

[oracle@localhost ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Sun Apr 6 15:54:41 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected to target database: ORCL (DBID=1370687811)

RMAN> backup tablespace users;

Starting backup at 06-APR-14

using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=41 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 06-APR-14
channel ORA_DISK_1: finished piece 1 at 06-APR-14
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_nnndf_TAG20140406T155529_9n223km6_.bkp tag=TAG20140406T155529 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 06-APR-14

RMAN> quit

Recovery Manager complete.
[oracle@localhost ~]$

 

然后,如果我另外再安装一套oracle,会发生什么状况呢?

[oracle@localhost ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Sun Apr 6 16:00:00 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected to target database: ORCL (DBID=1371965186, not open)

RMAN> list backup;

using target database control file instead of recovery catalog

specification does not match any backup in the repository

RMAN> restore tablespace users from '/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_nnndf_TAG20140406T155529_9n223km6_.bkp';

Starting restore at 06-APR-14

allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK

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

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 04/06/2014 16:00:38
RMAN-06509: only SPFILE or control file can be restored from AUTOBACKUP

RMAN>

 

一开始,我对上述的RMAN-06509非常不理解,后来参考了如下的网站,明白了错误所在。

http://www.doc88.com/p-900857827054.html

 

由于RMAN要依赖于catalog,当catalog是controle file的形式的时候,需要先把control file和spfile拿到新的数据库实例的对应的目录下,那样才可以继续进行restore/recover的活动。

 

***********************************************

接着我又进行了试验,看看把control file 挪过来回如何:

旧实例上:

RMAN> backup current controlfile;

Starting backup at 06-APR-14

using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=33 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 06-APR-14
channel ORA_DISK_1: finished piece 1 at 06-APR-14
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_ncnnf_TAG20140406T213831_9n2p6rw4_.bkp tag=TAG20140406T213831 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 06-APR-14

RMAN>

 

在旧实例上:

RMAN> backup current controlfile;

Starting backup at 06-APR-14

using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=33 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 06-APR-14
channel ORA_DISK_1: finished piece 1 at 06-APR-14
piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_ncnnf_TAG20140406T213831_9n2p6rw4_.bkp tag=TAG20140406T213831 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 06-APR-14

RMAN>

 

[oracle@localhost ~]$ cd /u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/

[oracle@localhost 2014_04_06]$ cp o1_mf_ncnnf_TAG20140406T213831_9n2p6rw4_.bkp /u02/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/

 

然后,启动新实例

 

 

SQL> startup nomount;

ORACLE instance started.

Total System Global Area 814227456 bytes

Fixed Size 2257640 bytes
Variable Size 528485656 bytes
Database Buffers 281018368 bytes
Redo Buffers 2465792 bytes
SQL>

 

[oracle@localhost ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Sun Apr 6 21:45:09 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected to target database: ORCL (not mounted)

RMAN>

 

开始恢复control file,进而得到备份集的信息:

RMAN> restore controlfile from '/u02/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_ncnnf_TAG20140406T213831_9n2p6rw4_.bkp';

Starting restore at 06-APR-14

using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/u02/app/oracle/oradata/orcl/control01.ctl
output file name=/u02/app/oracle/fast_recovery_area/orcl/control02.ctl
Finished restore at 06-APR-14

RMAN> list backup;

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

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of list command at 04/06/2014 21:46:06
ORA-01507: database not mounted

RMAN> quit

 

********************************************************

 

SQL> alter database mount;

Database altered.

SQL>

 

[oracle@localhost ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Sun Apr 6 21:46:42 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

connected to target database: ORCL (DBID=1370687811, not open)

RMAN> list backup;

using target database control file instead of recovery catalog

List of Backup Sets

===================

BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 1.43M DISK 00:00:00 06-APR-14
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20140406T155529
Piece Name: /u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_nnndf_TAG20140406T155529_9n223km6_.bkp
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
4 Full 988907 06-APR-14 /u01/app/oracle/oradata/orcl/users01.dbf

RMAN>

 

这些个信息里面记的都是旧实例所拥有的位置信息。

 

再试验看:

RMAN> list backup;

using target database control file instead of recovery catalog

List of Backup Sets

===================

BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 1.43M DISK 00:00:00 06-APR-14
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20140406T155529
Piece Name: /u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_nnndf_TAG20140406T155529_9n223km6_.bkp
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
4 Full 988907 06-APR-14 /u01/app/oracle/oradata/orcl/users01.dbf

RMAN> restore tablespace users from '/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_nnndf_TAG20140406T155529_9n223km6_.bkp';

Starting restore at 06-APR-14

Starting implicit crosscheck backup at 06-APR-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISK
Crosschecked 1 objects
Finished implicit crosscheck backup at 06-APR-14

Starting implicit crosscheck copy at 06-APR-14

using channel ORA_DISK_1
Finished implicit crosscheck copy at 06-APR-14

searching for all files in the recovery area

cataloging files...
cataloging done

List of Cataloged Files

=======================
File Name: /u02/app/oracle/fast_recovery_area/ORCL/backupset/2014_04_06/o1_mf_ncnnf_TAG20140406T213831_9n2p6rw4_.bkp
File Name: /u02/app/oracle/fast_recovery_area/ORCL/archivelog/2014_04_06/o1_mf_1_3_9n22917q_.arc

using channel ORA_DISK_1

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

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 04/06/2014 21:56:09
RMAN-06509: only SPFILE or control file can be restored from AUTOBACKUP

RMAN>

因为新旧实例不同,所以会出问题。

 

 

转载于:https://www.cnblogs.com/gaojian/p/3649335.html

你可能感兴趣的文章
数组分割问题求两个子数组的和差值的小
查看>>
composer 报 zlib_decode(): data error
查看>>
linux下WPS的使用
查看>>
hdu 3938 并查集
查看>>
《深入分析Java Web技术内幕》读书笔记之JVM内存管理
查看>>
python之GIL release (I/O open(file) socket time.sleep)
查看>>
2015/8/4 告别飞思卡尔,抛下包袱上路
查看>>
软件开发与模型
查看>>
161017、SQL必备知识点
查看>>
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>
mysqladmin 修改和 初始化密码
查看>>
字符串
查看>>
vue2.x directive - 限制input只能输入正整数
查看>>
实现MyLinkedList类深入理解LinkedList
查看>>
自定义返回模型
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 客户端多网络支持
查看>>
HDU 4122
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>
打飞机游戏【来源于Crossin的编程教室 http://chuansong.me/account/crossincode 】
查看>>