备份恢复概述
官方文档入口:
Backup and Recovery User‘s Guide ---> Part VIII Performing User-Managed Backup and Recovery
1 Oracle体系结构
1.1 oracle server结构
1.2 内存结构
1.3 进程结构
1.4 存储结构
SYSTEM和SYSYAUX表空间:
- SYSTEM和SYSAUX表空间是必须存在的表空间
- 这些表空间是在创建数据库时创建的
- SYSTEM表空间用于核心功能(如数据字典表)
- 辅助的SYSAUX表空间用于附加的数据库组件(如Oracle Enterprise Manager Repository)
段、区和块:
- 段存在于表空间中
- 段由区的集合构成
- 区是数据块的集合
- 数据块会映射到磁盘块
1.5 体系结构小结
-
内存结构
- 系统全局区(SGA):数据库缓冲区高速缓存、重做缓冲区以及各种池
- 程序全局区(PGA)
-
进程结构
- 用户进程和服务器进程
- 后台进程:SMON、PMON、DBWn、CKPT、LGWR、ARCn等
-
存储结构:
- 逻辑:数据库、方案、表空间、段、区和Oracle块
- 物理:数据文件、控制文件和重做日志文件
1.6 实例启动的三阶段
2 数据库故障类型
哪些任务需要备份和恢复功能:
-
保护数据保留数据保留数据
- 介质故障
- 用户错误
- 应用程序错误
- 传输数据
1)user process failure用户进程故障: pmon自动处理
2)instance failure实例故障: smon自动处理
3)user errors用户错误: 需要dba通过备份恢复解决
4)media failure介质故障: 必须通过备份和日志恢复
3 备份和恢复计划
1)根据生产环境的恢复周期,制定详细的备份计划,然后严格执行
2)对备份,要在一定的时间内利用测试环境,进行故障恢复的练习
4 备份恢复分类
4.1 逻辑备份与恢复--面向object
- 传统的导入导出:exp/imp
-
数据泵导入导出:expdp/impdp
- 逻辑备份就是热备数据库对象某一时刻状态,不能运用在media failure上,逻辑备份的恢复就是还原备份,没有recover的概念
4.2 物理备份与恢复--面向media failure
- 手工备份与恢复,也叫用户管理的备份与恢复(UMAN),通过OS的命令,完成备份与还原, 然后再运用日志进行恢复
- 自动备份与恢复,利用oracle的备份恢复工具RMAN,使还原与恢复过程自动完成
物理备份从方式上可以有一致性备份(冷备)和非一致性备份(热备)
完整的备份策略应该以物理备份为主,逻辑备份为辅(用于备份一些重要的表)
restore:还原(转储)
recover:恢复
4.2.1 实例恢复原理与数据库一致性
自动实例或崩溃恢复;
- 由于试图打开其文件在关机时未同步的数据库而导致的
- 使用存储在重做日志组中的信息来同步文件
-
涉及两个不同的操作:
- 前滚:重做日志更改(已提交和未提交)应用于数据文件
- 回滚:已作出但未提交的更改将返回到其原始状态
很常用的三个查询命令(******):
select current_scn,checkpoint_change# from v$database;
select file#,checkpoint_change#,last_change# from v$datafile;
select file#,checkpoint_change# from v$datafile_header;
看mount状态last_change#,有值,说明之前正常关库,open时不需要进行实例恢复;没有值,说明之前非正常关库,open时需要进行实例恢复instance recovery
4.3 闪回技术--面向人为的逻辑错误
一种利用undo数据或闪回日志的快速恢复技术。可以针对不同层面问题进行逻辑恢复,11g支持七种flashback方式
5 完全恢复与不完全恢复
media failure后,需要运用日志进行recover
完全恢复:
利用完整备份或部分备份,可以将datafile恢复到failure前得最后一次commit,不会出现数据丢失
不完全恢复:
需要运用完整备份和日志将database恢复到过去的某个时间点(或SCN),有数据丢失
6 归档与非归档模式
归档模式:redo log写入archive log
非归档模式:没有archive log,redo log file循环覆盖
当处于非归档模式下时,在丢失数据文件后唯一的选择是执行完整的数据库还原,而不能进行recover
非归档模式只能进行冷备(一致性备份),只能进行完整还原(还原到最后一次备份)
归档模式可以冷备也可以热备(非一致性备份),可以恢复到最后一次commit
查看当前归档模式:非归档模式
archive log list;
select file_id,tablespace_name from dba_data_files;
6.1 开归档
6.1.1 创建存放归档日志目录赋予权限
mkdir /u01/arch
ls -ld /u01/arch
6.1.2 修改初始化参数文件
alter system set log_archive_dest_1=‘location=/u01/arch‘;
alter system set log_archive_format=‘arch_ORCL_%t_%s_%r.dbf‘ scope=spfile;
6.1.3 正常关库,启动到mount状态
shutdown immediate;
startup mount;
6.1.4 开归档、开库
alter database archivelog;
alter database open;
archive log list;
切日志组,查看归档生成情况
alter system switch logfile;