RMAN备份介绍

更新时间:2023-06-18 09:06:33 阅读: 评论:0

RMAN备份介绍
RMAN备份
【官⽅⽂档】
  Backup and Recovery Reference
  Backup and Recovery Ur's Guide
1 备份⽂件类型
1.1 backupt备份集
  不备份datafile⾥⾯从未使⽤块、可以实现增量备份(可以备份到disk和tape)。可以使⽤压缩,如果只启⽤⼀个channel,默认会把所有备份的datafile放⼊到⼀个backupt⾥,并且⽣成⼀个备份⽚backup piece
  使⽤ction size时,⼀个backupt中可以包含多个backup piece
1.1.1 备份全库
① RMAN> backup databa format='/u01/backup/rman/prod_%s.bak' filespert 3;
② RMAN> backup databa plus archivelog delete input;
说明:备份所有数据⽂件及控制⽂件、spfile⽂件与所有归档⽇志,并删除旧的归档⽇志,当deleteinput后,控制⽂件相关信息
(v$archived_log)也会被更新。archivelog物理⽇志也被删除
③ RMAN> backup databa format '/u01/backup/rman/%U.bak' plus archivelog delete input skip inaccessible;
说明:archivelog的备份是根据控制⽂件中(v$archived_log)中的内容导航的,如果控制⽂件中记录了⽽实际归档中⼜不存在,则会报错,skip inaccessible的含义是跳过物理上缺失的⽇志⽂件
因为有了全备,随时可以还原备份,还原点之前的归档⽇志可以删除,如果想单独还原归档⽇志备份可以使⽤:restore archivelog all; 1.1.2 备份表空间
RMAN> backup tablespace urs format '/u01/backup/rman/urs_%U.bak' tag=urbak;
1.1.3 备份数据⽂件
RMAN> backup datafile 3,5 format '/u01/backup/rman/%d_%s.bak';
备份数据⽂件,可以⼀次备份多个,以“,” 分开
1.1.4 备份归档⽇志
查看当前数据库中归档⽇志
RMAN> list archivelog all;
备份所有归档⽇志,备份完成后删除库⾥的归档⽇志⽂件
RMAN> backup archivelog all delete input;
将归档⽇志⽂件从备份转储回库中
RMAN> restore archivelog all;
1.1.5 备份控制⽂件
RMAN> backup current controlfile;
fear是什么意思
1.1.6 备份参数⽂件
RMAN> backup spfile;
1.2 image copy(映像⽂件)备份
1.2.1 image copy(映像⽂件)
  实际上和⼿⼯cp类似的,备份datafile所有的数据块,不能作为增量备份的基础(即0级增量备份),只能备份到disk,不能备份到tape,优点是可以省略还原步骤,恢复数据库速度快
1.2.2 语法
① RMAN> copy datafile 4 to '/u01/backup/rman/urs_%s.bak';
② RMAN> backup as copy tablespace 'TEST' format '/u01/backup/rman/%d_test_%s.bak';
建议使⽤backup语法,统⼀格式
backup as copy databa format '/u01/backup/rman/%U.bak';
list datafilecopy all;
删除
delete datafilecopy all;
2 rman冷热备脚本参考
2.1 rman冷备脚本
vi /u01/backup/rman/cold.sql
写⼊脚本:
run{
shutdown immediate;
startup mount;
allocate channel c1 device type disk;
allocate channel c2 device type disk;
教训英文
backup databa format '/u01/backup/rman/db_%d_%T_%U.bak';
backup current controlfile format '/u01/backup/rman/ctl_%d_%T_%U.bak';
alter databa open;
relea channel c1;
relea channel c2;
}
2.2 rman热备
vi /u01/backup/rman/hot.sql
写⼊脚本:
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup databa format '/u01/backup/rman/db_%d_%T_%U.bak' plus archivelog format '/u01/backup/rman/ar_%d_%T_%U.bak';
backup current controlfile format '/u01/backup/rman/ctl_%d_%T_%U.bak';
relea channel c1;
relea channel c2;
}
3 增量备份incremental backup
【官⽅⽂档】
  Databa Backup and Recovery Ur's Guide ---> 8 RMAN Backup Concepts ---> Incremental Backups
3.1 概念可能的英文
  只备份⾃某次备份以来发⽣变化的block。RMAN在备份时会记录data block的scn,下次备份时通过⽐较某次备份数据块上的scn来确定该数据块是否发⽣变化
0级增量备份可以理解为完全备份
1级增量备份分为两种:
  差异增量备份:只包含上次增量备份(0级或1级)到现在增加或者修改的数据块
  累计增量备份:只包含上次增量备份(0级,也就是完全备份)到现在增加或者修改的数据块
3.2 两种增量策略
中国外语网差异增量备份(Differential incremental backup):以某次以来同级别或低级别的备份作为基础备份
累积增量备份(Cumulative incremental backup):以某次以来⽐⾃⼰级别低的备份作为基础备份
10g以后,增量备份只有0级和1级,原来2级以上的级别可兼容,但不推荐使⽤
0级增量备份,省略differential描述,默认的就是差异增量备份
backup incremental level0databa format '/u01/backup/rman/%U.bak';
1级累积增量备份
backup cumulative incremental level1databa;
1级差异增量备份
backup incremental level1databa format '/u01/backup/rman/%U.bak';
3.3 注意事项
① 0级增量备份不等同于全备(full backup),全备不能做为增量备份的基础备份,0级增量备份可以
②如果没有备份过0级备份,那么第⼀次1级备份(差异或累计)就当做0级备份
③⾮归档情况下的恢复就只有还原备份这⼀步,在RMAN下的⽅法是:
startup force mount;
restore databa;
alter databa open retlogs;
如果⾮归档情况下使⽤了增量备份,在restore第⼆句后,加上recover databa noredo;
这个命令有两个作⽤:
1. 定位所有级别为1的累计或差异增量备份并使⽤它们
2. 不应⽤⽇志
3.4 块变更跟踪(block change tracking)(OCM内容)
3.4.1 概念
  增量备份总是⼩于完整备份,但是备份时的时间并不像想象的那样少,原因是增量备份默认的是要扫描整个要备份的数据⽂件块,以便确定哪些块需要提取,如果想要增量备份能快些,可以使能增量备份的块改变跟踪功能
  块改变跟踪在后台启动⼀个进程叫CTWR,这个进程向变更跟踪⽂件中记录每个已更改的块的地址。如果启⽤了块跟踪,增量备份时就去检查块跟踪⽂件,这⽐遍历整个数据⽂件块要快的多。当然缺点是数据库维护块跟踪⽂件会付出性能代价,所以实际⼯作中此特性通常不在⽣产库上配置
内容))
3.4.2 实战案例演⽰(OCM内容
3.4.2.1 使能块改变跟踪
alter databa enable block change tracking using file'/u01/app/oracle/oradata/ORCL/change_tracking';
3.4.2.2 查看视图信息
确认已启动了CTWR进程,确认⽣成了块改变跟踪⽂件
col filename for a50
lect*from v$block_change_tracking;
3.4.2.3 开始0级增量做为基础备份
backup incremental level0databa format '/u01/backup/rman/%U.bak';
3.4.2.4 开始1级增量备份
backup incremental level1databa format '/u01/backup/rman/%U.bak';
3.4.2.5 关闭块改变跟踪
alter databa disable block change tracking;
hawkinglect*from v$block_change_tracking;
3.4.2.6 再次执⾏1级增量备份对⽐
backup incremental level1databa format '/u01/backup/rman/%U.bak';
考点:使能块改变跟踪后,需要⼀个相当于incremental level 0 backup做为基础备份
3.5 使⽤增量更新image copy备份
  增量更新特性是以⼀个image copy为基础,将增量备份应⽤到这个image copy,在做每⽇的imcremental level 1时,image copy是不断的累积的,好处是这个累积的image copy的scn越来越新,且使⽤它恢复数据库时不需要还原,命令如下:
run {
recover copy of databa with tag 'incr_update';
backup incremental level1for recover of copy with tag 'incr_update'databa;
}
这个例⼦每天执⾏⼀次,会是什么样的结果?
advantages第⼀天,backup命令将创建⼀个的相当于level 0的image copy,因为之前没有这个备份
第⼆天,backup命令创建⼀个level 1的backupt
第三天以及以后的每⼀天,recovercopy命令将把level 1应⽤(叠加)到image copy,从⽽不断的更新它
最⼤的优势是image copy不断的累计,可以省去还原步骤,从⽽节省了⼤量恢复数据的时间
3.6 增量热备脚本参考
3.6.1 level 0
run{
crosscheck backup;
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup incremental level0databa format '/u01/backup/rman/db_%d_%T_%U.bak' plus archivelog format '/u01/backup/rman/ar_%d_%T_%U.bak';
backup current controlfile format '/u01/backup/rman/ctl_%d_%T_%U.bak';
jword是谁
report obsolete device type disk;
delete noprompt obsolete device type disk;
delete noprompt expired backup device type disk;
relea channel c1;
relea channel c2;
}
3.6.2 level 1
run{
crosscheck backup;
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup incremental level1databa format '/u01/backup/rman/db_%d_%T_%U.bak' plus archivelog format '/u01/backup/rman/ar_%d_%T_%U.bak';
backup current controlfile format '/u01/backup/rman/ctl_%d_%T_%U.bak';
report obsolete device type disk;
delete noprompt obsolete device type disk;
delete noprompt expired backup device type disk;
relea channel c1;
relea channel c2;
}
4 归档备份backup ... keep
  在Oracle11g中,可以使⽤backup … keep命令保留⽐RMAN备份保留策略所指定的时间更长的备份。它可以构造能保留数年的备份(不被obsolete),归档备份之所能使备份长久保存,关键是使⽤keep选项覆盖掉了RMAN中缺省的保留策略
KEEP FOREVER永不过期(需要catalog)在Oracle 11g中
KEEP UNTIL TIME后跟⼀个时间长度,如表⽰⼀年:'sysdate+365'
RESOTRE POINT的作⽤记录这次备份的唯⼀性,rename表⽰的scn已被记录下来,rename不能重名
⽰例(备份⽇期2021年7⽉5⽇):
backup tablespace urs format '/u01/backup/rman/urs_%U.bak' keep until time 'sysdate+7'restore point orclbak;
也可以在备份列表中看到obsolete⽇期
可以查看RESOTRE POINT rename和scn的对应关系
list restore point all;
delete backup;
内容))
5 数据恢复顾问DRA实战案例(OCM内容attn
  DRA(Data Recovery Advisor)是⼀个诊断和恢复数据库的⼯具,通过两个途径操作,⼀个是RMAN界⾯,另⼀个是EM,它依赖于ADR的⾃动诊断信息以及Health Monitor
5.1 RMAN备份sysaux表空间
backup tablespace SYSAUX format '/u01/backup/rman/sysaux_%U.bak';
list backup;
5.2 关闭数据库,将sysaux01.dbf删掉,然后启动数据库报错
模拟关键表空间损坏,然后启动数据库,报system.dbf读写错误
shutdown abort;
cd /u01/app/oracle/oradata/ORCL/
rm sysaux01.dbf
courra orgstartup
5.3 数据库在mount模式下连接rman
rman target /
5.4 看DRA列出发现的问题
list failure;
5.5 让DRA来诊断⼀下问题所在
advi failure;挚友的反义词
修复脚本:/u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_3580709036.hm

本文发布于:2023-06-18 09:06:33,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/149191.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:备份   增量   跟踪
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图