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)[[email protected] ~]$ 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 };
[[email protected] ~]$rman cmdfile=backup_db.rman;

原文地址:https://www.cnblogs.com/WoLykos/p/11683973.html

时间: 2024-09-29 22:50:27

RMAN详细教程(二):备份、检查、维护、恢复的相关文章

Ubuntu-安装-cuda7.0-单显卡-超详细教程

欢迎访问 博客新址 一.说明 本教程是在台式机上安装的,只有一个NVIDIA显卡. 操作系统是Ubuntu 14.04 (64bit). 双显卡的笔记本请移步Ubuntu-安装-cuda7.0-双显卡-超详细教程 二.准备 说明:本文假设下载的文件都在~/Dowloads/下面 1. 更新操作系统 sudo apt-get update 2. 下载cuda7.0 点此下载 如果不是该版本,可以搜索,如下图所示: 点击"Linux x86",选择"Ubuntu 14.04&qu

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

注:欢迎大家转载,非商业用途请在醒目位置注明本文链接和作者名dijia478,商业用途请联系本人[email protected]. 之前步骤:Solr集群搭建详细教程(一) 三.solr集群搭建 注意,在搭建solr集群前,建议最好有一个solr服务是已经搭建好的,可以简化大量重复的配置操作. 单机solr服务搭建过程参看我的这篇文章: Solr服务在Linux上的搭建详细教程 这个单机solr服务在solr集群搭建第二步和第三步里需要,搭建好一个solr服务后,就可以进行集群搭建了. 第一步

Spring入门详细教程(二)

前言 本篇紧接着spring入门详细教程(一),建议阅读本篇前,先阅读第一篇.链接如下: Spring入门详细教程(一) https://www.cnblogs.com/jichi/p/10165538.html 一.spring注入方式 1.set方法注入 <bean name="user" class="com.jichi.entity.User" > <property name="name" value="小明

ORACLE RMAN备份及还原 RMAN可以进行增量备份:数据库,表空间,数据文件

ORACLE RMAN备份及还原 RMAN可以进行增量备份:数据库,表空间,数据文件 只有使用过的block可以被备份成backup set 表空间与数据文件对应关系:dba_data_files / v$datafile_header 在noarchivelog模式下,可以使用RMAN备份read-only和offline的表空间 ORACLE RMAN停机备份: 备份 RMAN连接上ORACLE,WINDOWS下在命令模式下 RMAN TARGET / 连接本地数据库用的是本地认证模式.RM

Ubuntu Server 16.04 安装 Percona Server 5.7 来代替 MySQL 或 MariaDB详细教程

本文标签:    Ubuntu MySQL UbuntuServer PerconaServer MySQL数据库服务器性能优化 互联网杂谈 一.这货是什么? Percona 为 MySQL数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升.该版本提升了在高负载情况下的 InnoDB 的性能.为 DBA 提供一些非常有用的性能诊断工具:另外有更多的参数和命令来控制服务器行为.Via 经过长期实践以及生产环境测试, Percona Server 的性能和稳定性比原生的 MySQ

Ubuntu下安装FTP服务及使用(VSFTPD详细设置)(二)

vsftpd 作为一个主打安全的FTP服务器,有很多的选项设置.下面介绍了vsftpd的配置文件列表,而所有的配置都是基于vsftpd.conf这个配置文件 的.本文将提供完整的vsftpd.conf的中文说明.学习本文的内容将有助于你初步了解vsftpd的配置文件,但针对具体情况还需要制定具体的配置 方法. Vsftpd的配置文件: /etc/vsftpd/vsftpd.conf 主配置文件 /usr/sbin/vsftpd Vsftpd 的主程序 /etc/rc.d/init.d/vsftp

【转载】GitHub详细教程

1 Git详细教程 1.1 Git简介 1.1.1 Git是何方神圣? Git是用C语言开发的分布版本控制系统.版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态).另一个状态可以是不同的文件,也可以是不同的文件内容.举个例子,你可以将文件集合转换到两天之前的状态,或者你可以在生产代码和实验性质的代码之间进行切换.文件集合往往被称作是“源代码”.在一个分布版本控制系统中,每个人都有一份完整的源代码(包括源代码所有的历史记录信息),而且可以对这个本地的数据进行操

win7安装Oracle 11g 详细教程

一.下载 可以去Oracle官网下载:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html(注意一点,选中上面Accept License Agreement选项,然后再下面的列表中选择你需要的版本,具体不讲了.) 二.安装 1.解压: 下载下来的总共有两个zip包,解压时一定要放在一起,并一起解压! 双击setup.exe进入安装,进入如下界面,等待....  2. 配置安全更新:

Spring框架整合Struts2使用Validation框架验证表单用户输入数据的详细教程

原创整理不易,转载请注明出处:Spring框架整合Struts2使用Validation框架验证表单用户输入数据的详细教程 代码下载地址:http://www.zuidaima.com/share/1778685765291008.htm 在<Struts2教程4:使用validate方法验证数据>中曾讲到使用validate方法来验证客户端提交的数据,但如果使用validate方法就会将验证代码和正常的逻辑代码混在一起,但这样做并不利于代码维护,而且也很难将过些代码用于其他程序的验证.在St