--======================
-- Oracle 备份恢复概念
--======================
数据库维护中,备份或恢复是重中之重的问题。尽管很多时候数据库系统运行缓慢,但对数据库数据的丢失而言,显然后者损失的代价是
不言而喻的。因此DBA至少在保证数据不丢失的情况下来提高系统的性能是最起码的要求。关于什么是备份与回复,在此不做赘言。
一、物理备份与逻辑备份
物理备份
是所有物理文件的一个副本,比如数据文件,控制文件,归档日志等。该副本能被存储在本地磁盘或磁带等等。
物理备份是备份或恢复的基础
包括冷备份(非归档模式)或热备份(归档模式)
逻辑备份
将表、存储过程等数据使用Oracle的export等工具导出到二进制文件,后续根据需要再使用import工具导入数据库。
逻辑备份则是对物理备份的方式的一种补充,多用于数据迁移。
二、备份恢复工具
1.使用RMAN来备份恢复,支持命令行及GUI接口,支持第三方磁带库备份,功能比较强大。
支持备份数据库、表空间、数据文件、控制文件、归档日志等
可以保存频繁使用备份恢复脚本
支持增量备份,跳过未使用的块,以及控制备份速度
在备份期间侦测损坏的数据
通过自动并发、限制I/O等提高备份性能
2.用户托管的备份与恢复,是一种手动备份恢复的方式。使用操作系统命令和SQL*plus来完成相关的备份与恢复。
三、备份与恢复的策略
1.多路复用控制文件及多个并发备份
2.多路复用联机重做日志文件
3.在ARCHIVELOG 模式下运行数据库,并将重做日志存档至多个位置
4.时常备份物理数据文件,尽可能创建多个副本到可靠的位置
关于数据库的日常规划请参考:Oracle 常见故障及日常规划
四、备份与恢复的几类重要数据结构
1.数据文件
2.联机重做日志文件
3.控制文件
4.自动管理的撤销
5.可选的备份文件(参数文件、密码文件)
上述有关概念请参考:Oracle实例和Oracle数据库(Oracle体系结构)
五、常见的备份类型
联机数据库备份 -->使用archivelog模式,SCN不一致
脱机数据库备份 -->使用noarchivelog模式,SCN保持一致
整个数据库 -->可以在不同的时间段来备份,减轻I/O压力,从而构建整个数据库
表空间 -->在archivelog模式下,当处于noarchivelog模式下,则该表空间必须为只读或脱机
数据文件 -->同表空间备份
控制文件 -->可以使用SQL语句或RMAN来备份
归档日志
参数文件
六、备份的分类
前面提到了逻辑备份与物理备份的概念,下面描述根据备份的内容、大小、性质等进行再分类
1.全部备份与部分备份
全部备份:包含所有的数据文件及至少一个控制文件,参数文件,密码文件等。
部分备份:包含零个或多个表空间,零个或多个数据文件,可能包含控制文件等。部分备份仅在归档模式下才有效。
2.完整备份与增量备份
完整备份:一个或多个数据文件的一个完整副本,包含从备份开始处所有的数据块。
增量备份:包含从最近一次次备份以来被修改或添加的数据块。
又可分为
差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认增量备份方式
累计增量:是备份上级备份以来所有变化的块
增量备份的几种形式
0级增量备份:是所有备份的基础,是一个完整备份,包含所有的数据块
1级差异增量备份:包含最近一次1级累计备份或差异备份以来被更改的数据块
1级累计增量备份:只包含最近一次0级备份以来被更改的数据块
增量备份支持archivelog 和noarchivelog模式,也可以在打开或关闭时进行。但只有RMAN才能实现增量备
3.脱机备份与联机备份
脱机备份:在数据库关闭阶段发生的备份,又称为一致性备份或冷备份。在一致性关闭数据库后,控制文件SCN与数据文件头部SCN一致
联机备份:在数据库使用阶段发生的备份,又称为非一致性备份或热备份。联机备份一个数据文件不与任何特定的SCN以及控制文件同步
可以是全部备份,也可以是部分备份,能够使用RMAN或操作系统命令完成
仅仅在archivelog模式下
4.映像副本与备份集
映像副本:是某个文件的完整拷贝,未经过任何压缩处理,每个字节都与源文件相同。不支持增量备份也不能备份到磁带。
备份集:由一个或多个称为piece的物理文件组成的逻辑结构。备份片中可以是数据文件,控制文件以及归档日志文件。
支持数据的压缩,支持增量备份。
可以备份到磁盘,也可以备份到磁带。