数据库版本

SQL> select * from v$version;

BANNER

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

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production

PL/SQL Release 11.2.0.3.0 - Production

CORE    11.2.0.3.0      Production

TNS for Linux: Version 11.2.0.3.0 - Production

NLSRTL Version 11.2.0.3.0 - Production

全备数据库

RMAN> backup as compressed backupset database  format '/u01/oracle/oradata/tmp/ora11g_0_%U';

Starting backup at 18-APR-12

using channel ORA_DISK_1

channel ORA_DISK_1: starting compressed full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00001 name=/u01/oracle/oradata/ora11g/system01.dbf

input datafile file number=00002 name=/u01/oracle/oradata/ora11g/sysaux01.dbf

input datafile file number=00003 name=/u01/oracle/oradata/ora11g/undotbs01.dbf

input datafile file number=00004 name=/u01/oracle/oradata/ora11g/users01.dbf

input datafile file number=00006 name=/u01/oracle/oradata/ora11g/xifenfei02.dbf

channel ORA_DISK_1: starting piece 1 at 18-APR-12

channel ORA_DISK_1: finished piece 1 at 18-APR-12

piece handle=/u01/oracle/oradata/tmp/ora11g_0_07n8p916_1_1 tag=TAG20120418T234958 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:01:15

channel ORA_DISK_1: starting compressed full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

including current control file in backup set

including current SPFILE in backup set

channel ORA_DISK_1: starting piece 1 at 18-APR-12

channel ORA_DISK_1: finished piece 1 at 18-APR-12

piece handle=/u01/oracle/oradata/tmp/ora11g_0_08n8p93h_1_1 tag=TAG20120418T234958 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 18-APR-12

创建测试数据库验证恢复标准

SQL> conn chf/xifenfei

Connected.

SQL> drop table xifenfei purge;

Table dropped.

SQL> create table xifenfei as

2  select * from dba_objects;

Table created.

SQL> insert into xifenfei

2  select * from dba_objects;

74534 rows created.

SQL> /

74534 rows created.

SQL> /

74534 rows created.

SQL> commit;

Commit complete.

SQL> select count(*) from xifenfei;

COUNT(*)

----------

298136

SQL> create table xifenfei01 as

2  select * from dba_objects;

Table created.

SQL> alter system switch logfile;

System altered.

SQL> /

System altered.

SQL> /

System altered.

SQL> /

System altered.

SQL> create table chf.xifenfei02 as

2  select * from dba_objects;

Table created.

SQL> alter system switch logfile;

System altered.

异机恢复库

RMAN> restore controlfile from '/u01/oracle/oradata/tmp/ora11g_0_08n8p93h_1_1';

Starting restore at 19-APR-12

using channel ORA_DISK_1

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:01

output file name=/u01/oracle/oradata/ora11g/control01.ctl

output file name=/u01/oracle/oradata/ora11g/control02.ctl

Finished restore at 19-APR-12

RMAN> alter database mount;

database mounted

released channel: ORA_DISK_1

RMAN> list backup;

List of Backup Sets

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

BS Key  Type LV Size       Device Type Elapsed Time Completion Time

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

7       Full    262.79M    DISK        00:01:08     18-APR-12

BP Key: 7   Status: AVAILABLE  Compressed: YES  Tag: TAG20120418T234958

Piece Name: /u01/oracle/oradata/tmp/ora11g_0_07n8p916_1_1

List of Datafiles in backup set 7

File LV Type Ckp SCN    Ckp Time  Name

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

1       Full 1155510    18-APR-12 /u01/oracle/oradata/ora11g/system01.dbf

2       Full 1155510    18-APR-12 /u01/oracle/oradata/ora11g/sysaux01.dbf

3       Full 1155510    18-APR-12 /u01/oracle/oradata/ora11g/undotbs01.dbf

4       Full 1155510    18-APR-12 /u01/oracle/oradata/ora11g/users01.dbf

6       Full 1155510    18-APR-12 /u01/oracle/oradata/ora11g/xifenfei02.dbf

--这里可以发现备份时的scn,增量备份时取这里的最小scn为起点

--为了排除影响,删除所有归档日志记录

RMAN> delete archivelog all;

RMAN> list archivelog all;

specification does not match any archived log in the repository

RMAN> restore database;

Starting restore at 19-APR-12

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile backup set restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

channel ORA_DISK_1: restoring datafile 00001 to /u01/oracle/oradata/ora11g/system01.dbf

channel ORA_DISK_1: restoring datafile 00002 to /u01/oracle/oradata/ora11g/sysaux01.dbf

channel ORA_DISK_1: restoring datafile 00003 to /u01/oracle/oradata/ora11g/undotbs01.dbf

channel ORA_DISK_1: restoring datafile 00004 to /u01/oracle/oradata/ora11g/users01.dbf

channel ORA_DISK_1: restoring datafile 00006 to /u01/oracle/oradata/ora11g/xifenfei02.dbf

channel ORA_DISK_1: reading from backup piece /u01/oracle/oradata/tmp/ora11g_0_07n8p916_1_1

channel ORA_DISK_1: piece handle=/u01/oracle/oradata/tmp/ora11g_0_07n8p916_1_1 tag=TAG20120418T234958

channel ORA_DISK_1: restored backup piece 1

channel ORA_DISK_1: restore complete, elapsed time: 00:01:36

Finished restore at 19-APR-12

[oracle@xifenfei oradata]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 19 00:54:42 2012

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

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select file#,to_char(checkpoint_change#,'9999999999999999') "SCN",

2  to_char(RESETLOGS_CHANGE#,'9999999999999999') "RESETLOGS SCN"

3  from v$datafile_header;

FILE# SCN                                RESETLOGS SCN

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

1           1155510                             787897

2           1155510                             787897

3           1155510                             787897

4           1155510                             787897

6           1155510                             787897

SQL> select file#,to_char(checkpoint_change#,'999999999999999') "SCN",

2  to_char(last_change#,'999999999999999')"STOP_SCN" from v$datafile;

FILE# SCN                              STOP_SCN

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

1          1155510

2          1155510

3          1155510

4          1155510

6          1155510

基于scn增量备份

RMAN> BACKUP INCREMENTAL FROM SCN 1155510 DATABASE

2> FORMAT '/u01/oracle/oradata/tmp/ora11_scn_%U' tag 'XIFENFEI';

Starting backup at 19-APR-12

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=125 device type=DISK

backup will be obsolete on date 26-APR-12

archived logs will not be kept or backed up

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00001 name=/u01/oracle/oradata/ora11g/system01.dbf

input datafile file number=00002 name=/u01/oracle/oradata/ora11g/sysaux01.dbf

input datafile file number=00003 name=/u01/oracle/oradata/ora11g/undotbs01.dbf

input datafile file number=00004 name=/u01/oracle/oradata/ora11g/users01.dbf

input datafile file number=00006 name=/u01/oracle/oradata/ora11g/xifenfei02.dbf

channel ORA_DISK_1: starting piece 1 at 19-APR-12

channel ORA_DISK_1: finished piece 1 at 19-APR-12

piece handle=/u01/oracle/oradata/tmp/ora11_scn_0bn8pbsd_1_1 tag=XIFENFEI comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45

using channel ORA_DISK_1

backup will be obsolete on date 26-APR-12

archived logs will not be kept or backed up

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 19-APR-12

channel ORA_DISK_1: finished piece 1 at 19-APR-12

piece handle=/u01/oracle/oradata/tmp/ora11_scn_0cn8pbtq_1_1 tag=XIFENFEI comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 19-APR-12

增量恢复

RMAN> catalog start with '/u01/oracle/oradata/tmp/ora11_scn_09n8pa5h_1_1';

searching for all files that match the pattern /u01/oracle/oradata/tmp/ora11_scn_09n8pa5h_1_1

List of Files Unknown to the Database

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

File Name: /u01/oracle/oradata/tmp/ora11_scn_09n8pa5h_1_1

Do you really want to catalog the above files (enter YES or NO)? yes

cataloging files...

cataloging done

List of Cataloged Files

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

File Name: /u01/oracle/oradata/tmp/ora11_scn_09n8pa5h_1_1

RMAN> recover database;

Starting recover at 19-APR-12

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=125 device type=DISK

channel ORA_DISK_1: starting incremental datafile backup set restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

destination for restore of datafile 00001: /u01/oracle/oradata/ora11g/system01.dbf

destination for restore of datafile 00002: /u01/oracle/oradata/ora11g/sysaux01.dbf

destination for restore of datafile 00003: /u01/oracle/oradata/ora11g/undotbs01.dbf

destination for restore of datafile 00004: /u01/oracle/oradata/ora11g/users01.dbf

destination for restore of datafile 00006: /u01/oracle/oradata/ora11g/xifenfei02.dbf

channel ORA_DISK_1: reading from backup piece /u01/oracle/oradata/tmp/ora11_scn_0bn8pbsd_1_1

channel ORA_DISK_1: piece handle=/u01/oracle/oradata/tmp/ora11_scn_0bn8pbsd_1_1.bak tag=XIFENFEI

channel ORA_DISK_1: restored backup piece 1

channel ORA_DISK_1: restore complete, elapsed time: 00:00:07

starting media recovery

--这里表现出来的是利用归档日志恢复,实质是基于scn增量备份的备份集恢复

archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_49_777766629.dbf thread=1 sequence=49

archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_50_777766629.dbf thread=1 sequence=50

archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_51_777766629.dbf thread=1 sequence=51

archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_52_777766629.dbf thread=1 sequence=52

archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_53_777766629.dbf thread=1 sequence=53

archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_54_777766629.dbf thread=1 sequence=54

archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_55_777766629.dbf thread=1 sequence=55

archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_56_777766629.dbf thread=1 sequence=56

archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_57_777766629.dbf thread=1 sequence=57

unable to find archived log

archived log thread=1 sequence=58

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

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

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

RMAN-03002: failure of recover command at 04/19/2012 00:55:48

RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 58 and starting SCN of 1157379

SQL> select file#,to_char(checkpoint_change#,'9999999999999999') "SCN",

2  to_char(RESETLOGS_CHANGE#,'9999999999999999') "RESETLOGS SCN"

3  from v$datafile_header;

FILE# SCN                                RESETLOGS SCN

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

1           1157379                             787897

2           1157379                             787897

3           1157379                             787897

4           1157379                             787897

6           1157379                             787897

SQL> select file#,to_char(checkpoint_change#,'999999999999999') "SCN",

2  to_char(last_change#,'999999999999999')"STOP_SCN" from v$datafile;

FILE# SCN                              STOP_SCN

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

1          1157379

2          1157379

3          1157379

4          1157379

6          1157379

SQL> alter database open resetlogs;

Database altered.

SQL> select count(*) from chf.xifenfei;

COUNT(*)

----------

298136

SQL> select TABLE_NAME from dba_tables where table_name LIKE 'XIFENFEI%';

TABLE_NAME

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

XIFENFEI02

XIFENFEI01

XIFENFEI

使用rman基于scn实现数据库增量恢复是在dg中修复gap的时候常见的方法,其实该方法也可以使用常规的增量恢复,通过人工控制,实现数据库的某种特殊的业务需求(特殊的数据迁移).处理思路主要是获得备库的数据文件最小scn(这个scn可能是通过全备恢复或者增量恢复产生),然后基于该SCN实现数据库增量备份,然后利用该备份进行增量恢复.

oracle的scn增量备份,Oracle技术之利用scn增量备份实现数据库增量恢复相关推荐

  1. 数据库系统丨数据库常用恢复技术

    文章目录 0. 概述 1. 数据转储 [1] 数据转储的概念 [2] 静态转储和动态转储. [3]海量转储和增量转储 [4] 数据转储方法 2. 登记日志文件 [1] 以记录为单位的日志文件 [2] ...

  2. 『数据库』你以为删库跑路就能让你老板内(lei)牛(liu)满面--数据库的恢复技术

    数据库从入门到精通:戳我 文章目录 一. 事务的基本概念 1.事务 1.1what's the 事务: 1.2事务的定义 1.2.1 事务的显示定义 1.2.2 事务的隐式定义方式 2.事务的ACID ...

  3. oracle修改数据前备份,Oracle 之利用BBED修改数据块SCN—-没有备份数据文件的数据恢复...

    测试环境 OS:redhat6.6 oracle:12.1.0.2 BBED(OracleBlockBrowerandEDitor Tool),用来直接查看和修改数据文件数据的一个工具,是Oracle ...

  4. oracle每天一次差异备份,Oracle的差异增量备份和累积增量备份(zt)

    在rman增量备份中,有差异增量和累积增量的概念 1.概念 差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式 累积增量:是备份上级备份以来所有变化的块 因为累积增量是备份 ...

  5. oracle 数据全备份,oracle数据库全备份和增量备份

    1. 检查数据库模式: sqlplus /nolog conn /as sysdba archive log list (查看数据库是否处于归档模式中) 若为非归档,则修改数据库归档模式. start ...

  6. oracle 每天 增量备份,Oracle的差异增量备份和累积增量备份

    在rman增量备份中,有差异增量和累积增量的概念 1.概念 差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式 累积增量:是备份上级备份以来所有变化的块 因为累积增量是备份 ...

  7. oracle增量备份新建数据库,Linux ORCLE数据库增量备份脚本

    Linux ORCLE数据库增量备份脚本 更新时间:2009年11月20日 17:57:19   作者: Linux下ORCLE数据库增量备份脚本 (基础篇) ,需要的朋友可以参考下. ORCLE数据 ...

  8. oracle 磁带备份,磁带备份 - Linux下实现自动备份Oracle数据库_数据库技术_Linux公社-Linux系统门户网站...

    二.磁带备份 tar-backup文件将用export命令导出的数据文件拷贝到磁带上. tar-backup文件内容: tar rvf /dev/rmt/0n/backup/ 本命令可将/backup ...

  9. oracle日志分析产品,鼎甲技术应用:Oracle日志分析 之事务级精准恢复

    一.挖出需要解决的问题 专业数据灾备软件中,对Oracle数据库的恢复,都需要以时间为基准来选择数据恢复点,用户希望数据能恢复到自己指定的时间上,更高级的用户则要求恢复到指定SCN.所以,目前在对Or ...

最新文章

  1. linux 模拟生成 CAN 设备
  2. ctfmn.exe——藏在字体目录FONTS下的***
  3. Docker镜像管理
  4. 基于事件驱动架构构建微服务第5部分:容器化(Web Api Core 和 SQL Server Linux)
  5. Redis学习手册(事务)
  6. 大学英语期末考计算机上答卷,英语期末考试质量分析
  7. 视觉SLAM笔记(18) Sophus
  8. 服务端Latex解析成图片或者HTML或者SVG方案
  9. SpringBoot(四):mybatis之通用mapper、分页插件PageHelper
  10. React.js小书
  11. AlphaGo增强式学习算法:实现‘高手指点’特效
  12. java供应链项目详解_基于jsp的企业供应链管理系统-JavaEE实现企业供应链管理系统 - java项目源码...
  13. ShuffleNet v2
  14. Windows批处理学习(一)——MS-DOS命令
  15. 黑马程序员前端JavaScript高级——ES6学习笔记
  16. 【jiasuba】让Win7系统下的硬盘不在狂闪的诀窍
  17. 人口流向数据_2017中国流动人口发展报告(数据摘要)
  18. 【教程】PhotoShop一些快捷键
  19. 软件设计师备考笔记(炸薯条的视频)
  20. ApplePay对接java后台详细代码

热门文章

  1. SpringMVC学习日记 1.Spring框架
  2. 《openssl 编程》之错误处理
  3. 【Boost】boost库asio详解4——deadline_timer使用说明
  4. 1.1 Windows 程序运行原理(消息循环和响应)
  5. 网络编程释疑之:TCP半开连接的处理
  6. Gh0st源码学习(一)前期准备工作
  7. 千万不要在深夜提交代码
  8. Robolectric测试框架使用文档
  9. 【专题介绍】开源与创新
  10. 对话OTTVerse创始人Krishna Rao Vijayanagar:创业之初,挑战与机遇并存