ora 10g 跨越resetlogs 进行恢复 (test 成功)

来源:互联网 发布:红米note3手机壳淘宝 编辑:程序博客网 时间:2024/06/04 20:08
 

今天试验了resetlog 跨越时间段进行恢复:
先备份:

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

恢复管理器: Release 10.2.0.1.0 - Production on 星期三 1月 11 10:53:14 2012

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

连接到目标数据库: SHENG (DBID=1778268600)

RMAN> backup database plus archivelog delete input;


启动 backup 于 11-1月 -12
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =4 记录 ID=5 时间戳=772283042
通道 ORA_DISK_1: 正在启动段 1 于 11-1月 -12
通道 ORA_DISK_1: 已完成段 1 于 11-1月 -12
段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PRIMARY\BACKUPSET\2012_01_11\O1_MF_ANNNN_TAG20120111T110402_7JSZ13PY
_.BKP 标记=TAG20120111T110402 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
通道 ORA_DISK_1: 正在删除存档日志
存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100004772112323.ARC 记录 ID=5 时间戳 =772283042
完成 backup 于 11-1月 -12

启动 backup 于 11-1月 -12
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\SYSTEM01.DBF
输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\SYSAUX01.DBF
输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\UNDOTBS01.DBF
输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\USERS01.DBF
输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\DEMO.DBF
通道 ORA_DISK_1: 正在启动段 1 于 11-1月 -12
通道 ORA_DISK_1: 已完成段 1 于 11-1月 -12
段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PRIMARY\BACKUPSET\2012_01_11\O1_MF_NNNDF_TAG20120111T110405_7JSZ16N0
_.BKP 标记=TAG20120111T110405 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:25
完成 backup 于 11-1月 -12

启动 backup 于 11-1月 -12
当前日志已存档
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在启动存档日志备份集
通道 ORA_DISK_1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =5 记录 ID=6 时间戳=772283131
通道 ORA_DISK_1: 正在启动段 1 于 11-1月 -12
通道 ORA_DISK_1: 已完成段 1 于 11-1月 -12
段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PRIMARY\BACKUPSET\2012_01_11\O1_MF_ANNNN_TAG20120111T110531_7JSZ3WY8
_.BKP 标记=TAG20120111T110531 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
通道 ORA_DISK_1: 正在删除存档日志
存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100005772112323.ARC 记录 ID=6 时间戳 =772283131
完成 backup 于 11-1月 -12

启动 Control File and SPFILE Autobackup 于 11-1月 -12
段 handle=D:\DBA\BACKUP\C-1778268600-20120111-00 comment=NONE
完成 Control File and SPFILE Autobackup 于 11-1月 -12

RMAN>

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

下面开始对数据库进行操作:
SQL> select * from demo.a;

         I
----------
         1
         2
         3
         4
         5
         6

已选择6行。

SQL> insert into demo.a values (7);

已创建 1 行。

SQL> commit;

提交完成。

SQL> insert into demo.a values (8);

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from demo.a;

         I
----------
         1
         2
         3
         4
         5
         6
         7
         8

已选择8行。

SQL> alter system switch logfile;

系统已更改。

SQL> select * from v$log_history;
在列 NEXT_CHANGE# 前截断 (按要求)

在列 RESETLOGS_CHANGE# 前截断 (按要求)


     RECID      STAMP    THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIME     RESETLO
---------- ---------- ---------- ---------- ------------- -------------- -------
         1  772112324          1          1        752527 09-1月 -12     09-1月
         2  772274859          1          1        754955 09-1月 -12     09-1月
         3  772282426          1          2        784240 11-1月 -12     09-1月
         4  772282527          1          3        789307 11-1月 -12     09-1月
         5  772283041          1          4        789362 11-1月 -12     09-1月
         6  772283130          1          5        789913 11-1月 -12     09-1月
         7  772283397          1          6        789962 11-1月 -12     09-1月
         8  772284384          1          7        790121 11-1月 -12     09-1月

已选择8行。

SQL> alter system switch logfile;

系统已更改。

SQL> select * from v$log_history;

     RECID      STAMP    THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIME     RESETLO
---------- ---------- ---------- ---------- ------------- -------------- -------
         1  772112324          1          1        752527 09-1月 -12     09-1月
         2  772274859          1          1        754955 09-1月 -12     09-1月
         3  772282426          1          2        784240 11-1月 -12     09-1月
         4  772282527          1          3        789307 11-1月 -12     09-1月
         5  772283041          1          4        789362 11-1月 -12     09-1月
         6  772283130          1          5        789913 11-1月 -12     09-1月
         7  772283397          1          6        789962 11-1月 -12     09-1月
         8  772284384          1          7        790121 11-1月 -12     09-1月
         9  772289768          1          1        789963 11-1月 -12     11-1月

已选择9行。

SQL> insert into demo.a values(8);

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> select * from v$log_history;

     RECID      STAMP    THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIME     RESETLO
---------- ---------- ---------- ---------- ------------- -------------- -------
         1  772112324          1          1        752527 09-1月 -12     09-1月
         2  772274859          1          1        754955 09-1月 -12     09-1月
         3  772282426          1          2        784240 11-1月 -12     09-1月
         4  772282527          1          3        789307 11-1月 -12     09-1月
         5  772283041          1          4        789362 11-1月 -12     09-1月
         6  772283130          1          5        789913 11-1月 -12     09-1月
         7  772283397          1          6        789962 11-1月 -12     09-1月
         8  772284384          1          7        790121 11-1月 -12     09-1月
         9  772289768          1          1        789963 11-1月 -12     11-1月
        10  772289816          1          2        793426 11-1月 -12     11-1月

已选择10行。

SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            D:\oracle\product\10.2.0\oradata\arch
最早的联机日志序列     1
下一个存档日志序列   3
当前日志序列           3
SQL> truncate table demo.a;

表被截断。

SQL> select * from demo.a;

未选定行

SQL> alter system switch logfile;

系统已更改。

SQL> select * from v$log_history;
在列 NEXT_CHANGE# 前截断 (按要求)

在列 RESETLOGS_CHANGE# 前截断 (按要求)


     RECID      STAMP    THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIME     RESETLO
---------- ---------- ---------- ---------- ------------- -------------- -------
         1  772112324          1          1        752527 09-1月 -12     09-1月
         2  772274859          1          1        754955 09-1月 -12     09-1月
         3  772282426          1          2        784240 11-1月 -12     09-1月
         4  772282527          1          3        789307 11-1月 -12     09-1月
         5  772283041          1          4        789362 11-1月 -12     09-1月
         6  772283130          1          5        789913 11-1月 -12     09-1月
         7  772283397          1          6        789962 11-1月 -12     09-1月
         8  772284384          1          7        790121 11-1月 -12     09-1月
         9  772289768          1          1        789963 11-1月 -12     11-1月
        10  772289816          1          2        793426 11-1月 -12     11-1月
        11  772289927          1          3        793455 11-1月 -12     11-1月

已选择11行。

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

SQL> insert into demo.a values(9);

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from v$log_history;
在列 NEXT_CHANGE# 前截断 (按要求)

在列 RESETLOGS_CHANGE# 前截断 (按要求)


     RECID      STAMP    THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIME     RESETLO
---------- ---------- ---------- ---------- ------------- -------------- -------
         1  772112324          1          1        752527 09-1月 -12     09-1月
         2  772274859          1          1        754955 09-1月 -12     09-1月
         3  772282426          1          2        784240 11-1月 -12     09-1月
         4  772282527          1          3        789307 11-1月 -12     09-1月
         5  772283041          1          4        789362 11-1月 -12     09-1月
         6  772283130          1          5        789913 11-1月 -12     09-1月
         7  772283397          1          6        789962 11-1月 -12     09-1月
         8  772284384          1          7        790121 11-1月 -12     09-1月
         9  772289768          1          1        789963 11-1月 -12     11-1月
        10  772289816          1          2        793426 11-1月 -12     11-1月
        11  772289927          1          3        793455 11-1月 -12     11-1月

已选择11行。

SQL> alter system switch logfile;

系统已更改。

SQL> select * from v$log_history;
在列 NEXT_CHANGE# 前截断 (按要求)

在列 RESETLOGS_CHANGE# 前截断 (按要求)


     RECID      STAMP    THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIME     RESETLO
---------- ---------- ---------- ---------- ------------- -------------- -------
         1  772112324          1          1        752527 09-1月 -12     09-1月
         2  772274859          1          1        754955 09-1月 -12     09-1月
         3  772282426          1          2        784240 11-1月 -12     09-1月
         4  772282527          1          3        789307 11-1月 -12     09-1月
         5  772283041          1          4        789362 11-1月 -12     09-1月
         6  772283130          1          5        789913 11-1月 -12     09-1月
         7  772283397          1          6        789962 11-1月 -12     09-1月
         8  772284384          1          7        790121 11-1月 -12     09-1月
         9  772289768          1          1        789963 11-1月 -12     11-1月
        10  772289816          1          2        793426 11-1月 -12     11-1月
        11  772289927          1          3        793455 11-1月 -12     11-1月

     RECID      STAMP    THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIME     RESETLO
---------- ---------- ---------- ---------- ------------- -------------- -------
        12  772290144          1          4        793562 11-1月 -12     11-1月

已选择12行。

SQL> select * from demo.a;

         I
----------
         9

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

下面关掉databse,
进行不完全恢复:

RMAN> startup mount;

Oracle 实例已启动
数据库已装载

系统全局区域总计     603979776 字节

Fixed Size                     1250380 字节
Variable Size                272632756 字节
Database Buffers             322961408 字节
Redo Buffers                   7135232 字节

RMAN> run {
2> set until sequence 3 thread 1;
3> restore database;
4> recover database;
5> }

正在执行命令: SET until clause

启动 restore 于 11-1月 -12
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\SYSTEM01.DBF
正将数据文件00002恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\UNDOTBS01.DBF
正将数据文件00003恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\SYSAUX01.DBF
正将数据文件00004恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\USERS01.DBF
正将数据文件00005恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\DEMO.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PRIMARY\BACKUPSET\2012_01_11\O1_MF_NNNDF_T
G20120111T110405_7JSZ16N0_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PRIMARY\BACKUPSET\2012_01_11\O1_MF_NNNDF_TAG20120111T110405_7JSZ1
N0_.BKP 标记 = TAG20120111T110405
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:56
完成 restore 于 11-1月 -12

启动 recover 于 11-1月 -12
使用通道 ORA_DISK_1

正在开始介质的恢复

存档日志线程 1 序列 5 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100005772112323.ARC 存在于磁盘上
存档日志线程 1 序列 1 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100001772284781.ARC 存在于磁盘上
存档日志线程 1 序列 2 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100002772284781.ARC 存在于磁盘上
存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100005772112323.ARC 线程 =1 序列 =5
存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100001772284781.ARC 线程 =1 序列 =1
存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100002772284781.ARC 线程 =1 序列 =2
介质恢复完成, 用时: 00:00:06
完成 recover 于 11-1月 -12

RMAN> alter database open resetlogs;

数据库已打开

发现redo 已经重置:
SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            D:\oracle\product\10.2.0\oradata\arch
最早的联机日志序列     0
下一个存档日志序列   1
当前日志序列           1

SQL> select * from demo.a;

         I
----------
         7
         8
         1
         2
         3
         4
         5
         6

已选择8行。

数据恢复成功。

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

下面继续:
SQL> insert into demo.a values(10);

已创建 1 行。

SQL> commit;

提交完成。

SQL> insert into demo.a values(11);

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> alter system switch logfile;

系统已更改。

SQL> select * from demo.a;

         I
----------
         7
         8
        10
        11
         1
         2
         3
         4
         5
         6

已选择10行。

     RECID      STAMP    THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIME     RESETLO
---------- ---------- ---------- ---------- ------------- -------------- -------
         1  772112324          1          1        752527 09-1月 -12     09-1月
         2  772274859          1          1        754955 09-1月 -12     09-1月
         3  772282426          1          2        784240 11-1月 -12     09-1月
         4  772282527          1          3        789307 11-1月 -12     09-1月
         5  772283041          1          4        789362 11-1月 -12     09-1月
         6  772283130          1          5        789913 11-1月 -12     09-1月
         7  772283397          1          6        789962 11-1月 -12     09-1月
         8  772284384          1          7        790121 11-1月 -12     09-1月
         9  772289768          1          1        789963 11-1月 -12     11-1月
        10  772289816          1          2        793426 11-1月 -12     11-1月
        11  772289927          1          3        793455 11-1月 -12     11-1月

     RECID      STAMP    THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIME     RESETLO
---------- ---------- ---------- ---------- ------------- -------------- -------
        12  772290144          1          4        793562 11-1月 -12     11-1月
        13  772290911          1          1        793456 11-1月 -12     11-1月
        14  772290923          1          2        793853 11-1月 -12     11-1月

已选择14行。

下面进行恢复:

RMAN> startup mount;

Oracle 实例已启动
数据库已装载

系统全局区域总计     603979776 字节

Fixed Size                     1250380 字节
Variable Size                276827060 字节
Database Buffers             318767104 字节
Redo Buffers                   7135232 字节

RMAN> run {
2> restore database;
3> recover database;
4> }

启动 restore 于 11-1月 -12
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\SYSTEM01.DBF
正将数据文件00002恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\UNDOTBS01.DBF
正将数据文件00003恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\SYSAUX01.DBF
正将数据文件00004恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\USERS01.DBF
正将数据文件00005恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\SHENG\DEMO.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PRIMARY\BACKUPSET\2012_01_11\O1_MF_NNNDF_TA
G20120111T110405_7JSZ16N0_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\PRIMARY\BACKUPSET\2012_01_11\O1_MF_NNNDF_TAG20120111T110405_7JSZ16
N0_.BKP 标记 = TAG20120111T110405
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:56
完成 restore 于 11-1月 -12

启动 recover 于 11-1月 -12
使用通道 ORA_DISK_1

正在开始介质的恢复

存档日志线程 1 序列 5 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100005772112323.ARC 存在于磁盘上
存档日志线程 1 序列 1 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100001772284781.ARC 存在于磁盘上
存档日志线程 1 序列 2 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100002772284781.ARC 存在于磁盘上
存档日志线程 1 序列 1 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100001772290594.ARC 存在于磁盘上
存档日志线程 1 序列 2 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100002772290594.ARC 存在于磁盘上
存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100005772112323.ARC 线程 =1 序列 =5
存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100001772284781.ARC 线程 =1 序列 =1
存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\ARCH\00100002772284781.ARC 线程 =1 序列 =2
介质恢复完成, 用时: 00:00:08
完成 recover 于 11-1月 -12

alter database open;

SQL> select * from demo.a;

         I
----------
         7
         8
        10
        11
         1
         2
         3
         4
         5
         6

已选择10行。

原创粉丝点击