Oracle 差异、增量、零级备份
1.概念
差异增量备份自上级及同级备份以来所有更改过的块。
累积增量备份自上级备份以来所有更改过的块。
因为累积增量是备份上级备份以来所有更改过的数据块,所以累积增量备份需要更多的备份时间及较少的恢复时间;差异备份则相反,它可以备份同级备份以来更改过的数据块。所以会减少备份时间,但在恢复时需要更多的时间。
差异增量备份更快,会写出更少的块,产生更小的备份文件。备份过程更快,但在恢复时,RMAN必须过滤并应用每个增量备份。累积增量备份则相反。
在Oracle 9中增量备份需要扫描整个数据库的数据块才能知道哪些数据块发生了变化变化,这是一个代价很大,时将很长的过程,而且由于增量备份形成多个不同的备份集,使恢复变得更加不可靠,所以增量备份在版本9中不被推荐使用;在10g中,增量备份作了很大的改进,不需要扫描所有数据块就能得知哪些数据块发生变化,从而大大提升备份效率。但这些却以牺牲磁盘I/O为代价,所以在OLTP事务系统中还得衡量是否愿意以I/O为代价来保证安全及高可用性。10g还支持增量合并,增量备份可支持7级增量。
小插一段:关于Block change tracking
Block Change Tracking是Oracle 10g的一个新特性,Block Change Tracking进程记录自从上一次备份以来数据块的变化,并把这些信息记录在跟踪文件中。RMAN使用这个文件判断增量备份中需要备份的变更数据。这极大的促进了备份性能,RMAN可以不再扫毛整个文件以查找变更数据。
为此,Oracle引入了一个新的后台进程,CTWR(Change Tracking Writer),用于记录变化的块并将变化写入相应的日志文件中。
启用跟踪:
alter database enable block change tracking using file 'D:\oracle\product\10.2.0\flash_recovery_area\block_tracking.log'
--如果是采用OMF文件管理方式,则不需要添加using file子句。
查询当前设置:select filename,status,bytes from v$block_change_tracking;
关闭跟踪:alter database
disable block change tracking;
2.备份策略及恢复
以RMAN多级增量备份作为备份策略例子:
增量备份都需要一个0级备份来作为基础,0级备份与全备份的区别在于0级可以用来增量恢复,而全备份则不可以。
全备份脚本
run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup full tag 'dbfull' format '/u01/oradata/backup/full%u_%s_%p' database include current controlfile; sql 'alter system archive log current'; backup filesperset 3 format '/u01/oradata/backup/arch%u_%s_%p' archivelog all delete input; #备份归档可选,可以单独定期备份 release channel c1; release channel c2; release channel c3; }
零级备份脚本
run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup incremental level 0 tag 'db0' format '/u01/oradata/backup/db0%u_%s_%p' database skip readonly; sql 'alter system archive log current'; backup filesperset 3 format '/u01/oradata/backup/arch%u_%s_%p' archivelog all delete input; #备份归档可选,可以单独定期备份 release channel c1; release channel c2; release channel c3; }
一级备份脚本
run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup incremental level 1 tag 'db1' format '/u01/oradata/backup/db1%u_%s_%p' database skip readonly; sql 'alter system archive log current'; backup filesperset 3 format '/u01/oradata/backup/arch%u_%s_%p' archivelog all delete input; #备份归档可选,可以单独定期备份 release channel c1; release channel c2; release channel c3; }
原文地址:https://www.cnblogs.com/biebiejiujiu/p/14061396.html
- 计算机程序的思维逻辑 (13) - 类
- 新浪微博爬虫最新分享
- Unity Application Block 3月12 发布的版本
- HTTPS静态服务搭建过程详解
- 基于Webkit的浏览器关键渲染路径介绍
- CodePlex 全面支持Subversion/TortoiseSVN
- 计算机程序的思维逻辑 (11) - 初识函数
- Android WebView 调试方法
- Python开发微信公众号后台(系列一)
- Consul最常用的命令和接口api
- webpack的Hot Module Replacement运行机制
- 如何使用Node.js编写命令工具——以vue-cli为例
- SpringBoot编写自定义的starter
- webpack3新特性简介
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android中的动画全解!
- Python 爬取留言板留言(二):多线程版+selenium模拟
- 嵌套滑动通用解决方案--NestedScrollingParent2
- Python 爬取留言板留言(一):单进程版+selenium模拟
- Glide-图片加载框架全解(一)- 基本用法
- Python全栈(六)项目前导之1.Redis介绍及数据类型介绍
- 网络请求框架OkHttp3全解系列(一):OkHttp的基本使用
- 网络请求框架OkHttp3全解系列 - (二)OkHttp的工作流程分析
- 这次,我把Android事件分发机制翻了个遍
- 网络请求框架OkHttp3全解系列 - (三)拦截器详解1:重试重定向、桥、缓存(重点)
- Python全栈(七)Flask框架之4.Flask模板继承与案例练习
- 你想要的系列:网络请求框架OkHttp3全解系列 - (四)拦截器详解2:连接、请求服务(重点)
- 不会玩阴阳师的我带你一键下载《阴阳师:百闻牌》所有卡牌并调用百度OCR识别文字信息
- 微信小程序生命周期学习笔记-页面篇
- Python 字典 使用技巧