RMAN详细教程(二):备份、检查、维护、恢复

RMAN详细教程(一):基本命令代码 RMAN详细教程(二):备份、检查、维护、恢复 RMAN详细教程(三):备份脚本的组件和注释 RMAN详细教程(四):备份脚本实战操做      html

1、建立增量备份

增量备份级别为0-4,但为方便备份管理,oracle建议只限于0级和1级。数据库

一、差别增量备份(differential incremental backup)(默认):

每次备份至上一次备份级别小于等于当前级别的备份。   oracle

二、累计增量备份(cumulative incremental backup):

1)每次备份至上一次小于当前级别的备份; 2)增量备份须要先进行一次0级备份,做为备份的起点。   性能

三、增量备份例子:

backup incremental level 0 database;----0级增量备份,做为增量备份策略的基础
backup incremental level 1 cumulative database;----1级累积增量备份
backup incremental level 1 database;----1级差别增量备份

     

2、建立增量更新备份

一、前提条件:

1)以0级数据文件镜像做为基础; 2)1级差别增量备份的标签须要和0级一致; 3)增量备份被应用到0级镜像上。   spa

二、命令例子:

backup for recover of copy----只备份从上一个相同标签的备份以来发生数据块改变的增量备份
backup incremental level 0 for recover of copy tag 'test' database; ----使用tag标记数据文件镜像做为备份策略基础
recover copy of database with tag 'test';----增量更新备份

     

3、数据库文件和备份的检查

一、有效性(数据文件是否存在于正确的路径下,而且是否存在物理块损坏):

1)检查是否存在逻辑块损坏: check logical 2)在备份时,对数据文件和归档日志文件进行检查: backup validate check logical database archivelog all; 3)支持对数据文件中的数据库进行检查: validate datafile 4 block 10 to 30; 4)支持对数据库备份集进行验证: validate backupset 3;   rest

二、引用脚本文件执行任务:

1)RMAN @/my_dir/test.txt 2)或登录RMAN后@/my_dir/test.txt   日志

三、列出RMAN备份信息——list:

1)list backup of database by backup; 2)list backup by file; 3)list backup summary; 4)list expired backupset/copy; 5)list backup recoverable;   code

四、列出RMAN备份信息——report:

1)report need backup database; ----列出当前须要备份的数据文件 2)report obsolete; 3)report schema; 4)report unrecoverable;   orm

五、备份相关的动态性能表:

v$archived_log:本视图包含了全部归档重作日志文件的建立状况,备份状况以及其余信息。
v$backup_corruption:这个视图显示了rman在哪些备份集中发现了损坏的数据块。
v$copy_corruptio:本视图显示了哪些镜像复制备份文件已经被损坏。
v$backup_datafile:本视图一般用来获取每一个数据文件中非空白数据块的数量,
从而帮助你建立出大小基本相等的备份集。另外,在视图中也包含了数据文件中损坏的数据块的信息。
v$backup_redolog:本视图显示了在现有的备份集中饮食有哪些归档重作日志文件。
v$backup_set:本视图显示了已经建立的备份集的信息。
v$backup_piece:本视图显示了已经建立的备份片断的信息。

     

4、维护RMAN备份

一、同步数据库备份和镜像的逻辑记录——crosscheck:

1)crosscheck backup; 2)crosscheck copy;   htm

二、删除备份信息——delete:

1)删除陈旧备份: RMAN> delete obsolete; 2)删除expired备份: RMAN> delete expired backup; 3)删除 expired 副本: RMAN> delete expired copy; 4)删除特定备份集: RMAN> delete backupset 19; 5)删除特定备份片: RMAN> delete backuppiece 'd:\backup\DEMO_19.bak'; 6)删除全部备份集: RMAN> delete backup; 7)删除特定映像副本: RMAN> delete datafilecopy 'd:\backup\DEMO_19.bak'; 8)删除全部映像副本: RMAN> delete copy; 9)在备份后删除输入对象:

RMAN> delete archivelog all delete input;
RMAN> delete backupset 22 format = ''d:\backup\%u.bak'' delete input;

  

三、还原和恢复数据库文件:

1)还原是指从全部的备份或镜像文件中找到一个用于恢复操做的数据文件。 2)恢复是指在还原的数据文件上应用redo日志或增量备份中记录的变化,使得数据文件向前滚到一个SCN值或者一个时间点。 3)在对数据库进行还原恢复操做时,能够先进行预览: restore database preview summary; 4)恢复整个数据库:

startup force mount;----将数据库至于mount状态
restore database;----还原数据库
recover database;----恢复数据库
alter database open;

5)恢复表空间:

alter tablespace users offline;---- 将表空间涉及的数据文件离线
restore tablespace; ----还原表空间
recover tablespace; ----恢复表空间
alter tablespace users online; ----恢复完成后,再设为在线

6)对数据坏块进行恢复:

recover corruption list;----修复全部的坏块
recover datafile 1 block 33, 44 datafile 2 blocke 1 to 200;

PS: <font color='red'>坏块会记录到V$DATABASE_BLOCK_CORRUPTION视图中,还会记录在告警日志和TRACE文件中,能够经过V$DIAG_INFO查看这些文件的位置,找到相关文件进行坏块查看。</font>      

5、数据恢复建议器(data recovery advisor)

1)列出当前失败并肯定修复选项:oracle中失败是指被Health Monitor监测到的数据损坏,例如逻辑或物理的数据块损坏、数据文件丢失等; 2)监测到的失败有不一样的优先级(critical、hight和low),还有状态(open和closed); 3)经过list failure能够查看当前监测到的失败,若在同一会话中执行advise failure命令,数据库会列出手工和自动的修复选项以供选择。 4)通常首先经过手工修复方式来进行修复,若手工修复不成功,再进行自动修复。      

6、闪回数据库技术

1)想使用闪回数据库技术,须要先开启闪回日志功能。(闪回日志只能存放在快速恢复区中,而且不会进行归档) 2)闪回数据库不能用于介质恢复和修复数据文件的丢失。 3)闪回数据库须要在mount状态下进行。 4)命令:

shutdown immediate ;----调整至mount状态 
startup mount;
flashback database to scn 1526845;----闪回到过去的某时刻
flashback database to restore point before_points;
flashback database to timestamp to_date('20140510','yyyymmdd');
alter database read only;----将数据库置为只读状态,进行验证
shutdown immediate;----若闪回后知足要求,启动数据库
startup mount;
alter database open resetlogs;

     

7、指令运行方式

一、单个执行:

RMAN>backup database;   

二、批处理:

RMAN>run{
.......................
.......................
}

这种方式是最常使用的方式,特别对于后台执行。 好处是若是做业中任何一条命令执行失败,则整个命令中止执行。   

三、运行脚本:

1)[oracle@oracle ~]$ rman target / @backup_db.rman 2)RMAN> @backup_db.rman 3)RMAN> run { @backup_db.rman } 4)运行存储在恢复目录中的脚本(须要首先为rman 建立恢复目录): RMAN> run { execute script backup_whole_db }; [oracle@oracle ~]$rman cmdfile=backup_db.rman;

原文出处:https://www.cnblogs.com/WoLykos/p/11683973.html

相关文章
相关标签/搜索