zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

数据库管理员DBA必知必会的备份恢复(四)

2023-04-18 16:13:27 时间

一、物理备份与逻辑备份

物理备份

是所有物理文件的一个副本,比如数据文件,控制文件,归档日志等。该副本能被存储在本地磁盘或磁带等等。

物理备份是备份或恢复的基础包括冷备份(非归档模式)或热备份(归档模式)

逻辑备份将表、存储过程等数据使用 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 的物理文件组成的逻辑结构。备份片中可以是数据文件,控制文件以及归档日志文件。

支持数据的压缩,支持增量备份。

可以备份到磁盘,也可以备份到磁带。