一RMAN是Oracle提供的一个数据库备份和恢复工具 特点 )备份和恢复数据库表空间控制文件数据文件和归档文件 )校验备份数据集 )通过备份检查损坏块 )增量备份 )脚本能力 )备份和恢复获得更好的性能 )结合OS一起实现自动备份 )支持OPS
二RMAN的一些术语 Target Database 被管理目的数据库 Recover Catalog 存储备份信息的数据库用户 Channel 在备份和恢复时使用的通道文件或磁带 Backup set 一次的备份操作输出的一个或多个文件 Backup piece 备份集中的一个物理文件称为piece Image copies 数据库文件的一个拷贝
使用rman的准备 将要备份的数据库设成归档模式(具体方法精华区里有详细介绍) 用dbca创建rman数据库(可以在本机也可以在其他机器) windows在注册表unix在profile里修改参数 NLS_DATE_LANGUAGE=AMERICAN NLS_DATE_FORMAT=MON DD YYYY HH:MI:SS 创建用户rman create tablespace rman_ts datafile c:\oracle\oradata\rmantsdbf size m default storage( initial k next k pctincrease ) create user rman identified by rman default tablespace rman_ts Temporary tablespace temp quota unlimited on rman_ts grant recovery_catalog_owner to rman; grant connectresource to rman;
开始使用 )C:\>rman RMAN>connect catalog rman/rman@rman RMAN>create catalog tablespace rman_ts RMAN>connect target system/manager RMAN>register database; RMAN>resync catalog; )全部备份 RMAN>Run { > Allocate channel c type disk; > Backup full filesperset > (database format e:\bk\full_%p%d%s);} )备份表空间USERS 注意表空间名大写 RMAN>run{ > allocate channel c type disk; > backup tablespace USERS filesperset > format e:\bk\users_%t%s%p; > } 其它备份方式看我具体步骤作了这么多眼花了
以下是我操作时从屏幕拷贝下来的内容 C:\>rman RMAN>connect catalog rman/rman@rman RMAN连接到恢复目录数据库 RMAN未安装恢复目录 RMAN>create catalog tablespace rman_ts RMAN恢复目录已创建 RMAN>connect target system/manager RMAN连接到目标数据库TULIP (DBID=) RMAN>register database; RMAN正在编译命令register RMAN正在执行命令register RMAN注册在恢复目录中的数据库 RMAN正在执行命令full resync RMAN正在启动全部恢复目录的 resync RMAN完成全部 resync RMAN>resync catalog; RMAN正在编译命令resync RMAN正在执行命令resync RMAN正在启动全部恢复目录的 resync RMAN完成全部 resync
全部备份 RMAN>Run { > Allocate channel c type disk; > Backup full filesperset > (database format e:\bk\full_%p%d%s);} RMAN正在编译命令allocate RMAN正在执行命令allocate RMAN分配的通道c RMAN通道 csid= devtype=DISK RMAN正在编译命令backup RMAN正在执行命令backup RMAN通道 c正在启动 full 数据文件备份集 RMANset_count= set_stamp= creation_time=月 :: RMAN通道 c正在指定备份集中的数据文件 RMAN输入数据文件 fno= name=C:\ORACLE\ORADATA\TULIP\USERSDBF RMAN输入数据文件 fno= name=C:\ORACLE\ORADATA\TULIP\DRDBF RMAN输入数据文件 fno= name=C:\ORACLE\ORADATA\TULIP\TEMPDBF RMAN通道 c已创建 段 RMAN段 handle=E:\BK\FULL_TULIP comment=NONE RMAN备份集完成经过时间:: RMAN通道 c正在启动 full 数据文件备份集 RMANset_count= set_stamp= creation_time=月 :: RMAN通道 c正在指定备份集中的数据文件 RMAN输入数据文件 fno= name=C:\ORACLE\ORADATA\TULIP\SYSTEMDBF RMAN备份集中包括当前控制文件 RMAN输入数据文件 fno= name=C:\ORACLE\ORADATA\TULIP\INDXDBF RMAN通道 c已创建 段 RMAN段 handle=E:\BK\FULL_TULIP comment=NONE RMAN备份集完成经过时间:: RMAN通道 c正在启动 full 数据文件备份集 RMANset_count= set_stamp= creation_time=月 :: RMAN通道 c正在指定备份集中的数据文件 RMAN输入数据文件 fno= name=C:\ORACLE\ORADATA\TULIP\RBSDBF RMAN输入数据文件 fno= name=C:\ORACLE\ORADATA\TULIP\TOOLSDBF RMAN通道 c已创建 段 RMAN段 handle=E:\BK\FULL_TULIP comment=NONE RMAN备份集完成经过时间:: RMAN正在执行命令partial resync RMAN启动部分恢复目录的 resync RMAN完成部分 resync RMAN释放的通道c
备份表空间USERS 注意表空间名大写 RMAN>run{ > allocate channel c type disk; > backup tablespace USERS filesperset > format e:\bk\users_%t%s%p; > } RMAN释放的通道c RMAN正在编译命令allocate RMAN正在执行命令allocate RMAN分配的通道c RMAN通道 csid= devtype=DISK RMAN正在编译命令backup RMAN正在执行命令backup RMAN通道 c正在启动 full 数据文件备份集 RMANset_count= set_stamp= creation_time=月 :: RMAN通道 c正在指定备份集中的数据文件 RMAN输入数据文件 fno= name=C:\ORACLE\ORADATA\TULIP\USERSDBF RMAN通道 c已创建 段 RMAN段 handle=E:\BK\USERS_ comment=NONE RMAN备份集完成经过时间:: RMAN正在执行命令partial resync RMAN启动部分恢复目录的 resync RMAN完成部分 resync RMAN释放的通道c
备份数据文件 RMAN>run{ > allocate channel c type disk; > backup datafile c:\oracle\oradata\tulip\usersdbf > format e:\bk\users%t%s%p; > } RMAN正在编译命令allocate RMAN正在执行命令allocate RMAN分配的通道c RMAN通道 csid= devtype=DISK RMAN正在编译命令backup RMAN正在执行命令backup RMAN通道 c正在启动 full 数据文件备份集 RMANset_count= set_stamp= creation_time=月 :: RMAN通道 c正在指定备份集中的数据文件 RMAN输入数据文件 fno= name=C:\ORACLE\ORADATA\TULIP\USERSDBF RMAN通道 c已创建 段 RMAN段 handle=E:\BK\USERS comment=NONE RMAN备份集完成经过时间:: RMAN正在执行命令partial resync RMAN启动部分恢复目录的 resync RMAN完成部分 resync RMAN释放的通道c |