一、创建增量备份

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

1、差异增量备份(differential incremental backup)(默认):
每次备份至上一次备份级别小于等于当前级别的备份。

2、累计增量备份(cumulative incremental backup):
1)每次备份至上一次小于当前级别的备份;

2)增量备份需要先进行一次0级备份,作为备份的起点。

3、增量备份例子:

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

二、创建增量更新备份

1、前提条件:

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

2、命令例子:

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

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

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

1)检查是否存在逻辑块损坏:
check logical

2)在备份时,对数据文件和归档日志文件进行检查:
backup validate check logical database archivelog all;

3)支持对数据文件中的数据库进行检查:
validate datafile 4 block 10 to 30;

4)支持对数据库备份集进行验证:
validate backupset 3;

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

1)RMAN @/my_dir/test.txt
2)或登陆RMAN后@/my_dir/test.txt

3、列出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;

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

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

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

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

四、维护RMAN备份

1、同步数据库备份和镜像的逻辑记录——crosscheck:
1)crosscheck backup;
2)crosscheck copy;
  
2、删除备份信息——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;

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

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:
坏块会记录到V$DATABASE_BLOCK_CORRUPTION视图中,还会记录在告警日志和TRACE文件中,可以通过V$DIAG_INFO查看这些文件的位置,找到相关文件进行坏块查看。

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

1)列出当前失败并确定修复选项:oracle中失败是指被Health Monitor监测到的数据损坏,例如逻辑或物理的数据块损坏、数据文件丢失等;

2)监测到的失败有不同的优先级(critical、hight和low),还有状态(open和closed);

3)通过list failure可以查看当前监测到的失败,若在同一会话中执行advise failure命令,数据库会列出手工和自动的修复选项以供选择。

4)一般首先通过手工修复方式来进行修复,若手工修复不成功,再进行自动修复。

六、闪回数据库技术

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;

七、指令运行方式

1、单个执行:

RMAN>backup database;

2、批处理:

RMAN>run{


}

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

3、运行脚本:

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;

RMAN详细教程(二) —— 备份、检查、维护、恢复相关推荐

  1. Oracle Database 12c RMAN全量+增量备份+归档日志恢复详解

    Oracle可以非常方便的把数据库恢复到具体某个时间的状态,而且还支持全备和多级增备,备份无需停止应用服务.比起DB2需要手动逐级恢复增量备份和归档日志,RMAN是非常简单好用的数据库商业解决方案. ...

  2. [学习笔记]Spring Cloud详细教程(二)

    文章目录 服务调用Ribbon getForEntity Ribbon的负载均衡 更换负载均衡算法 手写一个轮询算法 服务调用OpenFeign OpenFeign的使用 OpenFeign的超时控制 ...

  3. win10环境下VTK7.1的编译和Qt调用VTK的详细教程二(VS2013编译支持Qt的VTK库)

    本文主要用于编译支持Qt的VTK库,重点在于编译VTK库,供Qt调用. 第1步:新建一个文件夹:vtkDir 第2步:在该文件夹下新建两个文件夹vtk_bin.vtk_src 第3步:将下载好的VTK ...

  4. Spring入门详细教程(三)

    前言 本篇紧接着spring入门详细教程(二),建议阅读本篇前,先阅读第一篇和第二篇.链接如下: Spring入门详细教程(一) https://www.cnblogs.com/jichi/p/101 ...

  5. ❤️ 万字Python MySQL从入门到精通详细教程❤️ 再也不用担心学不会数据库了❤️

    文章目录 前言 ⭐集合三万字基础教程⭐ 一.SQL详细教程 二.mysql入门详细教程 ⭐转python mysql⭐ 三.Python MySQL入门连接 3.1基本环境准备 3.2连接 四.Pyt ...

  6. spring入门详细教程(五)

    前言 本篇紧接着spring入门详细教程(三),建议阅读本篇前,先阅读第一篇,第二篇以及第三篇.链接如下: Spring入门详细教程(一) https://www.cnblogs.com/jichi/ ...

  7. Spring入门详细教程(四)

    前言 本篇紧接着spring入门详细教程(三),建议阅读本篇前,先阅读第一篇,第二篇以及第三篇.链接如下: Spring入门详细教程(一) https://www.cnblogs.com/jichi/ ...

  8. python -- PyQt5(designer)中文详细教程(一)Qt的基本功能

    在介绍PyQt5中文详细教程前,如有需要安装PyQt5的同学可以在此 PyQt5安装详细教程_M_Q_T的博客-CSDN博客参考安装,里面有详细的安装内容. 下一章内容python -- PyQt5( ...

  9. numpy入门详细教程(一)

    本讲主要介绍对numpy库和numpy库的N维数组对象:ndarray的基本了解.更多内容请看numpy入门详细教程(二) numpy: NumPy是一个开源的Python科学计算基础库,包含: • ...

最新文章

  1. 「模型解读」浅析RNN到LSTM
  2. Delphi - 我的代码之窗体移动
  3. 推荐 10 个实用型的热门开源项目,开发效率又能提升了!
  4. 数学 —— 巧用进制
  5. 可再生能源建设提速 风电光伏业高景气可期
  6. 融资租赁业务的基本知识
  7. 今天升级Xcode 7.0 bata发现网络访问失败。
  8. 数据结构 3-2-2 队列的顺序存储实现
  9. libsuperuser
  10. 如何得到DataTable的列名
  11. 有无3C认证的电源价格差别说明什么?
  12. springboot系列十二 Spring-Data-ElasticSearch Jpa、QueryBuilder、MatchQuery、位置搜索、GeoPoint...
  13. JFrame+JButton简单使用(菜鸟入门)——JAVA
  14. 如何判断/获取屏幕的状态(亮屏已解锁,亮屏未解锁,黑屏)
  15. DWR 实现AJAX学习
  16. ElasticSearch控制should查询的精度(匹配个数)
  17. 木桶新理论与信息安全
  18. wmm的学习日记(xss之旅)
  19. FCH041N65F-ASEMI原厂代理安森美MOS管FCH041N65F
  20. 根号类算法讲解——各(四)种莫队(填坑)

热门文章

  1. 震惊,双色球秘诀竟然是这样。。。。。。。java预测双色球
  2. KMP算法-超级无敌详细(嚼碎了喂你)
  3. 关于Spring AOP中切点修饰符@annotation、@args与args约束说明
  4. AKO气动夹管阀VMP系列90 PSI
  5. python 系统托盘_python-单击菜单项时退出pyqt系统托盘图标
  6. 二叉树的前、中、后、层次非递归遍历(js)
  7. htmlparser的使用java_HTMLParser的使用
  8. 微信小程序-000-签到功能-004-新建签到
  9. LeetCode-1049. 最后一块石头的重量 II
  10. 关于KEIL5编译出现“Target not createt”全系列解决办法——情况2:程序溢出错误 ERROR: PUBLIC REFERS TO IGNORED SEGMEN