Oracle备份有很多种的方法,下面为您介绍的是通过使用RMAN(备份与恢复管理器)实现 Oracle数据库的备份的方法,该方法供您参考,希望对您有所帮助。
i.使用RMAN进行备份
Recovery manager(RMAN)是ORACLE提供的DBA工具,用语管理备份和恢复操作。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,其中包括表空间、数据文件,控制文件和归档文件。RMAN可以按要求存取和执行备份和恢复。
RMAN备份有如下优点
☆支持在线热备份
☆支持多级增量备份
☆支持并行备份、恢复
☆减少所需要备份量
☆备份、恢复使用简单
重要的是,使用恢复管理器允许您进行增量数据块级的Oracle备份(这个与导出/导入的增量截然不同)。增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。另一个空间有效的RMAN特性是它只备份数据文件中使用的数据块,忽略空的,未用的数据块,这个对于预分配空间的表空间有很大的好处。从9i开始,还增加了RMAN的数据块级别的恢复,可以进一步减少数据库恢复时间。
RMAN支持以下不同类型的备份
FULL 数据库全备份,包括所有的数据块
INCREMENTAL 增量备份,只备份自上次增量备份以来修改过的数据块。需要一个0级的增量作为增量的基础,可以支持5级增量。
OPEN 在数据库打开的时候使用
CLOSED 在数据库安装(MOUNT)但不打开的时候备份,关闭备份可以是CONSISTENT或IN CONSISTENT类型的。
CONSISTENT 在数据库安装,单不打开,并且在安装之前数据库被彻底关闭(而不是被破坏或异常退出)时使用。CONSISTENT备份可以简单的进行复原(RESTORE)而不是恢复(RECOVER)
INCONSISTENT 在数据库打开或安装(但不打开)时使用。在该数据库正常关闭或崩溃后, INCONSISTENT备份需要恢复。
理解BACKUP,RESTORE,RECOVER命令,这是RMAN最基本的三个命令,可以进行数据库的备份,复原以及恢复操作。理解恢复目录,RMAN可以在没有恢复目录(NOCATALOG)下运行,这个时候备份信息保存在控制文件。保存在控制文件的备份信息是很危险的,如果控制文件的破坏将导致备份信息的丢失与恢复的失败,而且,没有恢复目录,很多RMAN的命令将不被支持。所以对于重要的数据库,建议创建恢复目录,恢复目录也是一个数据库,只不过这个数据库用来保存备份信息,一个恢复目录可以用来备份多个数据库。
创建RMAN目录,以下步骤说明了在一个数据库中尽力RMAN目录的过程。
a.为目录创建一个单独的表空间SQL>Create tablespace tools datafile ‘fielname’ size 50m;
b.创建RMAN用户SQL>Create user RMAN identified by RMAN default tablespace tools temporary tablespace temp;
c.给RMAN授予权限SQL>Grant connect , resource , recovery_catalog_owner to rman;
d.打开RMAN $>RMAN
e.连接数据库RMAN>connect catalog rman/rman
f.创建恢复目录RMAN>Create catalog tablespace rman
注册目标数据库,恢复目录创建成功后,就可以注册目标数据库了,目标数据库就是需要备份的数据库,一个恢复目录可以注册多个目标数据库,注册目标数据库的命令为:$>RMAN target internal/password catalog rman/rman@rcdb; RMAN>Register database; 数据库注册完成,就可以用RMAN来进行Oracle备份了,更多命令请参考ORACLE联机手册或《ORACLE8i备份与恢复手册》。
RMAN使用脚本来备份数据库,以下是RMAN进行备份的几个例子。
a.备份整个数据库 backup full tag ‘basicdb’ format ‘/bak/oradata/full_%u_%s_%p’ database;
b.备份一个表空间 backup tag ‘tsuser’ format ‘/bak/oradata/tsuser_%u_%s_%p’ tablespace users;
c.备份归档日志 backup tag ‘alog’ format ‘/bak/archivebak/arcbak_%u_%s_%p’ archivelog all delete input;
ii.维护RMAN
RMAN的维护主要分为几个方面
1、查看RMAN的信息
检查现有备份
RMAN>list backup
列出过期备份
RMAN>report obsolete
删除过期的备份
RMAN>allocate channel for maintenance type disk;
RMAN>change backupset id delete;
RMAN>release channel;
2、同步或重置RMAN 如果目标数据库物理对象发生了变化,如添加了一个数据文件,需要用如下命令同步: RMAN>resync catalog; 如果目标数据库reset了数据库,需要用如下命令同步RMAN>reset database; 当手工删除了数据库的归档文件后,要执行以下脚本同步RMAN>allocate channel for maintenance type disk;
RMAN> change archivelog all crosscheck; RMAN>release channel; 当手工删除了数据库的RMAN备份后,要执行以下脚本来同步 RMAN>allocate channel for maintenance type disk; RMAN>crosscheck backup; RMAN>delete expired backup;
【编辑推荐】