1)保护数据,避免因为各种故障而丢失数据。
2)MTBF: 平均故障间隔时间。
3)MTTR:平均恢复时间
1)user process failure: pmon 自动处理
2) instance failure: smon 自动处理
3) user errors : 需要dba通过备份恢复解决。
4)media failure: 必须通过备份和日志恢复。
1)根据生产环境的恢复周期,制定详细的备份计划,然后严格执行
2) 对备份,要在一定的时间内利用测试环境,进行故障恢复的练习。
1) 传统的导入导出: exp/imp
2) 数据泵导入导出: expdp/impdp
// 逻辑备份就是热备数据库对象某一时刻状态,不能运用在media failure 上,逻辑备份的恢复就是还原备份,没有recover的概念。
1) 手工备份与恢复, 也叫用户管理的备份与恢复,通过OS 的命令,完成备份与还原,然后再运用日志进行恢复。
2)自动备份与恢复,利用oracle 的备份恢复工具 rman(或其他备份恢复软件),还原与恢复过程自动完成,可以备份恢复ASM FILE。
// 物理备份从方式上可以有一致性备份(冷备)和非一致性备份(热备)
// 完整的备份应该以物理备份为主,逻辑备份辅助(用于备份一些重要的表)
一种利用undo数据或闪回日志的快速恢复技术。可以针对不同层面问题进行逻辑恢复,11g 支持七种flashback 方式。
media failure 后, 需要运用日志进行recovery.
1) 完全恢复:利用完整备份或部分备份,可以将datafile 恢复到failure 前得最后一次commit,不会出现数据丢失。
2)不完全恢复:需要运用完整备份和日志将database恢复到过去的某个时间点(或SCN),有数据丢失。
归档模式: redo log 写入 archive log
非归档模式: 没有archive log, redo log 循环覆盖。
手工冷备 手工热备 RMAN 冷备 RMAN 热备 完整还原 完全恢复 不完全恢复
-------------------------------------------------------------------------------------------------------------------
归档模式: yes yes yes yes yes yes yes
非归档模式: yes no yes no yes no no
1)数据库全备: 备份database 的所有数据块(datafiles、controlfile)
2) 部分备份:只备份单个表空间或datafile(archivelog 模式)
3) 一致性备份(冷备份) : 在数据库正常关闭情况下做备份,数据库处于一致性状态。
4)非一致性备份(热备份):database在open 状态下备份。
1) 备份和还原使用OS命令
2) 恢复用sqlplus命令: recover
1) 检查需要备份的数据文件
SQL> select name from v$datafile;
SQL> select file_id,file_name,tablespace_name from dba_data_files;
2) 检查要备份控制文件。
SQL> select name from v$controlfile;
3) 在线redo 日志不需要做备份
Note : 对只读的表空间不能做热备份,临时表空间不需要备份,特别强调: NOARCHIVE 模式下不支持手工热备。
1) 在备份前进入backup mode (backup 模式)
即: 执行begin backup (在数据库文件上生成检查点,写入SCN,将来恢复的时候以此scn为起点)
SQL> alter database begin backup; // 对整个库做热备份
SQL > alter database end backup
SQL> alter tablespace users begin backup; // 对表空间做备份
SQL>alter tablespace users end backup; //
2) 备份期间利用v$backup监控
SQL > alter tablespace test begin backup;
SQL> select file#,checkpoint_change# from v$datafile_header; // 在备份期间,scn 不发生变化。
SQL> select * from v$backup;
1)restore : OS 拷贝命令还原所有或部分datafile
2)recover : SQL*PLUS利用归档日志和当前的redo日志做恢复。
recover database: 所有或大部分datafile 丢失,一般是在mount状态完成。
recover tablespace: 非关键表空间损坏,表空间下某些数据文件不能访问,一般是在open下完成。
recover datafile: 单一或少数数据文件损坏,可以在mount或open 状态完成。
recover datafile : 单一或少数数据文件损坏,可以在mount或open 状态完成。
什么是关键文件: 如果关键文件损坏,数据库将不能维持在open 状态,或崩溃或死机。
考点:哪些文件时关键文件: 四个: 1)system01.dbf 2) undo tablespace,3) control file 4) current log file.
1)v$recover_file : 查看需要恢复的datafile
2) v$recovery_log: 查看 recover 需要的redo 日志
3)v$archived_log: 查看已经归档的日志。
3.5 非归档模式下只能做全备的完整还原,还原后仍会缺失联机日志文件(因为只备数据文件和控制文件),需要在mount下发出
alter database clear logfile group<组号>。(如果是在RMAN下还原,这一过程是自动完成的)。
3.6 归档模式下手工完全恢复的实验。
前提: 1) 有一套datafile 全备,2) 使用当前控制文件,3)自上次备份以来的归档日志和当前联机日志是完整的。
范例1:recover database
说明: 由于media failure 所有 datafile 丢失。