Oracle 12 Rman增量备份

时间:2022-12-20 17:09:36

1、增量备份

增量备份主要作用是仅复制自上次备份以来已更改的数据块。您可以使用RMAN创建数据文件,表空间或整个数据库的增量备份。

将增量备份作为策略的一部分的主要原因是:

  • 用于基于增量更新备份的策略,其中这些增量备份用于定期前滚数据库的映像副本;

  • 减少每日备份所需的时间;

  • 通过网络备份时节省网络带宽;

  • 能够恢复使用NOLOGGING选项创建的对象的更改。例如,直接插入不会创建重做日志并且无法使用介质恢复重现其更改的数据条目。但是,它们会更改数据块,因此会通过增量备份进行还原;

  • 能够将物理备用数据库与主数据库同步

    您可以使用RMAN BACKUP INCREMENTAL FROM SCN命令在主数据库上创建备份,该备份从备用数据库的当前SCN开始,备库可用该备份前滚备用数据库。

  • 减少非归档数据库的备份大小。您可以进行增量备份,而不是每次都进行完整的数据库备份。

    与完全备份一样,如果您处于ARCHIVELOG模式,则可以在数据库打开时进行增量备份; 如果数据库处于NOARCHIVELOG模式,则只能在一致关闭后进行增量备份。

  Note:完整备份(full backup)不能成为增量备份策略的一部分; 也就是说,它不能是后续增量备份的父级。

2、增量备份算法

数据文件中的每个数据块都包含一个系统更改号(SCN),它是最近对块进行更改的SCN。在增量备份期间,RMAN读取输入文件中每个数据块的SCN,并将其与父增量备份的检查点SCN进行比较。如果输入数据块中的SCN大于或等于父级的检查点SCN,则RMAN复制该块。

请注意,如果启用块更改跟踪功能,RMAN可以引用更改跟踪文件以识别数据文件中已更改的块,而无需扫描数据文件的完整内容。启用后提高增量备份的效率,但由于要时刻维护块跟踪,系统在平时会额外增加一点负担。

#开启块更改跟踪
SQL> alter database enable block change tracking; #查看块更改跟踪文件
SQL> select filename from v$block_change_tracking; #关闭块更改跟踪
SQL> alter database disable block change tracking;

3、多级增量备份

RMAN可以创建多级增量备份。每个增量级别由值0或1表示。

0级增量备份(level 0 incremental backup):相当于全备,可以作为其他增量的父级。

使用方法:

RMAN>backup incremental level  database format '/RmanBackup/0-%d.%s.%p.%T';

1级增量备份(level 1 incremental backup)可分两种:

  • 差异增量备份(A differential incremental backup ):备份上一次备份(0或1级备份)后发生变化的数据;

  默认1级备份是差异增量备份,级别0的增量备份可以是备份集或映像副本,但级别1的增量备份只能是备份集。

Oracle 12 Rman增量备份

                      图1-差异增量备份

说明:

  星期天:0级备份将备份此数据库中曾使用过的所有块

  周一至周六:在星期一到星期六的每一天,1级差异增量备份将备份自级别1或0的最新增量备份以来已更改的所有块。星期一备份复制自星期日0级备份以来更改的块,星期二备份复制块自星期一1级备份以来发生了变化,等等

使用方法:

RMAN>backup incremental level  database format '/RmanBackup/1-%d.%s.%p.%T';
  • 累计增量备份(A cumulative incremental backup):用于备份上一次0级备份以后所有发生变化的数据;

Oracle 12 Rman增量备份

                      图2-累计增量备份

说明:

  星期天:0级备份将备份此数据库中曾使用过的所有块

  周一至周六:累积增量级别1备份会复制自最近的0级备份以来更改的所有块。由于最新的0级备份是在星期日创建的,因此星期一到星期六每天的1级备份会备份自星期日备份以来更改的所有块。

使用方法:

RMAN>backup incremental level  cumulative database format '/RmanBackup/1c-%d.%s.%p.%T';

  Note:当恢复时间比磁盘空间更重要时,累积备份优于差异备份,因为备份的数量越少恢复时间越快

4、使用增量备份恢复数据

  • 在介质恢复期间,RMAN会检查还原的文件,以确定是否可以使用增量备份来恢复它们。如果可以选择,那么RMAN总是选择增量备份而不是归档重做日志,因为在块级别恢复比日志重做要快。

例如,可以通过0级备份还原(restore)数据文件,然后通过1级增量备份恢复(recover)它们。

  • 使用增量备份策略,只需要创建一个初始级别0的完整备份和随后的1级增量备份。初始备份和后续增量必须是RMAN备份集,而不是数据副本(copy)。

Note:使用增量备份完整恢复数据库,需要至少一个0级备份、少量增量备份和一些归档重做日志。

5、查询rman备份进度的sql

备份过程百分比(rman执行进度查看sql):
SELECT SID,
SERIAL#,
CONTEXT,
SOFAR,
TOTALWORK,
ROUND(SOFAR / TOTALWORK * , ) "%_COMPLETE"
FROM gV$SESSION_LONGOPS
WHERE OPNAME LIKE 'RMAN%' AND OPNAME NOT LIKE '%aggregate%' AND
TOTALWORK != AND SOFAR <> TOTALWORK;

本文参照官方文档:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/bradv/rman-backup-concepts.html#GUID-D3BD53B8-91F3-474C-BD10-00AE9B30E610

Oracle 12 Rman增量备份的更多相关文章

  1. oracle11gRAC环境使用RMAN增量备份方案

    转摘:http://blog.itpub.net/29819001/viewspace-1320977/ [oracle@zx ~]$ rman target /Recovery Manager: R ...

  2. RMAN增量备份-备份保留策略-设置备份集属性

    RMAN增量备份:增量备份级别:0,1,2,3,4BACKUP DATABASE也是创建数据库的完整备份,但是这种备份不同于增量备份的0级备份.这种备份不包含增量备份的0级备份,并不支持在此基础上再创 ...

  3. 如何使用块更改跟踪文件估算RMAN增量备份大小 &lpar;Doc ID 1938079&period;1&rpar;

    How to estimate RMAN incremental backup size using block change tracking file (Doc ID 1938079.1) APP ...

  4. 【转】在rman增量备份中,有差异增量和累积增量的概念

    本文转自hougoo的博客 1.概念 差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式 累积增量:是备份上级备份以来所有变化的块 因为累积增量是备份上级备份以来所有变化的 ...

  5. Oracle Rman 增量备份与差异备份

    一.增量与差异 关于Incremental增量备份级别: Oracle 9i 共有五种级别 0 1 2 3 4,0级最高-4级最低,0级是1级的基础以此类推. Oracle 10g官方文档明确指出增量 ...

  6. 怎样使用 RMAN 增量备份恢复 data guard log gap(日志断档)

    主库查询最小scn 信息: SQL> col current_scn for 999999999999999 SQL>  SELECT CURRENT_SCN FROM V$DATABAS ...

  7. 使用RMAN增量备份处理Dataguard因归档丢失造成的gap

    场景: 备库执行日志应用出现如下报错: Thu Mar 29 11:21:45 2018FAL[client]: Failed to request gap sequence GAP - thread ...

  8. ORACLE异机增量备份恢复

    PROD异机增量备份恢复验证实施文档 准备工作:source 源库:PROD数据库备份策略:周日0级RMAN备份,周一至周六1级差异增量备份0 4 * * 0 /data/rmanlev0.sh &g ...

  9. &lbrack;转&rsqb; Oracle数据库备份与恢复 - 增量备份

    转:http://blog.csdn.net/pan_tian/article/details/46780929   RMAN一个强大的功能是支持增量备份,增量备份中心思想就是减少备份的数据量,我们不 ...

随机推荐

  1. 转 strace

    转自http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316692.html strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Li ...

  2. 前端tip

    background简写 参考地址 http://css.doyoe.com/ 缩写:background:url(test1.jpg) no-repeat scroll 10px 20px/50px ...

  3. ServletConfig对象和它在开发中的应用场

    package cn.itcast; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumerat ...

  4. easyUI中treegrid组件构造树形表格(简单数据类型)&plus;ssm后台

    这几天做的项目要求用树形表格的形式展示一部分数据,于是就想到了使用easyUI的treegrid组件,但几经翻查各种资料,发现数据类型大多采取标准数据类型,即包含children元素的数据类型,小编查 ...

  5. CQRS(命令查询职责分离)和 EDA(事件驱动架构)

    转载CQRS(命令查询职责分离)和 EDA(事件驱动架构) 上一篇:<IDDD 实现领域驱动设计-SOA.REST 和六边形架构> 阅读目录: CQRS-命令查询职责分离 EDA-事件驱动 ...

  6. Python IDLE 代码高亮主题

    Python IDLE 代码高亮主题 使用方法: 打开C盘我的 C:\Documents and Settings\你的用户名.idlerc文件夹 里面会有一个 config-highlight.cf ...

  7. java----自动类型转换

  8. day 7-22 进程&comma;线程&comma;协程

    一.什么是进程 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动.它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体.它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理 ...

  9. eclipse打开失败

    以前eclipse运行好好的,某一次运行启动不了,一直图标那里转圈,不能启动, 运行eclipsec.exe后,查看发现出现以下错误 SLF4J: Class path contains multip ...

  10. 20165303学习基础和C语言基础调查

    20165303学习基础和C语言基础调查 技能学习心得 我认为我的乒乓球打的还不错,不能说非常好,但是基本的一些技巧都还是会的,小时候爸爸就非常爱看乒乓球比赛,有时候也带着我一起看,最开始看的时候我发 ...