RMAN之不完全恢复及目录恢复前一个incarnation

本文介绍Oracle数据库恢复的具体步骤,包括如何使用基于时间点、SCN和日志序列号的方法进行数据库恢复。此外还详细展示了如何通过RMAN命令将数据库重置到特定的原型,并进行控制文件及数据文件的恢复。

主要分三种:基于时间点,SCN,日志序列号。

步骤:

  1.建立恢复点:

     set until time=”to_date(‘07/01/02 15:00:00’,’mm/dd/yy hh24:mi:ss’)”;--基于时间点

                 sequence ** thread **;--------基于日志序列号

                  scn **;------------基于SCN

      也可在restore database ,recover database后直接用 until time =”to_date(‘07/01/02 15:00:00’,’mm/dd/yy hh24:mi:ss’)”;

  2.进行还原,恢复:

   restore database;----先还原

   recover database;----再恢复

  3.以resetlogs方式打开数据库:

    alter database open resetlogs;

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

在数据库用resetlogs方式打开后,数据库会对应一个新的逻辑生存期,用incarnation(对应物)来进行表示。

有时需要用上次执行resetlogs打开数据库前生成的备份来还原数据库,如有恢复目录,恢复步骤如下:

RMAN> list incarnation;

数据库原型列表
DB 关键字  Inc 关键字 DB 名  DB ID            STATUS  重置 SCN  重置时间
------- ------- -------- ---------------- --- ---------- ----------
281     282     TEST     2016356161       PARENT  1          05-5月 -10
281     924     TEST     2016356161       CURRENT 511670     12-5月 –10

SQL> startup nomount
ORACLE 例程已经启动。

Total System Global Area  167772160 bytes
Fixed Size                  1247900 bytes
Variable Size              88081764 bytes
Database Buffers           75497472 bytes
Redo Buffers                2945024 bytes

C:\Documents and Settings\Administrator>rman target /

恢复管理器: Release 10.2.0.1.0 - Production on 星期三 5月 12 14:32:00 2

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

连接到目标数据库: TEST (未装载)

RMAN> CONNECT CATALOG RMAN/123123@CATEST;

连接到恢复目录数据库

RMAN> reset database to incarnation 282 ;

将数据库重置为原型 282

RMAN> restore controlfile;

启动 restore 于 12-5月 -10
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
分配的通道: ORA_DISK_2
通道 ORA_DISK_2: sid=155 devtype=DISK
分配的通道: ORA_DISK_3
通道 ORA_DISK_3: sid=154 devtype=DISK

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在复原控制文件
通道 ORA_DISK_1: 正在读取备份段 E:\RBACKUP\C-2016356161-20100512-00
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = E:\RBACKUP\C-2016356161-20100512-00 标记 = TAG20100512T110008
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:07
输出文件名=D:\ORADATA\TEST\CONTROL\CONTROL01.CTL
输出文件名=D:\ORADATA\TEST\CONTROL\CONTROL02.CTL
输出文件名=D:\ORADATA\TEST\CONTROL\CONTROL03.CTL
完成 restore 于 12-5月 -10

SQL> alter database mount;

数据库已更改。

RMAN> restore database until scn 511699;

启动 restore 于 12-5月 -10
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
使用通道 ORA_DISK_3

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\ORADATA\TEST\DATA\SYSTEM01.DBF
通道 ORA_DISK_1: 正在读取备份段 E:\RBACKUP\27LDG27N_1_1
通道 ORA_DISK_2: 正在开始恢复数据文件备份集
通道 ORA_DISK_2: 正在指定从备份集恢复的数据文件
正将数据文件00002恢复到D:\ORADATA\TEST\DATA\UNDOTBS01.DBF
正将数据文件00005恢复到D:\ORADATA\TEST\DATA\TEST.DBF
通道 ORA_DISK_2: 正在读取备份段 E:\RBACKUP\28LDG27O_1_1
通道 ORA_DISK_3: 正在开始恢复数据文件备份集
通道 ORA_DISK_3: 正在指定从备份集恢复的数据文件
正将数据文件00003恢复到D:\ORADATA\TEST\DATA\SYSAUX01.DBF
正将数据文件00004恢复到D:\ORADATA\TEST\DATA\USERS01.DBF
通道 ORA_DISK_3: 正在读取备份段 E:\RBACKUP\29LDG27T_1_1
通道 ORA_DISK_2: 已恢复备份段 1
段句柄 = E:\RBACKUP\28LDG27O_1_1 标记 = TAG20100512T105902
通道 ORA_DISK_2: 恢复完成, 用时: 00:00:36
通道 ORA_DISK_3: 已恢复备份段 1
段句柄 = E:\RBACKUP\29LDG27T_1_1 标记 = TAG20100512T105902
通道 ORA_DISK_3: 恢复完成, 用时: 00:00:37
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = E:\RBACKUP\27LDG27N_1_1 标记 = TAG20100512T105902
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:38
完成 restore 于 12-5月 -10

RMAN> recover database until scn 511699;

启动 recover 于 12-5月 -10
释放的通道: ORA_DISK_1
释放的通道: ORA_DISK_2
释放的通道: ORA_DISK_3
启动 implicit crosscheck backup 于 12-5月 -10
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=154 devtype=DISK
分配的通道: ORA_DISK_2
通道 ORA_DISK_2: sid=155 devtype=DISK
分配的通道: ORA_DISK_3
通道 ORA_DISK_3: sid=156 devtype=DISK
已交叉检验的 3 对象
完成 implicit crosscheck backup 于 12-5月 -10

启动 implicit crosscheck copy 于 12-5月 -10
使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
使用通道 ORA_DISK_3
完成 implicit crosscheck copy 于 12-5月 -10

搜索恢复区域中的所有文件
正在编制文件目录...
目录编制完毕

已列入目录的文件的列表
=======================
文件名: E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\2010_05_12\
O1_MF_1_30_5YN8LF3F_.ARC
文件名: E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\2010_05_12\
O1_MF_1_31_5YN8ZPBQ_.ARC
文件名: E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\2010_05_12\
O1_MF_1_32_5YN9H4RW_.ARC

使用通道 ORA_DISK_1
使用通道 ORA_DISK_2
使用通道 ORA_DISK_3
RMAN-06900: 警告: 无法生成 V$RMAN_STATUS 或 V$RMAN_OUTPUT 行
RMAN-06901: 警告: 禁止更新 V$RMAN_STATUS 和 V$RMAN_OUTPUT 行
来自目标数据库的 ORACLE 错误:

正在开始介质的恢复

存档日志线程 1 序列 30 已作为文件 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\T
EST\ARCHIVELOG\2010_05_12\O1_MF_1_30_5YN8LF3F_.ARC 存在于磁盘上
存档日志线程 1 序列 31 已作为文件 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\T
EST\ARCHIVELOG\2010_05_12\O1_MF_1_31_5YN8ZPBQ_.ARC 存在于磁盘上
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201
0_05_12\O1_MF_1_30_5YN8LF3F_.ARC 线程 =1 序列 =30
存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201
0_05_12\O1_MF_1_31_5YN8ZPBQ_.ARC 线程 =1 序列 =31
介质恢复完成, 用时: 00:00:05
完成 recover 于 12-5月 -10

RMAN> list incarnation;

在恢复目录中注册的数据库的新原型
正在启动全部恢复目录的 resync
完成全部 resync

数据库原型列表
DB 关键字  Inc 关键字 DB 名  DB ID            STATUS  重置 SCN  重置时间
------- ------- -------- ---------------- --- ---------- ----------
281     282     TEST     2016356161       PARENT  1          05-5月 -10
281     924     TEST     2016356161       ORPHAN  511670     12-5月 -10
281     1482    TEST     2016356161       CURRENT 511703     12-5月 -10

SQL> alter database open resetlogs;

数据库已更改。

具体步骤如上红色标识。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22804047/viewspace-683107/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22804047/viewspace-683107/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值