-
需要使用新的控制文件 ,对于异构目录的恢复,需要重新重定义数据文件位置。(因为在开始restore过程指定了set newname,新的控制文件记录的数据文件位置,还是原先的。可以采用alter database rename file '' to '' ;进行指定。)
-
catatlog的强大。
- 一个测试:
- 切换N个日志
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on 星期三 12月 12 19:23:21 2018
Copyright (c) 1982, 2016, Oracle. All rights reserved.
连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> alter system switch logfile;
系统已更改。
SQL> /
系统已更改。
SQL> /
系统已更改。
SQL> /
系统已更改。
SQL> /
系统已更改。
SQL>
|
-
- 备份控制文件和数据库
C:\Users\Administrator>rman target /
恢复管理器: Release 12.2.0.1.0 - Production on 星期三 12月 12 19:24:55 2018
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: ORCL (DBID=1514004854)
RMAN> backup database plus archivelog delete all input;
从位于 12-12月-18 的 backup 开始 当前日志已存档 使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: SID=265 设备类型=DISK 通道 ORA_DISK_1: 正在启动归档日志备份集 通道 ORA_DISK_1: 正在指定备份集内的归档日志 输入归档日志线程 = 1 序列 = 1 RECID=80 STAMP=994706611 输入归档日志线程 = 1 序列 = 2 RECID=81 STAMP=994706612 输入归档日志线程 = 1 序列 = 3 RECID=82 STAMP=994706616 输入归档日志线程 = 1 序列 = 4 RECID=83 STAMP=994706616 输入归档日志线程 = 1 序列 = 5 RECID=84 STAMP=994706620 输入归档日志线程 = 1 序列 = 6 RECID=85 STAMP=994706705 通道 ORA_DISK_1: 正于 12-12月-18 启动段 1 通道 ORA_DISK_1: 完成了于 12-12月-18 启动段 1 片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0PTKK18I_1_1 标记 = TAG20181212T192506 注释 = NONE 通道 ORA_DISK_1: 备份集完成, 用时: 00:00:01 通道 ORA_DISK_1: 正在删除归档日志 归档日志文件名 = F:\APP\ARCH\1_1_994706149.DBF RECID=80 STAMP=994706611 归档日志文件名 = F:\APP\ARCH\1_2_994706149.DBF RECID=81 STAMP=994706612 归档日志文件名 = F:\APP\ARCH\1_3_994706149.DBF RECID=82 STAMP=994706616 归档日志文件名 = F:\APP\ARCH\1_4_994706149.DBF RECID=83 STAMP=994706616 归档日志文件名 = F:\APP\ARCH\1_5_994706149.DBF RECID=84 STAMP=994706620 归档日志文件名 = F:\APP\ARCH\1_6_994706149.DBF RECID=85 STAMP=994706705 在 12-12月-18 完成了 backup
从位于 12-12月-18 的 backup 开始 使用通道 ORA_DISK_1 通道 ORA_DISK_1: 正在启动全部数据文件备份集 通道 ORA_DISK_1: 正在指定备份集内的数据文件 输入数据文件, 文件号 = 00001 名称 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\SYSTEM01.DBF 输入数据文件, 文件号 = 00003 名称 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\SYSAUX01.DBF 输入数据文件, 文件号 = 00005 名称 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\UNDOTBS01.DBF 输入数据文件, 文件号 = 00007 名称 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\USERS001.DBF 通道 ORA_DISK_1: 正于 12-12月-18 启动段 1 通道 ORA_DISK_1: 完成了于 12-12月-18 启动段 1 片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0QTKK18J_1_1 标记 = TAG20181212T192507 注释 = NONE 通道 ORA_DISK_1: 备份集完成, 用时: 00:00:15 在 12-12月-18 完成了 backup
从位于 12-12月-18 的 backup 开始 当前日志已存档 使用通道 ORA_DISK_1 通道 ORA_DISK_1: 正在启动归档日志备份集 通道 ORA_DISK_1: 正在指定备份集内的归档日志 输入归档日志线程 = 1 序列 = 7 RECID=86 STAMP=994706723 通道 ORA_DISK_1: 正于 12-12月-18 启动段 1 通道 ORA_DISK_1: 完成了于 12-12月-18 启动段 1 片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0RTKK193_1_1 标记 = TAG20181212T192523 注释 = NONE 通道 ORA_DISK_1: 备份集完成, 用时: 00:00:01 通道 ORA_DISK_1: 正在删除归档日志 归档日志文件名 = F:\APP\ARCH\1_7_994706149.DBF RECID=86 STAMP=994706723 在 12-12月-18 完成了 backup
从位于 12-12月-18 的 Control File and SPFILE Autobackup 开始 片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\C-1514004854-20181212-03 注释 = NONE 在 12-12月-18 完成了 Control File and SPFILE Autobackup
RMAN> RMAN> list archivelog all;
说明与资料档案库中的任何归档日志都不匹配 |
-
- 切换N个日志
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on 星期三 12月 12 19:26:25 2018
Copyright (c) 1982, 2016, Oracle. All rights reserved.
连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> alter system switch logfile;l 2 SQL> SQL> alter system switch logfile;
系统已更改。
SQL> /
系统已更改。
SQL> /
系统已更改。
SQL> /
系统已更改。
SQL> /
系统已更改。
SQL> /
系统已更改。 |
-
- 备份归档并删除
C:\Users\Administrator>rman target /
恢复管理器: Release 12.2.0.1.0 - Production on 星期三 12月 12 19:27:37 2018
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: ORCL (DBID=1514004854)
RMAN> backup archivelog all delete input;
从位于 12-12月-18 的 backup 开始 当前日志已存档 使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: SID=265 设备类型=DISK 通道 ORA_DISK_1: 正在启动归档日志备份集 通道 ORA_DISK_1: 正在指定备份集内的归档日志 输入归档日志线程 = 1 序列 = 8 RECID=87 STAMP=994706796 输入归档日志线程 = 1 序列 = 9 RECID=88 STAMP=994706797 输入归档日志线程 = 1 序列 = 10 RECID=89 STAMP=994706799 输入归档日志线程 = 1 序列 = 11 RECID=90 STAMP=994706799 输入归档日志线程 = 1 序列 = 12 RECID=91 STAMP=994706804 输入归档日志线程 = 1 序列 = 13 RECID=92 STAMP=994706804 输入归档日志线程 = 1 序列 = 14 RECID=93 STAMP=994706870 通道 ORA_DISK_1: 正于 12-12月-18 启动段 1 通道 ORA_DISK_1: 完成了于 12-12月-18 启动段 1 片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0TTKK1DM_1_1 标记 = TAG20181212T192750 注释 = NONE 通道 ORA_DISK_1: 备份集完成, 用时: 00:00:01 通道 ORA_DISK_1: 正在删除归档日志 归档日志文件名 = F:\APP\ARCH\1_8_994706149.DBF RECID=87 STAMP=994706796 归档日志文件名 = F:\APP\ARCH\1_9_994706149.DBF RECID=88 STAMP=994706797 归档日志文件名 = F:\APP\ARCH\1_10_994706149.DBF RECID=89 STAMP=994706799 归档日志文件名 = F:\APP\ARCH\1_11_994706149.DBF RECID=90 STAMP=994706799 归档日志文件名 = F:\APP\ARCH\1_12_994706149.DBF RECID=91 STAMP=994706804 归档日志文件名 = F:\APP\ARCH\1_13_994706149.DBF RECID=92 STAMP=994706804 归档日志文件名 = F:\APP\ARCH\1_14_994706149.DBF RECID=93 STAMP=994706870 在 12-12月-18 完成了 backup
从位于 12-12月-18 的 Control File and SPFILE Autobackup 开始 片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\C-1514004854-20181212-04 注释 = NONE 在 12-12月-18 完成了 Control File and SPFILE Autobackup |
-
- 使用不包含归档备份集的控制文件
RMAN> shutdown immediate;
数据库已关闭 数据库已卸装 Oracle 实例已关闭
RMAN> startup nomount;
已连接到目标数据库 (未启动) Oracle 实例已启动
系统全局区域总计 5066719232 字节
Fixed Size 8757280 字节 Variable Size 1056968672 字节 Database Buffers 3992977408 字节 Redo Buffers 8015872 字节
RMAN> restore controlfile from 'F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\C-1514004854-20181212-03';
从位于 12-12月-18 的 restore 开始 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: SID=262 设备类型=DISK
通道 ORA_DISK_1: 正在还原控制文件 通道 ORA_DISK_1: 还原完成, 用时: 00:00:01 输出文件名=F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\CONTROL01.CTL 输出文件名=F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\CONTROL02.CTL 在 12-12月-18 完成了 restore
RMAN> alter database mount;
已处理语句 释放的通道: ORA_DISK_1
RMAN> |
-
- 恢复数据库,控制文件不包含的备份集是否注册?
RMAN> recover database ;
从位于 12-12月-18 的 recover 开始 使用通道 ORA_DISK_1
正在开始介质的恢复
线程 1 序列 13 的归档日志已作为文件 F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO01.LOG 存在于磁盘上 线程 1 序列 14 的归档日志已作为文件 F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO02.LOG 存在于磁盘上 线程 1 序列 15 的归档日志已作为文件 F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO03.LOG 存在于磁盘上 通道 ORA_DISK_1: 正在开始将归档日志还原到默认目标 通道 ORA_DISK_1: 正在还原归档日志 归档日志线程 = 1 序列 = 7 通道 ORA_DISK_1: 正在读取备份片段 F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0RTKK193_1_1 通道 ORA_DISK_1: 片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0RTKK193_1_1 标记 = TAG20181212T192523 通道 ORA_DISK_1: 已还原备份片段 1 通道 ORA_DISK_1: 还原完成, 用时: 00:00:01 归档日志文件名 = F:\APP\ARCH\1_7_994706149.DBF 线程 = 1 序列 = 7 无法找到归档日志 归档日志线程 = 1 序列 = 8 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: 位于 12/12/2018 19:32:00 的 recover 命令失败 RMAN-06054: 介质恢复正在请求未知的线程 1 序列 8 的归档日志以及起始 SCN 6068406
RMAN> |
-
- 注册丢失的备份集
C:\Users\Administrator>rman target /
恢复管理器: Release 12.2.0.1.0 - Production on 星期三 12月 12 19:34:00 2018
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: ORCL (DBID=1514004854, 未打开)
RMAN> catalog backuppiece 'F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0TTKK1DM_1_1';
使用目标数据库控制文件替代恢复目录 已将备份片段列入目录 备份片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0TTKK1DM_1_1 RECID=16 STAMP=994707267
RMAN> recover database ;
从位于 12-12月-18 的 recover 开始 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: SID=11 设备类型=DISK
正在开始介质的恢复
线程 1 序列 13 的归档日志已作为文件 F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO01.LOG 存在于磁盘上 线程 1 序列 14 的归档日志已作为文件 F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO02.LOG 存在于磁盘上 线程 1 序列 15 的归档日志已作为文件 F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO03.LOG 存在于磁盘上 通道 ORA_DISK_1: 正在开始将归档日志还原到默认目标 通道 ORA_DISK_1: 正在还原归档日志 归档日志线程 = 1 序列 = 8 通道 ORA_DISK_1: 正在还原归档日志 归档日志线程 = 1 序列 = 9 通道 ORA_DISK_1: 正在还原归档日志 归档日志线程 = 1 序列 = 10 通道 ORA_DISK_1: 正在还原归档日志 归档日志线程 = 1 序列 = 11 通道 ORA_DISK_1: 正在还原归档日志 归档日志线程 = 1 序列 = 12 通道 ORA_DISK_1: 正在读取备份片段 F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0TTKK1DM_1_1 通道 ORA_DISK_1: 片段句柄 = F:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_1\DATABASE\0TTKK1DM_1_1 标记 = TAG20181212T192750 通道 ORA_DISK_1: 已还原备份片段 1 通道 ORA_DISK_1: 还原完成, 用时: 00:00:01 归档日志文件名 = F:\APP\ARCH\1_8_994706149.DBF 线程 = 1 序列 = 8 归档日志文件名 = F:\APP\ARCH\1_9_994706149.DBF 线程 = 1 序列 = 9 归档日志文件名 = F:\APP\ARCH\1_10_994706149.DBF 线程 = 1 序列 = 10 归档日志文件名 = F:\APP\ARCH\1_11_994706149.DBF 线程 = 1 序列 = 11 归档日志文件名 = F:\APP\ARCH\1_12_994706149.DBF 线程 = 1 序列 = 12 归档日志文件名 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO01.LOG 线程 = 1 序列 = 13 归档日志文件名 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO02.LOG 线程 = 1 序列 = 14 归档日志文件名 = F:\APP\ADMINISTRATOR\VIRTUAL\ORADATA\ORCL\REDO03.LOG 线程 = 1 序列 = 15 介质恢复完成, 用时: 00:00:02 在 12-12月-18 完成了 recover
RMAN> |
-
- 测试结论
归档日志已经删除,如果老的控制文件不包含备份归档的备份集,将不能进行恢复。 |