Oracle—RMAN备份(三)
一.增量备份的相关概念
1. 在前面说明了RMAN的完整备份,完整备份是备份所用使用过的块,不备份没有使用的过的块;增量备份只备份自上次备份以来更改过的块。
2.即使RMAN的默认操作是在增量备份时扫描整个数据文件来确定哪些块已经更改,也仍然节省时间,因为在所有情况下,瓶颈都在于对磁盘的写操作 ,而不是文件的读取。如果再启用块变更跟踪,这样就不用扫描整个文件了,备份时间也大大减少了。
3.用户管理的备份是不能实现增量备份的,RMAN可以实现。
4.增量备份分为积累增量备份和差异增量备份,积累增量备份是自上次完整备份以来所有更改过的块;差异增量备份是自上次增量备份以来更改的所用块。
二.增量备份的级别
1.增量备份依赖于包含所有块的起点:这个称为增量级别0备份。然后,差异增量级别1备份将提取自上一个级别1备份以来所有更改过的块,如果没有介于其间的级别1备份,则提取自上一个级别0备份以来更改的所用块。积累增量备份将提取自上一个级别0备份以来更改过的所有块,不考虑期间是否存在任何级别1备份。
2增量级别0备份和完整备份的效果是一样的,只是增量级别0备份可以作为增量备份起点而完整备份不可以。
3.在较早的RMAN版本中增量的级别可以指定0到4个级别,
Different incremental backups contain only modified blocks from level n(1~4) or lower.
Cumulative incremental backups contain only modified blocks from level n(0~3) or lower.
即差异增量备份是备份两个相同级别之间(指两个间隔的时间)所有变更的块或者没有和现在级别相同的备份则找到较低的级别,备份两者之间的变更块;积累增量备份是备份现在这个级别到比现在低一个级别所有变更的块或者找到比现在更低的级别之间更改块的备份。
三.增量备份的实现
1.对文件/u01/oradata/wilson/paul01.dbf进行增量备份,它的文件号是6,命令如下,
RMAN> run{
2> allocate channel d1 type disk;
3> backup incremental level 0 datafile 6 format='/u01/backup/l0_%U';
4> }
这是增量0级备份,作用效果和完整备份一样,备份所用使用过的块,但它可以作为增量备份的基础,而完整备份不可以。
2.对文件进行增量1级别备份,命令如下
RMAN> run{
2> allocate channel d1 device type disk;
3> backup incremental level 1 datafile 6 format='/u01/backup/l1_%U';}
它备份自上一个级别1备份(对于第一运行,是级别0)以来更改的所有块。
3.对文件进行积累增量备份
RMAN> run{
2> allocate channel d1 type disk;
3> backup incremental level 1 cumulative datafile 6 format='/u01/backup/l1c_%U';
4> }
它备份自级别0备份以来更改的所有块。
4.如果没有运行级别0备份,那么第一次级别1差异备份或者积累备份将实际执行级别0备份。
5.如果备份时间较长可以用视图v$session_longops来查看时间,记录中超过6s以上的操作,
SQL> select sid,sofar,totalwork from v$session_longops;
SID SOFAR TOTALWORK
---------- ---------- ----------
40 1 1
40 2 2
其中sofar是到目前为止所运行的时间,totalwork是总共需要运行的时间。
四.变更块跟踪
1. RMAN的默认操作是在增量备份时扫描整个数据文件来确定哪些块已经更改,这样做的优点是允许RMAN检查块的损坏,但这样花费的时间较长,所以开启变更块更踪,RMAN在执行增量备份时读取变更跟踪文件就可以确定需要备份的块,这样大大减少了时间。
2.变更跟踪文件的默认位置是DB_CREATE_FILE_DEST目录(如果作了定义),也可以指定跟踪文件的名称和位置。
3.启用块变更跟踪,指定文件名和位置,命令如下,
SQL> alter database enable block change tracking using file '/u01/change_tracing.dbf';
Database altered.
关闭块变更跟踪,关闭后变更跟踪文件自动删除,命令如下,
SQL> alter database disable block change tracking ;
Database altered.
五.标签
给备份级一个逻辑的名字,方便管理。给备份级加上标签,
RMAN> run{
2> allocate channel d1 device type disk;
3> backup incremental level 1 datafile 11 tag='sun';}
直接查找
RMAN> list backup tag='sun';
六.相关视图
1.视图v$session
SQL> select sid,username,client_info from v$session;
SID USERNAME CLIENT_INFO
---------- ------------------------------ -----------------------------------
36
37 SYS
38 SYS rman channel=ORA_DISK_1
40 SYS
可以看到启动的服务器进程,rman一旦连接上,就会默认启动2个服务器进程,polling和defalut进程,备份时会需要第三个会话:通道。
2.set command to 命令,命令如下
RMAN> run{
2> allocate channel d1 type disk;
3> set command id to 'sunshine';
4> backup datafile 6 format='/u01/backup/p_%U';}
指定set command id to ‘sunshine’;
可以在v$session会话中查到相关的进程,
SQL> select sid,username,client_info from v$session;
SID USERNAME CLIENT_INFO
---------- ------------------------------ -----------------------------------
29 SYS
38 SYS
39 SYS id=sunshine
3.视图v$process
在v$session可以查到哪个SID在哪个通道上工作,在通过和v$process关联查到SPID等进程信息,可以监控进程,命令如下,
SQL> select sid,spid,client_info from v$process p ,v$session s
2 where p.addr=s.paddr
3 and client_info like '%id=sun%';
SID SPID CLIENT_INFO
---------- ------------------------ -----------------------------------
39 5081 id=sunshine
最后,当RMAN异常中断时,不会记录在控制文件上或者数据库中,但是磁盘上会有文件,要去删除它。
相关文章:Oracle—RMAN备份(一) Oracle—RMAN备份(二)
Oracle—RMAN备份(三)的更多相关文章
- Oracle—RMAN备份(一)
一.RMAN备份相关概念 1.RMAN备份中表空间不需要处于backup模式下,它备份数据文件,归档日志文件,控制文件,spfile和备份集片,但不备份联机重做日志文件,临时文件和口令文件. 2.备份 ...
- Oracle—RMAN备份(二)
在Oracle RMAN备份(一)中,对各种文件在RMAN中备份进行了说明, 一.备份集的复制 在RMAN 备份中,可以备份其自己的备份,即备份一个文件放在多个目录下,oralce支持最多备份四个. ...
- ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库,表空间,数据文件
ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库.表空间.数据文件 仅仅有使用过的block能够被备份成backup set 表空间与数据文件相应关系:dba_data_file ...
- Oracle RMAN 备份一例
Oracle RMAN备份一例: Solaris 10 + Oracle 11.2.0.3 Shell:csh,安装有bash,脚本调用bash 备份策略:周日0级备份,周一~周六1级备份,每6小时备 ...
- ORACLE RMAN备份--差异增量与累积增量的策略实例图
转自原文 ORACLE RMAN备份--差异增量与累积增量的策略实例图
- Oracle RMAN备份策略
建立增量备份:如果数据库运行于不归档模式下,只能在数据库干净关闭的情况下 ( 以 normal .immediate . transactional 方式关闭 ) 才能进行一致性的增量备份,如果数据库 ...
- ORACLE RMAN备份及还原(转)
RMAN可以进行增量备份:数据库,表空间,数据文件 只有使用过的block可以被备份成backup set 表空间与数据文件对应关系:dba_data_files / v$datafile_heade ...
- Oracle RMAN备份恢复指导书
目 录 1 目的与范围... 1 2 术语和定义... 1 3 角色和职责... 2 4 使用RMAN备份数据库... 2 4.1.1 检查数据库模式... 2 4.1.2 连接到target数据库. ...
- Oracle RMAN备份与还原注意事项
1 备份文件管理 如果要删除之前的备份,不要手动去目录下删除,应该在rman命令模式下使用删除命令,否则虽然在磁盘上把物理备份文件删除了,但是使用备份查看命令会一直看到已经删除的备份文件 list b ...
随机推荐
- 为什么HikariCP被号称为性能最好的Java数据库连接池,怎样配置使用
HiKariCP是数据库连接池的一个后起之秀.号称性能最好.能够完美地PK掉其它连接池. 原文地址:http://blog.csdn.net/clementad/article/details/469 ...
- ---添加一条记录返回一条记录的ID
INSERT INTO Web_AD(PID,ADType,ADTitle,ADTitle1,ADTitle2,ADTarget,LinkURL,DispalyWords,ADCode,UploadI ...
- java 修改文件名
// 修改文件名 public static boolean modifyFileName(String serverPath, String oldFileName, String newLogin ...
- poj1611 简单并查集
The Suspects Time Limit: 1000MS Memory Limit: 20000K Total Submissions: 32781 Accepted: 15902 De ...
- 8 个实用的 Linux netcat 命令示例
Netcat 或者叫 nc 是 Linux 下的一个用于调试和检查网络工具包.可用于创建 TCP/IP 连接,最大的用途就是用来处理 TCP/UDP 套接字. 这里我们将通过一些实例来学习 netca ...
- hook技术分类
1.HOOK SERVICE TABLE:HOOK SSDT 这种方法对于拦截 NATIVE API 来说用的比较多. SSDT hook,一句话——Windows把需要调用的内核API地址全都存在了 ...
- 【分享】JS图片滑动渐显渐隐插件-附使用方法。
前阵子总监要说做一个邀请函 效果 点击这里 鼠标拖拽进行浏览 它用的是Adobe edge软件生成的,代码量过大,冗余太多. 再加上我也没学过这个软件怎么使用,增加学习成本影响项目进度. 于是就自己写 ...
- python学习第八天 -- 迭代
什么是迭代? 在python语言中,迭代的意思就是通过for循环遍历一个有序/无序的集合. 迭代是通过 for x in 集合 来完成的. 前面有提到python中有哪些集合,现在我们来梳理一下: ( ...
- ASP.NET MVC 4.0的Action Filter
有时候你想在调用action方法之前或者action方法之后处理一些逻辑,为了支持这个,ASP.NET MVC允许你自定义创建action过滤器.Action过滤器是自定义的Attributes,用来 ...
- Hdu1097(计算a的b次幂最后一位数值)
#include <stdio.h> #include <math.h> int main() { int Num1,Num2; while(scanf("%d %d ...