一、备份的术语
关闭与打开(冷备和热备 一致性备份和非一致性备份) 打开的备份只能是归档模式下
全部与局部 局部备份只能是归档模式下。
完整备份和增量备份 增量备份分为 累计增量备份和差异增量备份。
rman 能备份的文件有:数据文件、归档文件、控制文件、spfile,备份集片
不能备份的文件有:redo log 临时文件、口令文件、pfile,oracle net文件。
rman可以分三类 备份集、压缩备份集和影像副本。 备份集是增量或者是完整的,镜像只能是完整的,
备份集
存储库(repository )是有关备份的元数据,存储在控制文件中或者辅助数据库中。
二、创建备份
1、一致性备份。
rman而言: 干净的关闭数据库,启动到mount状态。备份数据库(rman读取控制文件的快照实现)
mount状态下用户管理的全备份无效,因为控制文件会频繁读写。
run{
shutdown immediate;
startup mount;
allocate channel d tyoe desk;
backup as backupset database
format ‘ d:\1.bak‘;
alter database open;
}
rman target sys/[email protected] @backup.man
2 ) 服务器管理的打开状态的备份。
run{
allocate channel t1 type sbt_disk;
allocate channel t2 type sbt_disk;
backup as compressed backupset filesperset 4 database;
backup as compressed backupset archivelog all delete all input;
}
如果dbwn正在写,会有块断裂,oracle会尝试再次复制他。
backup as backupset format ‘/back/df_%d_%f_%s‘ tablespace users %d 数据库id 备份机编号 备份片编号。
backup as backupset datafile 4
backup as backup archivelog like ‘/ach/arch_1_%‘
3)增量备份
起点是0级,backup as backupset incremental level 0 database;
默认一级备份也会读取整个文件,优点是检查坏块,缺点是慢,可以开启块跟踪, CTWR进程。
块跟踪文件位于:db_create_file_dest。
alter database enable block tracking useing file ‘d:\1.dbf‘
校验: select * from v$block_change_tracking --大小
select program from v$process where program like ‘%CTWR%‘
使用v$backup_datafile进行跟踪。
4)副本备份
控制文件、日志文件、数据文件组成,不能有spfile??
backup as copy database;
backup as copy archivelog all delete all input。
5)保护备份
backup as backup devicce type disk copies database plus archivelog;
backup device type sbt_tape backupset all delete all input; 将磁带上的备份拷贝到磁盘上。
backup recovery area;
backup recovery files;
6)并行化备份
启动备份会至少启动 默认会话和轮询会话:读写磁盘或者磁带时,需要第三个会话:通道。
select username,program from v$session order by program;查询这三个会话。
并行备份:通道数、备份集数、输入文件数
backup as backupset database files per set 8;如果100个文件,则13个备份机,并行度是4.
7)加密备份
set encryption algorithm ‘aes256’ identified by pa55word;
backup as compressed backupset database format ‘/u01/sss。bak’;
还原时要增加
set decryption identified bu pa55word才可以。
三、配置rman默认值
show all 显示配置的数值。
使用configure进行修改。
----如何再恢复成默认值来着????
四、管理和监视rman备份
1) list 、report 和delete命令
·list backup;
·list copy;
·list backup of database; -- 列出已经执行并记录在仓库中的所有备份
·list backup of datafile 1; -- 列出数据文件的所有备份
·list backup of archivelog all; -- 列出归档的重做日志文件的所有备份
·report need backup; -- 需要备份的所有内容(根据rman的配置保留策略)
·report obsolete; -- 不再需要的所有备份(根据rman的配置保留策略)
·crosscheck -- 强制rman将仓库与实际要求对比,所丢失内容标记为EXPIRED.
·delete expired -- 从仓库删除对过期备份的引用
·delete obsolete -- 从磁盘或磁带中删除所有不再需要的备份,并从仓库删除备份的引用。
·catalog -- 将用户管理的备份的位置包含在仓库中.
2)归档备份:
backup XXX keep { forever | until time xxxx } [ restore point XXXX] -----restore point XXXX 是在控制文件中的名称。
归档日志被移走后v$archived_log仍存在的处理:
rman target /
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all
RMAN> exit
3)动态性能视图:
v$backup_files
v$backup_set
v$backup_peace
v$backup_redolog --一条redo备份一行记录
v$backup_spfile -- 一条spfile 一行信息
v$backup_datafile --
v$backup_device --rman连接到的sbt
v$rman_configuration --rman配置信息。
4)交叉检验
crosscheck backup of database;
delete expired --不删除文件,只是将资料库中删除croesscheck是标记为expired的备份。
delete obsolete --删除磁盘文件和资料库记录。
原文地址:https://www.cnblogs.com/hezt1114/p/8979498.html