rman 备份的基本概念与备份命令

一 、rman 备份对象
在rman  进行数据库备份与恢复操作的时候,数据库必须处于加载或打开状态,
首先我们要明白rman可以备份那些对象!
整个数据库:备份数据库所有的数据文件和控制问津。
数据文件: 备份制定的一个或多个数据文件。
表空间:备份指定的一个或多个表空间。
归档重做日志文件;备份归档重做日志文件。
控制文件:在线备份目标数据库当前的控制文件。】
服务器初始化参数文件;备份目标数据库的服务器初始化参数文件。
数据文件的镜像复制;备份使用  backup as copy 命令创建的数据文件的镜像复制。
控制文件的镜像复制:备份使用backup  as copy 命令的控制文件的镜像复制。
备份集:备份使用backup 命令创建的备份集。
除此以外的文件都不备份 。
二rman 备份形式
1镜像复制
镜像复制是对数据文件和控制文件的精确复制。
使用rman 的backup as  copy 命令实现镜像复制
只有备份设备为磁盘的时候 ,才能采用镜像复制的备份方法。
2 备份集
备份集是rman 创建的一个具有 特定格式的逻辑对象,是rman的最小备份单位。
一个备份集在物理上由一个或多个rman指定格式的二进制文件组成,每一个二进制文件被称为备份片段。
3.备份类型;
 (1)不一致性备份与一致性备份
一致性备份是指数据库正常关闭后 启动到加载的状态,既 startup nomount 然后进行数据库的备份。李颖一致性备份修复数据库后不需要进行恢复操作。不一致性备份是指在数据库打开状态或者数据库非正常关闭状态下进行备份。利用不一致性备份修复数据库后需要进行恢复。
(2)数据库打开备份与关闭备份
数据库打开状态下的备份是指在数据库运行的状态下进行备份,数据库关闭的状态下的备份实质是数据库处于关闭状态下进行的备份,如果数据库没有启动到加载的状态下,rman 客户 段无法与目标数据库建立连接,是无法进行数据库的备份操作的。
(3)完全备份和增量备份
rman 中的完全备份。不是指针对数据库进行完全备份,而是值对数据文件进行备份时,不管是数据文件值的数据块是否被修改都复制到备份中,完全备份时相对增量备份而言,rman 中的默认备份类型是完全备份。
rman中的增量备份 。是指备份数据文件时,值备份上次增量设备之后被修改过的数据块。而不是数据文件中的所有数据块,因此增量备份要比完全备份次小的多,但是增量备份的时间并不一定比完全备份的时间短,因为增量备份娿要读取数据文件中的所有数据块,可以对单独的数据文件,表空间或整个数据库进行增量备份。
(4)使用增量备份具有的优点;
在不降低备份频率的基础上缩小备份的大小。节省用于存储备份的存储空间。
如果数据运行在非归档的模式下,规律的增量备份起到归档重做日志文件的作用,因此,增量备份为数据库提供了更为灵活的备份与恢复策略;
(5) 增量备份又分为差异的增量备份和累计的增量备份 ;
差异增量备份:以最近级别为0 或1 的增量备份为基础。复制所有被修改的块
累计增量备份; 以最近级别为0 的增量备份为基础。复制所有被修改过的块
4.多副本备份
语法
rman > backup device type disk copies 3 datafile 7
format '/u01/app/oracle',' /u01/app/oracle/oradata','/u01/app/oracle/oradata/ENMOEDU';

三、利用rman备份数据库
如果数据库容许关闭则可以在数据库加载进行一致性备份如果数据库不容许关闭,在要进行不一致备份。
1.备份真个数据库
rman> backup database;
一般默认的备份包括数据文件,控制文件,初始化参数文件,但不包括归档重做日志文件,如果要在备份数据库的同时进行日志切换。备份归档重做日志,
rman > backup database plus archivelog;
如果进行的是不一致 备份,必须在完成备份后对当前的联机重做日志进行归档,因为在利用这个设备修复数据库后,需要使用备份时的联机重做日志进行恢复,
可以指定 firmat 选项,键备份集保存在指定的存储位置
backup database plus archivelog format 'u01/app/oracle/oradata/ENMOEDU/%U.BKP'.
可以执行list backup of database 命令查看备份集与备份段信息
list backup of database;
2. 备份表空间
可以使用backup tablespace 命令 备份一个或多个表空间,备份表空间可以是只读的,可也以是读写状态的表空间,数据库也可以是在加载状态,也可以是在打开的状态。
如果备份的是system 表空间的而且数据库是使用服务器初始化参数文件启动的,那么rman 将会自动备份控制文件和服务器初始化参数文件,如果启动可控制文件的自动备份功能,控制文件和服务器初始化参数文件将备份到一个独立的备份片,否则被备份到包含文件为1 的数据文件的备份集。
可以使用命令backup tablespace 命令指定的表空间。
rman> rman tablespace system,users,format 'u01/app/oracle/oradata/ENMOEDU'.
可以执行list backup of tablesapce 命令查看表空间的备份
3.备份数据文件
可以使用 backupdatafile 命令备份一个或多个数据文件,可以通过数据文件名称或数据文件 编号指定要备份的数据文件
backup datafile '/u01/app/oracle/oradata/ENMOEDU/users01.dbf','/u01/app/oracle/oradata/ENMOEDU/users02.dbf','/u01/app/oracle/oradat/%U.dbf'.
或者
backup  datafile  4,6 format '/u01/app/oracle/oradata/%U';
可以执行list backup of  datafile 命令查看数据文件的备份信息;

4 备份控制文件
控制文件既可以采用手动备份,也可以自动备份。
控制文件自动备份触发条件是,当你执行backup 或 copy 命令备份数据库或者数据库结构发生变化的时候,此时将自动备份控制文件和服务器原始参数文件,控制文件的备份中包含之前的备份的信息,这些信息对数据库的恢复时至关重要的。
(1)启动控制文件的自动备份功能:
rman > configurr  contrilfile  autobackup on ;
或 rman > configurr contrilfile autobackup format for device type disk   to '%F';
(2)如果没有启动数据库控制文件的自动备份功能,
执行backup current  controlfile   命令
在backup 命令中使用 include current controlfile 
也可以在备份其他对象的时候 同时进行控制文件的备份。
backup device type sbt tablespace users format 
inclued current controlfile
或者
backup tablespace user 
inclued current controlfile;
(3)也可以对控制文件进行复制。
backup as copy current controlfile  format '/u01/app/oracle/oradata/ENMOEDU/controlfile01.ctl',
(4)可以将控制文件的镜像复制由磁盘备份到磁盘。
backup  device type sbt 
controlfilecope  '/u01/app/oracle/oradata/ENMOEDU/CONTROLDFLE01.CTL',
(5)可以执行list backup or controlfile查看控制文件的备份信息。 
list backup  of controlfile 

5. 备份服务器初始化参数文件
如果数据库是使用服务器初始化参数文件启动的,那么在备份文件号为1 的数据文件是,将自动备份服务器初始化参数文件,如果启动了控制文件自动备份功能,那么自动备份控制文件的同时也将备份初始化参数文件;
可以使用backup spfile 命令手动备份当前数据库使用的服务器初始化参数文件,
rman > backup spfile format '/u01/app/oracle/oradata/ENMOEDNU/%u',
查询备份情况
list backup of spfile;

6备份归档重做日志
归档重做日志是成功进行数据库介质恢复的基础,因此需要经常对归档重做日志文件进行备份.在rman 中也可以使用 BACKUP ARCHIVELOG  命令备份归档重做日志文件也在其他的数据文件的时候,表空间,控制文件的时候进行 归档重做日志备份。
注意。如果数据库的归档重做日志存储多个归档目标中,rman 只会对对第一个归档目标中的归档重做日志文件进行备份,如果某个归档重做日志文件损坏了,rman 会自动 从第二个归档读取该重做日志、
(1) 使用backup archivelog 命令备份归档重做日志
a 备份所有可用的归档重做日志文件,包括当前的联机重做日志文件,
rman > backup archivelog all,
执行此命令的时候 系统会自动的进行一次重做日志切换,将当前的联机重做日志文件归档。
b  备份所有可用的归档重做日志文件,然后删除归档重做日志文件,
backup devce type abt archivelog all delete all input;
c 备份指定日志序列号的归档重做日志文件。
backup aechivelog from sequence 400 until sequence 405;
d. 备份指定时间段的归档重做日志文件。
backup archivelog
from time 'sysdata-30' until time 'sysdate-7';
e. 根据备份策略需要备份的归档重做日志文件,
backup archivelog all not backup up 2 times;
(2) 使用 backup plus archivelog 
如果使用了 plus archivelog 选项,则在备份数据文件,控制文件或者其他对象的同时将备份归档重做日志,
a 运行alter system archivelog current 归档当前的联机重做日志。
b 运行backup  archivelog all 命令备份所有的归档重做日志文件,如果启动了备份优化功能呢,则值备份没有被备份非归档重做日志。
c 利用backup  命令对指定对象进行备份。
d 再次运行altersystem archivelog  current 语句进行归档。
e.继续对新生成的尚未备份的归档重做日志进行备份。
例如
rman > backup database plus archivelog format '/u01/app/oracle/oradata/ENMOEDU /%u';

7 非归档模式下的备份
如果数据库运行在非归档模式,利用RMAN 只能在数据库处于加载的状态下进行一致性备份
在非归档的模式下,进行一致性完全备份。
rman > shutdown immediate;
rman> startup mount;
rman > backup incremental level 0 maxsetsize 10m database;
rman> backup current controlfile;
alter database open;

8 多副本备份
(1)利用backup copies 实现多副本备份
rman > backup copies 2 tabledpace users
format '/u01/app/oracle/oradata/ ENMOEDU/@U';
可以用list backup summary 查看所有的备份副本个数 ;
list backup summary;
(2) 利用 set backup copies 命令实现多副本备份
rman > run
           { set backup copies=2;
            backup device type disk
            format 'u01/app/oracle/oradata/ENMOEDU/%U'; TABLESPACE USER;
           }
list backup sumary;

9 增量备份
首先利用backup incremental  命令对整个数据库进行一次级别为零的增量备份例如;
backup incremental level=0 database format '/u01/app/oracle/oradata/ENMOEDU/%u';
对单独的表空间或者单独的数据文件进行级别为0 或者1 的增量备份
backup incremental  level=1 tablespace user format datafile 4;
默认的增量备份是差异增量备份,以最近的级别为0或1的增量备份为参照。备份被修改的数据块,如果要创建累积增量备份,需要在backup 命令中指定cumulative 选项;
rman > backup incremental level=1 cumulative tablespace users;
执行list backup of database 命令查看备份信息;
rman > list backup of database;

10 镜像复制
(1) 为整个数据库创建 镜像复制
rman > backup as copy database format '/u01/app/oarcle/oradata/ENMOEDU /%U';
list copy of database;
(2)为 数据文件创造镜像复制
rman > backup as copy datafile 5 format '/u01/app/oracle/oradata/ENMOEDU/%u';
 可以通过backup as copy datafilecopy  命令备份数据文件已有的镜像复制
rman > backup as copy datafilecopy '/u01/app/oracle/oradata/ENMOED/'%U';
控制文件和归档重做日志都一样。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30176559/viewspace-1670239/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30176559/viewspace-1670239/

你可能感兴趣的:(数据库)