043-2 RMAN的增量备份

RMAN增量备份2种:
lv0 全备份,与backup Database 效果相同,但属于增量备份
1.lv1    增量备份,只备份差异的未备份的
2.lv1c   增量备份,备份最后一次lv0之后的全部数据(可能包括之前lv1备份的内容)
--***************
演示增量备份(043文档,Differential Versus Cumulative)
模拟一周的备份情况
--***************
Truncate Table  System.t;
Select * From v$log;   --group# 2
C:\>RMAN
RMAN> Connect target Sys/oracle@testdb catalog rman/rman@catalogDB
RMAN> Delete Backup;   --清除之前的备份
Insert Into System.T Values(0,'A',Sysdate);   
Commit;
RMAN> Backup incremental Level=0 Database;     --周日进行一次lv0备份

Insert Into System.T Values(1,'B',Sysdate);   
Commit;
Alter System Archive Log Current;              --手动归档与Alter System Switch Logfile;效果相同,但只能用在归档模式
RMAN> Backup incremental Level=1 Database;     --周一进行一次lv1即差异增量备份

Insert Into System.T Values(2,'C',Sysdate);   
Commit;
Alter System Archive Log Current;              --手动归档与Alter System Switch Logfile;效果相同,但只能用在归档模式
RMAN> Backup incremental Level=1 Database;     --周二进行一次lv1备份

Insert Into System.T Values(3,'D',Sysdate);   
Commit;
Alter System Archive Log Current;              --手动归档与Alter System Switch Logfile;效果相同,但只能用在归档模式
RMAN> Backup incremental Level=1 cumulative Database;     --周三进行一次lv1c 即1级累计增量备份

Insert Into System.T Values(4,'E',Sysdate);   
Commit;
Alter System Archive Log Current;              --手动归档与Alter System Switch Logfile;效果相同,但只能用在归档模式
RMAN> Backup incremental Level=1 Database;     --周四进行一次lv1备份

Insert Into System.T Values(5,'F',Sysdate);   
Commit;
Alter System Archive Log Current;              --手动归档与Alter System Switch Logfile;效果相同,但只能用在归档模式
RMAN> Backup incremental Level=1 cumulative Database;     --周五进行一次lv1c 即1级累计增量备份

Insert Into System.T Values(6,'G',Sysdate);   
Commit;
Alter System Archive Log Current;              --手动归档与Alter System Switch Logfile;效果相同,但只能用在归档模式
RMAN> Backup incremental Level=1 Database;     --周六进行一次lv1备份

RMAN> List Backup Of Database summary;         --查看备份信息的简要信息

RMAN> Restore priveiw Database;                --查看恢复需要哪些备份 lv0  还要5,6这两天的备份

--*****模拟损坏进行恢复
RMAN> Shutdown Immediate
RMAN> startup Mount
RMAN> Restore Database;                        --开始恢复,恢复最后一次备份的lv0
RMAN> Recover Database;                        --在RMAN中Recover database找的是增量备份的文件,sql中会找归档日志

--**********************
RMAN备份的优缺点
--**********************
其他备份的缺点
1.Shutdown|Offline
2.os copy
3.Log(部分联机备份)

rman备份客服了以上缺点
4.使用过的数据块,永远都会被备份     --10.2.0.3补丁已经解决
Select * From t;
Select * From dba_tables Where owner='SYS' And TABLE_NAME='T'
Select BYTES/1024/1024,TABLESPACE_NAME,segment_name From DBA_SEGMENTS Where SEGMENT_NAME='T' And OWNER='SYS'     --SYS用户下的表T,在USERS表空间占用80M的容量
RMAN> Backup Tablespace users;         --查看容量1
Drop Table t Purge;
RMAN> Backup Tablespace users;         --查看容量2 和容量1相等
优点:
1.当数据块损坏时,可以针对单个数据块的恢复
Alter Database Datafile 4 Resize 10m;  --将表空间缩小到10M,如果表空间内容很少,但是仍然缩小不了,则可以使用move table和index rebuild来整理空间
Select BYTES/1024/1024,TABLESPACE_NAME,segment_name,OWNER From DBA_SEGMENTS Where Tablespace_NAME='USERS';
Alter Table  SYS.T Move;
Alter Index System.IDX_T1 Rebuild;

Create Table T Tablespace USERS As Select * From DBA_OBJECTS;
Insert Into T Select * From T;  --重复插入多次,让数据涨到8W以上
Shutdown Immediate              --关闭后模拟USERS表空间损坏
用UE打开USERS表空间的文件,前8行不能编辑,不然数据头文件损坏,在后面编辑一些数据后保存,更改3个地方
startup
Select * From t;                --报错,ORA-01578:ORACLE DATA BLOCK CORRUPTED (FILE # 4, BLOCK #730)
--******检查数据块的坏块
c:\dbv File =C:\oracle\product\10.2.0\oradata\testDB\USERS01.DBF  --查看USERS表空间的数据文件中有哪些数据块是损坏的:   
RMAN> Backup Validate Datafile 4;                                 --RMAN对数据文件4进行坏块检查,不进行备份,检查后不报错,记录在v$database_block_corruption视图中
RMAN> Backup Datafile 4;          --如果备份有坏块的数据文件,会报错:ORA-19566: EXCEEDED LIMIT OF 0 CORRUPT BLOCKS FOR FILE C:\oracle\product\10.2.0\oradata\testDB\USERS01.DBF
RMAN> run{
Set maxcorrupt For Datafile 4 To 1;    --设置数据文件4,允许有1个折断块CORRUPT BLOCKS,只能放在run{}中执行
}
--***************针对检查到的坏块,进行恢复
RMAN> blockrecover Datafile 4 Block 730;                          --只恢复数据文件4的第730个块
RMAN> blockrecover Datafile 4 Block 933;                         
RMAN> blockrecover Datafile 4 Block 1438;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15810196/viewspace-1146671/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15810196/viewspace-1146671/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值