一:RMAN是Oracle提供的一个数据库备份和恢复工具。
特点:
1)备份和恢复数据库、表空间、控制文件、数据文件和归档文件
2)校验备份数据集
3)通过备份检查损坏块
4)增量备份
5)脚本能力
6)备份和恢复获得更好的性能
7)结合OS一起实现自动备份
8)支持OPS
----------------------------------------------------------------------------
二:RMAN的一些术语
Target Database 被管理目的数据库
Recover Catalog 存储备份信息的数据库用户
Channel 在备份和恢复时使用的通道,文件或磁带
Backup set 一次的备份操作输出的一个或多个文件
Backup piece 备份集中的一个物理文件称为piece
Image copies 数据库文件的一个拷贝
------------------------------------------------------------------------------
3:使用rman的准备
1:将要备份的数据库设成归档模式。(具体方法精华区里有详细介绍)
2:用dbca创建rman数据库(可以在本机也可以在其他机器)
3:windows在注册表,unix在.profile里修改参数:
NLS_DATE_LANGUAGE=AMERICAN
NLS_DATE_FORMAT=MON DD YYYY HH24:MI:SS
4:创建用户rman
create tablespace rman_ts datafile 'c:\oracle\oradata\rmants.dbf'
size 20m
default storage(
initial 100k
next 100k
pctincrease 0
)
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 connect,resource to rman;
------------------------------------------------------------------------------
4:开始使用
1)C:\rman
RMANconnect catalog rman/rman@rman
RMANcreate catalog tablespace rman_ts
RMANconnect target system/manager
RMANregister database;
RMANresync catalog;
2):--全部备份:
RMANRun {
2 Allocate channel c1 type disk;
3 Backup full filesperset 3
4 (database format 'e:\bk\full_%p%d.%s');}
3):--备份表空间USERS 注意表空间名大写。
RMANrun{
2 allocate channel c1 type disk;
3 backup tablespace "USERS" filesperset 1
4 format 'e:\bk\users_%t%s.%p';
5 }
其它备份方式看我具体步骤,作了这么多眼花了。
-----------------------------------------------------------------------------
以下是我操作时从屏幕拷贝下来的内容
C:\rman
RMANconnect catalog rman/rman@rman
RMAN-06008:连接到恢复目录数据库
RMAN-06428:未安装恢复目录
RMANcreate catalog tablespace rman_ts
RMAN-06431:恢复目录已创建
RMANconnect target system/manager
RMAN-06005:连接到目标数据库:TULIP (DBID=3789239814)
RMANregister database;
RMAN-03022:正在编译命令:register
RMAN-03023:正在执行命令:register
RMAN-08006:注册在恢复目录中的数据库
RMAN-03023:正在执行命令:full resync
RMAN-08002:正在启动全部恢复目录的 resync
RMAN-08004:完成全部 resync
RMANresync catalog;
RMAN-03022:正在编译命令:resync
RMAN-03023:正在执行命令:resync
RMAN-08002:正在启动全部恢复目录的 resync
RMAN-08004:完成全部 resync
--------------------------------------------------------------------
--全部备份:
RMANRun {
2 Allocate channel c1 type disk;
3 Backup full filesperset 3
4 (database format 'e:\bk\full_%p%d.%s');}
RMAN-03022:正在编译命令:allocate
RMAN-03023:正在执行命令:allocate
RMAN-08030:分配的通道:c1
RMAN-08500:通道 c1:sid=16 devtype=DISK
RMAN-03022:正在编译命令:backup
RMAN-03023:正在执行命令:backup
RMAN-08008:通道 c1:正在启动 full 数据文件备份集
RMAN-08502:set_count=2 set_stamp=505150811 creation_time=9月 19 2003 15:40:11
RMAN-08010:通道 c1:正在指定备份集中的数据文件
RMAN-08522:输入数据文件 fno=00003 name=C:\ORACLE\ORADATA\TULIP\USERS01.DBF
RMAN-08522:输入数据文件 fno=00007 name=C:\ORACLE\ORADATA\TULIP\DR01.DBF
RMAN-08522:输入数据文件 fno=00004 name=C:\ORACLE\ORADATA\TULIP\TEMP01.DBF
RMAN-08013:通道 c1:已创建 1 段
RMAN-08503:段 handle=E:\BK\FULL_1TULIP.2 comment=NONE
RMAN-08525:备份集完成,经过时间:00:00:26
RMAN-08008:通道 c1:正在启动 full 数据文件备份集
RMAN-08502:set_count=3 set_stamp=505150837 creation_time=9月 19 2003 15:40:37
RMAN-08010:通道 c1:正在指定备份集中的数据文件
RMAN-08522:输入数据文件 fno=00001 name=C:\ORACLE\ORADATA\TULIP\SYSTEM01.DBF
RMAN-08011:备份集中包括当前控制文件
RMAN-08522:输入数据文件 fno=00006 name=C:\ORACLE\ORADATA\TULIP\INDX01.DBF
RMAN-08013:通道 c1:已创建 1 段
RMAN-08503:段 handle=E:\BK\FULL_1TULIP.3 comment=NONE
RMAN-08525:备份集完成,经过时间:00:00:45
RMAN-08008:通道 c1:正在启动 full 数据文件备份集
RMAN-08502:set_count=4 set_stamp=505150882 creation_time=9月 19 2003 15:41:22
RMAN-08010:通道 c1:正在指定备份集中的数据文件
RMAN-08522:输入数据文件 fno=00002 name=C:\ORACLE\ORADATA\TULIP\RBS01.DBF
RMAN-08522:输入数据文件 fno=00005 name=C:\ORACLE\ORADATA\TULIP\TOOLS01.DBF
RMAN-08013:通道 c1:已创建 1 段
RMAN-08503:段 handle=E:\BK\FULL_1TULIP.4 comment=NONE
RMAN-08525:备份集完成,经过时间:00:00:46
RMAN-03023:正在执行命令:partial resync
RMAN-08003:启动部分恢复目录的 resync
RMAN-08005:完成部分 resync
RMAN-08031:释放的通道:c1
-----------------------------------------------------------------------------
--备份表空间USERS 注意表空间名大写。
RMANrun{
2 allocate channel c1 type disk;
3 backup tablespace "USERS" filesperset 1
4 format 'e:\bk\users_%t%s.%p';
5 }
RMAN-08031:释放的通道:c1
RMAN-03022:正在编译命令:allocate
RMAN-03023:正在执行命令:allocate
RMAN-08030:分配的通道:c1
RMAN-08500:通道 c1:sid=16 devtype=DISK
RMAN-03022:正在编译命令:backup
RMAN-03023:正在执行命令:backup
RMAN-08008:通道 c1:正在启动 full 数据文件备份集
RMAN-08502:set_count=6 set_stamp=505151314 creation_time=9月 19 2003 15:48:34
RMAN-08010:通道 c1:正在指定备份集中的数据文件
RMAN-08522:输入数据文件 fno=00003 name=C:\ORACLE\ORADATA\TULIP\USERS01.DBF
RMAN-08013:通道 c1:已创建 1 段
RMAN-08503:段 handle=E:\BK\USERS_5051513146.1 comment=NONE
RMAN-08525:备份集完成,经过时间:00:00:07
RMAN-03023:正在执行命令:partial resync
RMAN-08003:启动部分恢复目录的 resync
RMAN-08005:完成部分 resync
RMAN-08031:释放的通道:c1
-------------------------------------------------------------------
--备份数据文件
RMANrun{
2 allocate channel c1 type disk;
3 backup datafile 'c:\oracle\oradata\tulip\users01.dbf'
4 format 'e:\bk\users%t%s.%p';
5 }
RMAN-03022:正在编译命令:allocate
RMAN-03023:正在执行命令:allocate
RMAN-08030:分配的通道:c1
RMAN-08500:通道 c1:sid=16 devtype=DISK
RMAN-03022:正在编译命令:backup
RMAN-03023:正在执行命令:backup
RMAN-08008:通道 c1:正在启动 full 数据文件备份集
RMAN-08502:set_count=7 set_stamp=505151699 creation_time=9月 19 2003 15:54:59
RMAN-08010:通道 c1:正在指定备份集中的数据文件
RMAN-08522:输入数据文件 fno=00003 name=C:\ORACLE\ORADATA\TULIP\USERS01.DBF
RMAN-08013:通道 c1:已创建 1 段
RMAN-08503:段 handle=E:\BK\USERS5051516997.1 comment=NONE
RMAN-08525:备份集完成,经过时间:00:00:07
RMAN-03023:正在执行命令:partial resync
RMAN-08003:启动部分恢复目录的 resync
RMAN-08005:完成部分 resync
RMAN-08031:释放的通道:c1
-----------------------------