使用rman backup命令创建备份系列之服务器管理的一致备份

来源:互联网 发布:ubuntu 安装 kde桌面 编辑:程序博客网 时间:2024/06/06 18:57

使用rman backup命令创建备份系列之服务器管理的一致备份:
rman可创建的所有备份类型都由backup命令启动。以前有一个copy命令,用于创建映像副本,为了向后兼容,现在的版本对该命令仍有支持,但其功能已被包含到backup命令中。
服务器管理的一致备份:
脱机备份时关闭数据库时执行的备份,也有人将其称为关闭状态的备份,冷备份或一致备份。要了解一致备份,必须了解Oracle的体系结构。要使数据文件保持一致,必须对数据文件中的每个块执行检

查点操作,而且操作系统已经关闭了此文件。在一般的运行中,数据文件并不一致:有很多块已经复制到数据库高速缓冲区,执行了更新,但未写回磁盘,因此磁盘上的数据文件与数据库的实时状态不

一致,一些内容已经过时,为使数据文件保持一致状态,必须将所有更改的块刷新到磁盘,并关闭数据文件。一般而言,这会在数据库干净关闭时发生。
   只有数据库处于加载状态时才能执行rman一致备份。其原因在于,rman需要读取控制文件,以便查找数据文件,如果在加载模式下尝试执行用户管理的操作系统备份,则将无效。因为在加载模式中,
当复制控制文件时,可能已经对控制文件执行了写操作。这样,副本就会变得不一致。因而失去了作用。rman通过获取控制文件的读一致性快照并对其进行备份,避免此问题的发生。

有三种使用rman的技术:交互界面,脚本接口(通过操作系统的调度程序运行作业)和Enterprise Mannager界面(用于生成脚本):
如下rman脚本用于执行脱机--全部--完整备份:

RMAN> run{
2> shutdown immediate;
3> startup mount;
4> allocate channel d1 type disk;
5> backup as backupset database
6> format 'd:\offline_fullo_whole.bus';
7> alter database open;
8> }
其中,run{}块中的亲两个命令用于执行干净关闭,然后以加载模式备份数据库。之后,脚本启动称为通道的服务器进程执行备份。其中,通道是一个磁盘通道,因为是用于磁盘上的备份;另一个通道类

型是sbt_tape,用于磁带设备的备份。下一个命令启动备份操作,属于backupset类型。备份集是rman的一个专用结构,可以将多个输入文件组合成一个输出文件。关键字database表示rman备份整个数据

文件和控制文件的集合。rman从不备份联机重做日志文件成员或临时文件。关键字format命令将包含备份集的文件。最后,打开数据库。
(注:rman从来不备份联机重做日志文件或临时文件。它备份数据文件,归档日志文件,控制文件,控制文件和spfile)。
当然,我们也可以写好一个脚本,保存为*.rman的格式,然后调用它。如下:
whole.rman:
shutdown immediate;
startup mount;
backup as backupset database
format 'd:\whole.bus';
alter database open;

调用whole.rman脚本:
RMAN> @d:\whole.rman