2008年(8065)
分类: 服务器与存储
2008-05-28 16:50:53
前面我们已经知道了如何进入rman,以及rman的一些基本命令,相信大家定会觉着rman操作的简单,事实也确实如此,但万不要因此小视rman的强大,简单往往意味着灵活,灵活对于那些有心人则意味着主动权尽在掌握。
一、RMAN备份形式
1、镜像复制(Image Copies)
镜像复制实际上就是数据文件、控制文件或归档文件的复制,与用户通过操作系统命令建立的文件复制实质一样,只不过RMAN是利用目标数据库中的服务进程来完成文件复制,而用户则是用操作系统命令。所以镜像复制的方式体现不出RMAN的优势,也并非我们讨论的重点,大家了解一下即可(啥?想知道镜像复制咋用?卡,问村长去~~~~~)。
2、备份集(Backup Sets)
备份集是通过RMAN创建的逻辑备份对象。一个备份集中可以包含多个数据文件、控制文件或归档文件。备份集在物理上是由多个备份片段组成,每个备份片段是一个操作系统文件。
二、RMAN命令执行方式
在进入演练之前,大家还有必要了解运行rman命令的方式,就目前已知的情况,共有4种运行方式。
1、单个执行(没啥说的,之前的示例都是这种方式)
RMAN>backup database;
2、批处理(呵呵,跳票的补上)
RMAN>RUN{
.......................
.......................
}
批处理方式实质是将原来单个执行的命令组合到一起,并放在run{}之间,这种方式最大的好处是所有在run中的命令被视为一个作业,如果作业中任何一条命令执行失败,则整个命令停止执行,即失败命令后的其它命令都不会再被执行。这种方式是最常使用的方式,特别对于后台执行。
3、运行脚本(又能细分为几种方式如下:)
C:\>rman TARGET / @backup_db.rman
RMAN> @backup_db.rman
RMAN> RUN { @backup_db.rman }
运行存储在恢复目录中的脚本(需要首先为rman创建恢复目录)
RMAN> RUN { EXECUTE SCRIPT backup_whole_db };
看看,够灵活吧。
4、操作系统脚本(linux,windows环境下小有差异,但只是操作系统命令的不同)
C:\>rman cmdfile=backup_db.rman
明眼人看的出来,后两种其实是前面两种加上操作系统命令的综合应用。
三、对数据库进行全备
1、使用backup database命令执行备份
RMAN> BACKUP DATABASE;
执行上述命令后将对目标数据库中的所有数据文件进行备份,由于没有显式指定FORMAT参数,rman会自动为每个备份片段命名,并保存在ORACLE_HOME/database目录下。
当然,也可以通过显式指定format参数来自定义备份片段的命令规则,比如:
RMAN> BACKUP DATABASE FORMAT 'D:\BACKUP\%U';
(关于%U的格式说明,请参考本篇外传。Ooo,外传好像还没写,没关系没关系,大家表着急,我保证大家在有生之年一定等的到的。)
2、通过list命令查看刚刚创建的备份信息:
RMAN> list backup of database;
正在使用目标数据库控制文件替代恢复目录
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
11 Incr 0 827M DISK 00:01:30 26-6月 -07
BP 关键字: 11 状态: AVAILABLE 标记:TAG20070629T150701
段名:D:\BACKUP\0CILGG8L_1_1
备份集 11 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 0 Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\SYSTEM01.DBF
2 0 Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\UNDOTBS01.DBF
3 0 Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\DRSYS01.DBF
4 0 Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\EXAMPLE01.DBF
5 0 Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\INDX01.DBF
6 0 Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\ODM01.DBF
7 0 Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\TOOLS01.DBF
8 0 Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\USERS01.DBF
9 0 Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\XDB01.DBF
10 0 Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA;