可以备份库、表空间、数据文件、控制文件及日志文件 exp不能备份控制文件/数据文件和日志文件
压缩备份可以之备份变化的内容
集成第三方磁带媒介软件
可以在oracle数据库的目录中存放备份信息,及用数据库管理备份信息
RMAN常用概念
目标库
客户端
闪回区(Flash Recovery Aera):存放备份和恢复相关信息的磁盘区域
介质管理 (System Backup to)
恢复目录(Recovery Catalog):一个独立的数据库,用于存放目标数据库的备份,可以存放多个数据库。
恢复目录
一般创建在异地设备中。
创建恢复目录
create tablespace rmtablesapce datafile 'e:\app\admin\oradata\orcl\rmtablespace.DBF'
size 100m autoextend on next 10m maxsize 500m permanent extent management local;create user rm identified by "123456" default tablespace rmtablespace temporary tablespace temp quota unlimited on rmtablespace profile default account unlock;grant dba to rm;
grant connect to rm;
grant resource to rm;
grant recovery_catalog_owner to rm;rman --进入恢复目录管理器connect catalog rm/123456 --通过创建好的恢复目录用户连接到恢复目录数据库。create catalog --创建恢复目录RMAN连接恢复目录
rman target user/password@servicename catalog user/password@servicenameRMAN通道分配
确定连接数据库备份的设置个数
通道-->设备与库进行关联
手动分配:run
自动分配:configure
手动分配
run
{allocate channel ch_name1 device type typename1;
allocate channel ch_name2 devices type typename2;
...
backup...
}register databaserun --单通道备份
{allocate channel c device type disk;
backup tablespace users;
}run
{allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup tablespace users
}自动分配
数据库自己定义分配数量和名称,但管理员徐定义参数(介质类型、通道最大个数、默认介质类型)
configure device type typename parallelism n --最大通道数
configure default device type to typename --默认介质类型configure device type disk parallelism 3;
congigure default device type to disk;
backup tablespace users;RMAN备份
备份集
备份片
创建恢复目录数据库并创建用户
给恢复目录用户赋角色和权限
创建恢复目录
通道备份后会自动释放
run备份一定在rman命令状态下,并且连接到恢复目录和目标数据库前提下。
backup [level] [backup_type] [option]level:1 2 3 4 full
backup_type:database、datafile、tablespace、archivelog all
option:channel、maxsize
backup full tablespace users;RMAN恢复
RESTORE还原
restore objectobject:database、datafile、tablespace、archivelog、controfile
restore:还原
RECOVER恢复
recover object;object:与restore语法一致
FlashBack开启
开启归档日志
mount状态:alter database archivelog;设置闪回区
alter system set db_recovery_file_dest='C:\app\Administrator\flash_recovery_area' scop=both;
alter system set db_recovery_file_dest_size=4G scop=both;
alter system set db_recovery_retention_target=4320 scop=both;
在mount状态下,开启flashback
alter database flashback on;RMAN初级
Rman连接本地数据库之前必须设置系统环境变量ORACLE_SID:并制定该值定于目标数据库的实力名。
本地连接允许操作系统验证。ORACLE_SID必须大写
命令:host:暂时退出
Rman备份类型
镜像备份(Image Copies):利用目标数据库服务进程完成文件复制,实质上就是创建数据文件/控制文件和归档日志文件(了解)
备份集(Backups Sets):Rman创建具有特定格式的逻辑备份文件,由备份片段组成。
命令执行方式
单个执行
批处理
运行脚本
备份初级
全库
backup database; --未指定保存路径backup database format 'f"/backup/bak_%U'list backup of database;--查看全库备份表空间
backup tablespace users;list backup of tablespace users;delete backupset 10;数据文件备份
指定数据文件名称
数据文件详细路径
FILE_ID
select file_id,file_name from dba_data_file;backup datafile 'f:\oracle\oradata\orcl\users01.dba'format 'f:\backup\da_%U';--datafile可以指定详细路径 也可以制定file_id;
list backup of datafile a;--n制定数据文件序列号,可以为多个序列号
控制文件的备份
控制文件方式灵活
手动
backup current controlfile;执行backup命令时制定include current controlfile
backup database include current controlfile;--任何备份时都可制定备份控制文件backup current controlfile include current controlfile; --逗你玩备份数据库的1号文件
backup datafile 1;4.设置自动备份
configure controlfile autobackup on;list backup of controlfile;归档文件备份
单独备份
backup archivelog all;--all可替换为until、scn、time、sequence2.备份时指定'plus archivelog'
backup current controlfile plus archivelog;--备份控制文件前先对国有归档文件进行备份plus archivelog过程:
运行alter system archive log current归档当前redolog;
执行backup archivelog all;
执行backup命令备份指定项;
再次归档redolog;
对新生成的未备份归档文件进行备份
完成归档日志备份后,需要删除已备份过的归档文件(归档文件记录了数据库进行的所有操作,如果数据库操作频繁,归档文件会增加)rman 提供了delete all input 参数,加在backup后,则会在完成备份后自动删除归档目录中已备份的归档日志。
list backup of archivelog all;初始化参数文件备份
通常备份控制文件会自动备份参数文件,如特殊需要,
backup spfile;备份备份集
backup backuset all;
backup backupset n;
RMAN命令
List
show all;
show controlfile autobackup;
list backup;
list backup of controfile;
list backup of datafile 'f:\oracle\oradata\scott.emp.dbf';
list backup of datafile n;--文件序列号可通过v$datafile、dba_data_files;
list backup of archivelog all;
list copy of tablespace 'system';
list device type disk backup;
list archivelog all;
list expired backup;
Delete
用于删除rman备份记录及相应的物理文件。执行rman备份时,会在Rman Repository(资料库)生成备份记录,默认被存放在控制文件。如果配置恢复目录(Recovery Catalog),那么该数据会存放在恢复目录中。
删除过去备份
delete obsolete删除无效备份
delete expired backup;删除expired副本
delets expired backup copy删除特定备份集
delete backupset 9;删除特定备份片
delete backuppiece 'f:\backup\demo_19.bak'删除所有备份集
delete backup;删除特定映像副本
delete datafile copy 'f:\backup\test_3.bak';删除所有映像副本
delete copy在备份后删除输入对象
backup archivelog all delete input;
delete backupset 22 format='f;\backp\bak_3.bak'delete input;
Report
查看7天前的数据库模式
report schema at time 'sysdate-7';查看模式必须连接到catalog数据量查看所有需要备份的文件
report need backup;查看表空间是否需要备份
report need backup tablesapce system;查看过期备份
report obsoleteCrossecheck
检查备份归档物理文件状态,
crosscheck backupChange
修改备份文件或归档文件状态。
change backupset n unavalable;
change backup of tablespace users unavalable;
change archivelog logssq=n unavalabel; -v$archived_log
change archivelog logseq=n delete;
Rman高级
增量备份
增量备份选项
backup incremental level=0 database;--0级全库备份
backup incremental level=1 datafile 'f;\orahome\oradta\users01.dbf';--数据文件1级增量备份
backup incremental level=1 tablesapce users;--表空间1级增量备份
增量备份类型
differential(差异)(默认)、cumulative(累积)
backup incremental level=1 cumulative database; 累积方式全库1级增量备份增量备份注意事项
Block Change Tracking(块修改追踪)
alter database enable block change tracking using file'/loaction/trk_fiename';--启用
alter database disable block change tracking;--禁用
select status from v$block_change_tracking;
备份/恢复时间--此消彼长
rman备份集保留策略
基于时间
configure retention policy to recovery window of n days;基于冗余
configure retention policy to redundancy n;--基于数量configure retention policy to none;--不采用任何保留策略多通道
备份设备:SBT、DISK
手工分配通道
run{
allocate channel c1 device type disk format 'f:\oracle\backup\cn_%U';
backup tablesapce users;
}
自动分配通道
configure device type sbt/disk parallelism n;
configure default device type to sbt/disk;
configure channel device type sbt/disk format...
configure channel n device type sbt/disk format...
是否启用复合备份(Duplexed):
backup copies 3 database;
run{
set backup copies 2;
backup device type disk format 'd:\backup\%U','d:\backup\%U'
tablespace users,sales;
}
configure default device type to disk;
configure datafile backup copies for device type disk to 2;
configure archivelog backup copies for device type disk to 2;
是否使用rman恢复目录(Recovery Catalog)
不要将恢复目录放到目标数据库中
创建独立表空间
create tablespace rmantbs datafile 'f:\oracle\oradata\ramtbs01.dbf'size 100m;创建独立schema用来记录备份信息
grant connect ,resource,recovery_catalog_owner to rmanct identified by rmanct;
通过rman连接到新的恢复目录数据库
rman catalog rmanct /rmanct
在rman中创建catalog
create catalog tablespace tablespace rmantbs;
使用恢复目录前,需要在恢复目录中注册目标数据库
step1.以catalog模式连接目标数据库和恢复目录
rman target / catalog rmanct/rmanct@bakdb;
step2.注册
register database;
#恢复目录只是可选项,可用可不用,取消注册如下
unregister dabatbase;
是否启用备份优化(Backup Optimization)--如果满足特定条件,将跳过某些文件
条件:
configure backup optimization 为on
执行的backup database 或backup archivelog 命令中带有all或like参数
分配通道是只分配了一种设备类型
configure backup optimization on
是否对备份集压缩
backup as compressed backupset tablesapce system;--压缩 会降低恢复速度
backup tablespace system; -非压缩
批处理脚本
rman相关动态性能视图
v$archive_log
v$backup_set
v$backup_piece
v$backup_curruption
v$session
v$process
v$session_longops
Rman恢复
Restore数据库修复、Recover数据库恢复
将数据置于正确的状态:Mount/open
整库:mount
表空间或数据文件级:open
执行完全或不完全恢复
restore
recovery
until
打开数据库。如果执行不完全恢复,打开时必须执行resetlogs.
rman如何寻找备份级:寻找最近的备份集
rman恢复中的自动化:
增量恢复和应用重做日志




