首先汇总一下Oracle的几种备份方式:
一致性备份
SCN机制(系统提交号)就是为了保证数据库的一致性。
Oracle在一致性关库下进行的备份,此时数据文件头部记录的SCN与控制文件中记录的SCN保持一致,可以在非归档模式下进行。
非一致性备份
Oracle在运行期间进行的不停机备份,此时数据文件头部记录的SCN与控制文件中记录的SCN不保持一致,必须在归档模式下进行。
恢复时,需要应用归档日志文件,重做日志文件实现恢复。
冷备份
表示在数据库关闭的情况下,进行的备份,也叫脱机备份;
将数据文件进行镜像拷贝,保存在其他地方;
这个时候,数据库要进行一致性关闭;
可以进行whole backup(完整备份,包括数据文件、控制文件、日志文件等)
热备份
数据库在启动的状态下,进行的备份,称之为热备份;
这样的状态下产生的备份是不一致备份;
利用这样的创建的备份需要日志作为恢复的补充;
所以说,如果要进行热备份,需要将数据库置为归档模式;
在进行热备份时会出现分割块,Oracle的处理方式是,在数据块修改前,将其块镜像记录到redo中,当恢复时,将redo中的块副本作为实例恢复的起点。(这也是进行热备份会产生大量日志的原因)
在进行热备份时,会产生检查点冻结,当热备份结束后,再进行更新检查点。
alter database begin backup
alter database end backup
热备份级别:
全库级别热备份(冻结全库检查点)
表空间级热备份(冻结表空间检查点)
物理备份
将数据库的数据文件复制到其他位置,保持数据文件的一种方式
使用物理备份恢复时,可以应用日志,达到数据库出现故障时刻。
逻辑备份
数据泵方式expdp impdp,只关注数据部分,不备份数据文件。
不可以应用日志。
手工备份
手动进行操作系统上文件的拷贝。cp命令,属于文件级别。
RMAN备份
执行RMAN工具进行自动备份指定文件,RMAN备份属于块级别备份。