RMAN的功能:
- 备份整个数据库,数据文件,控制文件和归档日志文件;
- 压缩备份,当压缩的备份有数据块更改的时候,只备份那些被更改的数据块;
- 执行增量备份
- 支持脚本的编写来对任务进行组合
- 记录备份操作日志
- 能够和第三方磁带软件集成
- 能够提供catalog信息报告和列表
- 能够将备份信息存储在oracle数据库的catalog中
- 能够增强性能:例如并行执行备份和恢复
- 为测试库和开发库复制数据库
- 测试备份集能否成功的进行恢复
- 检查在介质中的备份集是否有效
在Oracle10g中RMAN的新特性:
- 跨操作系统平台迁移数据文件
- 使用flashback恢复用户错误
- 自动的TSPITR(tablespace point-in-time recovery)
- 删除数据库
- 使用备份集和flash recovery
- 创建和使用RAMN备份集
- 配置默认的磁盘备份类型
- 恢复没有备份的数据文件
- 数据库变更追踪
- 从catalog中删除一个数据库
- 压缩RMAN备份集
- 增强的错误报告
除RMAN外,还有有两种数据库备份和恢复的方法
- 用户管理的
- 数据库管理的:exp和data pump
几种备份方法的比较
功能 | RMAN | 用户管理的 | 数据库管理的 |
SPfile备份 | 支持 | 支持 | 不支持 |
口令文件备份 | 不支持 | 支持 | 支持 |
数据库关闭时备份 | 支持 | 支持 | 不支持 |
数据库开启时备份 | 支持 | 不支持 | 不支持 |
增量备份 | 支持 | 不支持 | 不支持 |
错误数据库检测 | 支持 | 不支持 | 支持 |
自动备份文件 | 支持 | 不支持 | 支持 |
backup catalogs | 支持 | 不支持 | 支持 |
介质管理 | 支持 | 支持 | 支持 |
平台无关性 | 支持 | 不支持 | 支持 |
1、目标数据库的控制文件
2、建立recovery catalog数据库
recovery catalog数据库中存储的信息包括:
1、备份和恢复信息
2、RMAN脚本
3、数据文件和归档日志的备份信息
4、目标数据库的物理组成和模式信息。
如果要建立recovery catalog数据库,系统中必须有一个RMAN_USER用户,该用户拥有CONNECT,RESOURCE和RECOVERY_CATALOG_OWNER权限。
建立recovery catalog的步骤:
1、在orafan11上建立RMAN存储用的表空间
>create tablespace rmandata
datafile 'D:\app\fanminggy\oradata\orafan11\RMANDATA01.DBF' size 200M
extent management local autoallocate
segment space management auto;
datafile 'D:\app\fanminggy\oradata\orafan11\RMANDATA01.DBF' size 200M
extent management local autoallocate
segment space management auto;
2、在orafan11上数据库服务器上建立用户:
>create user rman_user identified by rman_user default tablespace data temporary tablespace temp;
--给用户授予权限
>grant connect, resource,recovery_catalog_owner to rman_user;
3、在orafan11上RMAN数据库服务器上启动rman 并建立recovery catalog
rman> connect catalog rman_user/rman_user
rman> create catalog tablespace rmandata;
4、连接到备份目标数据库orafan9:
dos>rman target /
rman>connect catalog "rman_user/rman_user@orafan11" --用rman_user用户连接到rman数据库
rman> register database --注册数据库
5、对orafan9数据库进行备份:--需要进行备份的目标数据库orafan9必须处于归档数据库模式(archivelog mode)
rman>run
{allocate channel c1 type disk;backup database format 'db_%u_%d_%s';backup format 'log_t%t_s%s_p%p'(achive all);
}
6、对orafan9数据库进行恢复:--数据库需要至于mounted状态但是不能open
rman>run
{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
resotre database;
recover database;
alter database open;
}