1.1 备份的意义:
1)保护数据,避免因为各种故障而丢失数据
2)MTBF:平均故障间隔时间
3)MTTR:平均恢复时间
1.2 数据库故障的类型:
1)user process failure用户进程故障: pmon 自动处理
2)instance failure 实例故障: smon 自动处理
3)user errors 用户犯的逻辑错误: 需要dba通过备份恢复解决
4)media failure 介质故障: 必须通过备份和日志恢复
1.3 制定你的备份和恢复的计划
1)根据生产环境的恢复周期,制定详细的备份计划,然后严格执行
2)对备份,要在一定的时间内利用测试环境,进行故障恢复的练习
1.4 备份恢复分类
1.4.1 逻辑备份与恢复-- 面向object (对象)
1)传统的导入导出:exp/imp:
2)数据泵导入导出:expdp/impdp
//逻辑备份就是热备数据库对象某一时刻状态,不能运用在media failure上,逻辑备份的恢复就是还原备份,没有recover(恢复)的概念,没有日志,是一个静态(3天前的状态)。
(这里要注意:restore是还原,recover是恢复,需要日志)
1.4.2 物理备份与恢复-- 面向mediafailure
1)手工备份与恢复, 也叫用户管理的备份与恢复,通过OS 的命令(比如复制cp),完成备份与还原,然后再运用日志进行恢复。
2)自动备份与恢复, 利用oracle 的备份恢复工具rman (或其他备份恢复软件),还原与恢复过程自动完成,可以备份恢复ASM FILE。(rman是asm文件唯一的备份恢复方法)
//物理备份从方式上可以有一致性备份(冷备)和非一致性备份(热备)
//完整的备份策略应该以物理备份为主,逻辑备份为辅(用于备份一些重要的表)
1.4.3 闪回技术-- 面向人为的逻辑错误
一种利用undo数据或闪回日志的快速恢复技术。可以针对不同层面问题进行逻辑恢复,11g支持七种flashback方式。
一般的user errors使用逻辑备份还原(闪回)
1.5 完全恢复与不完全恢复
mediafailure后,需要运用日志进行recover。
1)完全恢复:利用完整备份或部分备份,可以将datafile恢复到failure前得最后一次commit,不会出现数据丢失。
2)不完全恢复:需要运用完整备份和日志将database恢复到过去的某个时间点(或SCN),有数据丢失。
1.6 归档与非归档
归档模式:redo log 写入 archivelog
非归档模式:没有archive log,redo log 循环覆盖
手工冷备 手工热备 RMAN冷备 RMAN热备 完整还原 完全恢复 不完全恢复
--------------------------------------------------------------------------------------------------------------------
归档模式: yes yes yes yes yes yes yes
非归档模式: yes no yes no yes no no
*考点:
1)非归档模式运行时,必须备份哪些文件:控制文件和整个数据文件集,备份前必须干净的关闭数据库(冷备)。(在线日志我们可以重新建立出来空日志)
2)当处于非归档模式下时,在丢失数据文件后唯一的选择是执行完整的数据库还原,而不能进行恢复。
3)非归档模式下,RMAN只能做冷备。
1.7 手工备份和和rman备份选择
规模比较小,可以使用手工备份。
有冷备的条件,可以使用手工备份。当然手工备份也可以热备,不过有一些缺陷。
如果数据库比较复杂,比较大,比较重要,而且备份要求效率,经常没有停机时间,而要在线备份,那就选择rman。