RMAN异机恢复

来源:互联网 发布:会场安排问题 贪心算法 编辑:程序博客网 时间:2024/05/01 18:39
RMAN异机恢复过程中执行restore database时候老是会报RMAN-06023的错误,提示找不到数据文件的备份副本,后来使用catalog解决。这里两个机器的目录是相同的,如果目录不相同,还需要使用setname才行。
 


完整恢复过程:
Microsoft Windows [版本 10.0.10586]
(c) 2015 Microsoft Corporation。保留所有权利。

C:\Users\cjy>rman target/

恢复管理器: Release 11.2.0.1.0 - Production on 星期二 4月 19 13:36:41 2016

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

已连接到目标数据库: ORCL (DBID=1436758849, 未打开)


#因为要替换控制文件,所以先启动数据库到nomount状态
RMAN> startup nomount force;

Oracle 实例已启动

系统全局区域总计    1670221824 字节

Fixed Size                     2176328 字节
Variable Size                973081272 字节
Database Buffers             687865856 字节
Redo Buffers                   7098368 字节

#restore控制文件
RMAN> restore controlfile from 'E:\oracle\db_backup\20160419\C-1436758849-20160419-02.CTL';

启动 restore 于 19-4月 -16
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=134 设备类型=DISK

通道 ORA_DISK_1: 正在还原控制文件
通道 ORA_DISK_1: 还原完成, 用时: 00:00:03
输出文件名=C:\APP\CJY\ORADATA\ORCL\CONTROL01.CTL
输出文件名=C:\APP\CJY\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL
完成 restore 于 19-4月 -16

RMAN> alter database mount;

数据库已装载
释放的通道: ORA_DISK_1


#执行一下检查,以便后面把expired的备份都删删掉
RMAN> crosscheck backup;

启动 implicit crosscheck backup 于 19-4月 -16
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=134 设备类型=DISK
已交叉检验的 27 对象
完成 implicit crosscheck backup 于 19-4月 -16

启动 implicit crosscheck copy 于 19-4月 -16
使用通道 ORA_DISK_1
已交叉检验的 4 对象
完成 implicit crosscheck copy 于 19-4月 -16

搜索恢复区中的所有文件
正在编制文件目录...
没有为文件编制目录

使用通道 ORA_DISK_1
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\BK_ORCL_20160412_25.BKP RECID=21 STAMP=908999974
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\BK_ORCL_20160412_24.BKP RECID=22 STAMP=908999971
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\C-1436758849-20160412-07.CTL RECID=23 STAMP=909000088
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\ARC_ORCL_20160412_27.ARC RECID=24 STAMP=909000093
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\ARC_ORCL_20160412_28.ARC RECID=25 STAMP=909000094
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\C-1436758849-20160412-08.CTL RECID=26 STAMP=909000096
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\BK_ORCL_20160412_31.BKP RECID=27 STAMP=909000106
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\BK_ORCL_20160412_30.BKP RECID=28 STAMP=909000102
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160413\C-1436758849-20160413-00.CTL RECID=29 STAMP=909054814
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160414\BK_ORCL_20160414_35.BKP RECID=30 STAMP=909137209
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160414\BK_ORCL_20160414_36.BKP RECID=31 STAMP=909137226
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160414\C-1436758849-20160414-00.CTL RECID=32 STAMP=909137249
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160414\ARC_ORCL_20160414_38.ARC RECID=33 STAMP=909137258
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160414\ARC_ORCL_20160414_39.ARC RECID=34 STAMP=909137259
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160414\ARC_ORCL_20160414_40.ARC RECID=35 STAMP=909137262
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160414\C-1436758849-20160414-01.CTL RECID=36 STAMP=909137265
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\BK_ORCL_20160418_42.BKP RECID=37 STAMP=909482809
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\BK_ORCL_20160418_43.BKP RECID=38 STAMP=909482826
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\C-1436758849-20160418-00.CTL RECID=39 STAMP=909482847
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\ARC_ORCL_20160418_45.ARC RECID=40 STAMP=909482853
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\ARC_ORCL_20160418_46.ARC RECID=41 STAMP=909482855
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\ARC_ORCL_20160418_47.ARC RECID=42 STAMP=909482859
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\C-1436758849-20160418-01.CTL RECID=43 STAMP=909482863
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\SPFILE_ORCL_20160418_49.BAK RECID=44 STAMP=909487592
交叉校验备份片段: 找到为 'EXPIRED'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\C-1436758849-20160418-02.CTL RECID=45 STAMP=909487593
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160419\BK_ORCL_20160419_58.BKP RECID=53 STAMP=909581169
交叉校验备份片段: 找到为 'AVAILABLE'
备份片段句柄=E:\ORACLE\DB_BACKUP\20160419\BK_ORCL_20160419_59.BKP RECID=54 STAMP=909581179
已交叉检验的 27 对象

#删除expired的备份文件
RMAN> delete expired backup;

使用通道 ORA_DISK_1

备份片段列表
BP 关键字  BS 关键字  Pc# Cp# 状态      设备类型段名称
------- ------- --- --- ----------- ----------- ----------
21      21      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160412\BK_ORCL_20160412_25.BKP
22      22      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160412\BK_ORCL_20160412_24.BKP
23      23      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160412\C-1436758849-20160412-07.CTL
24      24      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160412\ARC_ORCL_20160412_27.ARC
25      25      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160412\ARC_ORCL_20160412_28.ARC
26      26      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160412\C-1436758849-20160412-08.CTL
27      27      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160412\BK_ORCL_20160412_31.BKP
28      28      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160412\BK_ORCL_20160412_30.BKP
29      29      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160413\C-1436758849-20160413-00.CTL
37      37      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160418\BK_ORCL_20160418_42.BKP
38      38      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160418\BK_ORCL_20160418_43.BKP
39      39      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160418\C-1436758849-20160418-00.CTL
40      40      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160418\ARC_ORCL_20160418_45.ARC
41      41      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160418\ARC_ORCL_20160418_46.ARC
42      42      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160418\ARC_ORCL_20160418_47.ARC
43      43      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160418\C-1436758849-20160418-01.CTL
44      44      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160418\SPFILE_ORCL_20160418_49.BAK
45      45      1   1   EXPIRED     DISK        E:\ORACLE\DB_BACKUP\20160418\C-1436758849-20160418-02.CTL

是否确定要删除以上对象 (输入 YES 或 NO)? yes
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\BK_ORCL_20160412_25.BKP RECID=21 STAMP=908999974
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\BK_ORCL_20160412_24.BKP RECID=22 STAMP=908999971
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\C-1436758849-20160412-07.CTL RECID=23 STAMP=909000088
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\ARC_ORCL_20160412_27.ARC RECID=24 STAMP=909000093
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\ARC_ORCL_20160412_28.ARC RECID=25 STAMP=909000094
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\C-1436758849-20160412-08.CTL RECID=26 STAMP=909000096
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\BK_ORCL_20160412_31.BKP RECID=27 STAMP=909000106
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160412\BK_ORCL_20160412_30.BKP RECID=28 STAMP=909000102
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160413\C-1436758849-20160413-00.CTL RECID=29 STAMP=909054814
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\BK_ORCL_20160418_42.BKP RECID=37 STAMP=909482809
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\BK_ORCL_20160418_43.BKP RECID=38 STAMP=909482826
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\C-1436758849-20160418-00.CTL RECID=39 STAMP=909482847
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\ARC_ORCL_20160418_45.ARC RECID=40 STAMP=909482853
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\ARC_ORCL_20160418_46.ARC RECID=41 STAMP=909482855
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\ARC_ORCL_20160418_47.ARC RECID=42 STAMP=909482859
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\C-1436758849-20160418-01.CTL RECID=43 STAMP=909482863
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\SPFILE_ORCL_20160418_49.BAK RECID=44 STAMP=909487592
已删除备份片段
备份片段句柄=E:\ORACLE\DB_BACKUP\20160418\C-1436758849-20160418-02.CTL RECID=45 STAMP=909487593
18 EXPIRED 对象已删除


#catalog一下,将备份文件信息添加到目录中,可以看到找不到数据文件,所以后面需要使用catalog backuppiece添加
RMAN> catalog start with 'E:\ORACLE\DB_BACKUP\20160419\';

搜索与样式 E:\ORACLE\DB_BACKUP\20160419\ 匹配的所有文件

数据库未知文件的列表
=====================================
文件名: E:\ORACLE\DB_BACKUP\20160419\ARC_ORCL_20160419_61.ARC
文件名: E:\ORACLE\DB_BACKUP\20160419\ARC_ORCL_20160419_62.ARC
文件名: E:\ORACLE\DB_BACKUP\20160419\ARC_ORCL_20160419_63.ARC
文件名: E:\ORACLE\DB_BACKUP\20160419\C-1436758849-20160419-02.CTL
文件名: E:\ORACLE\DB_BACKUP\20160419\C-1436758849-20160419-03.CTL

是否确实要将上述文件列入目录 (输入 YES 或 NO)? yes
正在编制文件目录...
目录编制完毕

已列入目录的文件的列表
=======================
文件名: E:\ORACLE\DB_BACKUP\20160419\ARC_ORCL_20160419_61.ARC
文件名: E:\ORACLE\DB_BACKUP\20160419\ARC_ORCL_20160419_62.ARC
文件名: E:\ORACLE\DB_BACKUP\20160419\ARC_ORCL_20160419_63.ARC
文件名: E:\ORACLE\DB_BACKUP\20160419\C-1436758849-20160419-02.CTL
文件名: E:\ORACLE\DB_BACKUP\20160419\C-1436758849-20160419-03.CTL


#catalog数据备份文件
RMAN> catalog backuppiece 'E:\ORACLE\DB_BACKUP\20160419\BK_ORCL_20160419_58.BKP';

已将备份片段列入目录
备份片段句柄=E:\ORACLE\DB_BACKUP\20160419\BK_ORCL_20160419_58.BKP RECID=58 STAMP=909582152

#catalog数据备份文件
RMAN> catalog backuppiece 'E:\ORACLE\DB_BACKUP\20160419\BK_ORCL_20160419_59.BKP';

已将备份片段列入目录
备份片段句柄=E:\ORACLE\DB_BACKUP\20160419\BK_ORCL_20160419_59.BKP RECID=59 STAMP=909582165


RMAN> restore database;

启动 restore 于 19-4月 -16
使用通道 ORA_DISK_1

正在略过数据文件 1; 已还原到文件 C:\APP\CJY\ORADATA\ORCL\SYSTEM01.DBF
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00004 还原到 C:\APP\CJY\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 将数据文件 00005 还原到 C:\APP\CJY\ORADATA\ORCL\FLORCL.DAT
通道 ORA_DISK_1: 正在读取备份片段 E:\ORACLE\DB_BACKUP\20160419\BK_ORCL_20160419_58.BKP
通道 ORA_DISK_1: 段句柄 = E:\ORACLE\DB_BACKUP\20160419\BK_ORCL_20160419_58.BKP 标记 = TAG20160419T132608
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:45
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00002 还原到 C:\APP\CJY\ORADATA\ORCL\SYSAUX01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 C:\APP\CJY\ORADATA\ORCL\UNDOTBS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 E:\ORACLE\DB_BACKUP\20160419\BK_ORCL_20160419_59.BKP
通道 ORA_DISK_1: 段句柄 = E:\ORACLE\DB_BACKUP\20160419\BK_ORCL_20160419_59.BKP 标记 = TAG20160419T132608
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:26
完成 restore 于 19-4月 -16

RMAN> recover database;

启动 recover 于 19-4月 -16
使用通道 ORA_DISK_1

正在开始介质的恢复

通道 ORA_DISK_1: 正在开始将归档日志还原到默认目标
通道 ORA_DISK_1: 正在还原归档日志
归档日志线程=1 序列=12
通道 ORA_DISK_1: 正在还原归档日志
归档日志线程=1 序列=13
通道 ORA_DISK_1: 正在读取备份片段 E:\ORACLE\DB_BACKUP\20160419\ARC_ORCL_20160419_63.ARC
通道 ORA_DISK_1: 段句柄 = E:\ORACLE\DB_BACKUP\20160419\ARC_ORCL_20160419_63.ARC 标记 = TAG20160419T132805
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:03
归档日志文件名=E:\ORACLE\ARCHIVELOGS2\ARC0000000012_0909054797.0001 线程=1 序列=12
归档日志文件名=E:\ORACLE\ARCHIVELOGS2\ARC0000000013_0909054797.0001 线程=1 序列=13
无法找到归档日志
归档日志线程=1 序列=14
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (在 04/19/2016 13:47:27 上) 失败
RMAN-06054: 介质恢复正在请求未知的线程 1 序列 14 的归档日志以及起始 SCN 1231756
1 0
原创粉丝点击