RMAN详细教程(一):基本命令代码

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

RMAN详细教程(三):备份脚本的组件和注释

RMAN详细教程(四):备份脚本实战操作

  

  

一、创建增量备份

增量备份级别为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. RMAN详细教程(四):备份脚本实战操作

    RMAN详细教程(一):基本命令代码 RMAN详细教程(二):备份.检查.维护.恢复 RMAN详细教程(三):备份脚本的组件和注释 RMAN详细教程(四):备份脚本实战操作 1.为了安全起见,先将数据 ...

  2. RMAN详细教程(三):备份脚本的组件和注释

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

  3. 转载:【Oracle 集群】RAC知识图文详细教程(二)--Oracle 集群概念及原理

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  4. SpringMVC框架详细教程(二)

    创建动态Web项目 1.创建动态Web项目: 打开Eclipse,在Package Explorer右击,创建项目,选择动态Web项目(Dynamic Web Project). 填写项目名称,并选择 ...

  5. Oracle中RMAN基本命令教程

    一.target--连接数据库 1.本地: [oracle@oracle ~]$ rman target / 2.远程: [oracle@oracle ~]$ rman target sys/orac ...

  6. Solr集群搭建详细教程(二)

    注:欢迎大家转载,非商业用途请在醒目位置注明本文链接和作者名dijia478,商业用途请联系本人dijia478@163.com. 之前步骤:Solr集群搭建详细教程(一) 三.solr集群搭建 注意 ...

  7. rman备份有效性验证/恢复进度监控

    故障一定会发生,只是早晚的问题!作为一名DBA时刻要记着备份,备份的有效性同样重要,不要当某一天最需要的时候,发现悲剧了...验证rman备份是否可以成功还原,11g后可以通过命令验证但,验证全备份一 ...

  8. 《手把手教你》系列技巧篇(二十五)-java+ selenium自动化测试-FluentWait(详细教程)

    1.简介 其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇.那是因为这个比较重要,所 ...

  9. ThinkJS框架入门详细教程(二)新手入门项目

    一.准备工作 参考前一篇:ThinkJS框架入门详细教程(一)开发环境 安装thinkJS命令 npm install -g think-cli 监测是否安装成功 thinkjs -v 二.创建项目 ...

随机推荐

  1. NOIP2002[提高组] 均分纸牌 题解

    题面 题目保证有解即纸牌总数能被人数整除(N|T)每个人持有纸牌a[1]...a[m],我们可以先考虑第一个人 1.若a[1]>T/M,则第一个人需要给第二个人c[1]-T/M张纸牌,即把c[2 ...

  2. html/css中float浮动的用法

    一.float基础用法示例 1.我们先建两个div盒子,设置高度.宽度和背景颜色: 最开始两个盒子在网页上的位置如下: 然后我们将红色盒子浮动到右边 然后我们会发现红色盒子浮动到了右边,但是蓝色盒子就 ...

  3. Golang 数组 切片 字典 基本知识点

    数组 数组的声明 var arrayName [arraySize]dataType eg: var array1 [5]int 在声明数组时,必须指定数组名,数组长度和数组元素的类型. 数组的初始化 ...

  4. Java 创建/识别条形码、二维码

    条形码(Barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常用于标示物品的生产国.制造厂家.商品名称.生产日期.图书分类号.邮件起止地点.类别.日期等 ...

  5. Spring Security Oauth2 自定义 OAuth2 Exception

    付出就要得到回报,这种想法是错的. 前言 在使用Spring Security Oauth2登录和鉴权失败时,默认返回的异常信息如下 { "error": "unauth ...

  6. Azure Application Insights REST API使用教程

    本文是Azure Application Insights REST API的简单介绍,并会包含一个通过Python消费API的示例/小工具. 新加入的team中的一项工作是制作日常的运维报表,制作方 ...

  7. charles 编辑菜单总结

    本文参考:charles 编辑菜单总结 charles中proxy菜单的介绍:我的是4.1.2版本,mac系统下的菜单大同小异: 如下图: 这里其实都是常用的功能: 大概可以分为5个大块,看下分割线就 ...

  8. Java连载33-对象的创建和使用、内存分析

    一.创建一个学生类 每个学生都有学号信息,但是每一个学生的学号都是不同的,所以要访问这个学号必须先创建对象,通过对象去访问学号信息,学号信息不能直接通过“类”去访问,所以这种成员变量又被称为“实例变量 ...

  9. Android远程服务AIDL开发过程中容易遇见的两个问题

    问题 一 JavaBinder: Uncaught remote exception! (Exceptions are not yet supported across processes.) jav ...

  10. 基于RMAN搭建DataGuard,使用Broker管理DataGuard

    一.环境准备 1.数据库软件准备 (1).在主节点,安装单机数据库软件并创建数据库. (2).在备库, 安装单机数据库软件, 但是不创建数据库. 2.操作系统配置 在/etc/hosts下面配置主机名 ...