注册
数据库的增量备份与恢复
培训园地/ 文章详情 /

数据库的增量备份与恢复

wangbw1009 2026/06/30 379 0 0

一、说明
DM8增量备份分为差异增量备份和累积增量备份,缺省为差异增量备份。差异增量备份的基备份集可以是增量备份集也可以是全量备份集,可以是冷备的备份集,也可以是热备的备份集。累积增量备份的备份集只能是全量备份的备份集。

增量备份或者还原过程种,一般通过BASE ON BACK UPSET指定准确的基备份集目录或使用WITH BACKUPDIR指定基备份集搜索目录。

二、联机备份

2.1全量备份
以联机热备方式为例(联机备份需保证数据库已开启并配置归档,此处步骤略),对数据库进行增量备份。在增量备份之前,我们首先要做一次全备,使用SYSDBA用户登录数据库,执行如下语句全量备份数据库:

SQL> backup database full backupset '/dm8/backup/fullbak_20260608' compressed 4 PARALLEL 8 ;

后台执行备份

nohup disql sysdba/"Wangbw123!"@10.10.122.17:3308 -E "backup database full backupset '/dmdata/dmbak/fullbak_20260608' compressed level 4 PARALLEL 8 ;" &

2.2增量备份
防止执行中报错误[-8036]:无基备份或无匹配基备份
使用如下命令进行增量备份

SQL> backup database increment with backupdir '/dm8/backup' backupset '/dm8/backup/incr/incrbak_20260608';

2.3 查看备份集

RMAN> show backupset '/dm8/backup/incr/incrbak_20260608';

2.4累计增量备份
指定关键字cumulative可以进行累积增量备份,使用如下命令进行累积增量备份:

SQL> backup database increment cumulative with backupdir '/dm8/backup' backupset '/dm8/backup/incr/incrbak_20260608_1';

三、恢复测试

3.1恢复数据库

使用增量备份集恢复数据库,恢复之前,需保证待恢复的目标库为关闭状态,使用增量备份恢复数据库时restore直接指定增量备份目录即可,但需要全量备份和增量备份在同一个基备份目录。
使用restore命令还原数据库,如果增量备份基备份集不在数据库默认备份路径或者指定的备份集路径的上层目录,则会报错[-8036]:无基备份或无匹配基备份:
此时可以使用with backupdir关键字指定基备份集搜索目录(指定基备份集的上层目录):

执行如下命令恢复数据库:

RMAN> restore database '/dm8/data/DMTEST/dm.ini' from backupset '/dm8/backup/incr/incrbak_20260608' with backupdir '/dm8/backup';

数据库还原之后,正常使用备份集或者归档恢复数据库,并更新数据库魔数即可

RMAN> recover database '/dm8/data/DMTEST/dm.ini' from backupset '/dm8/backup/incr/incrbak_20260608';
RMAN> recover database '/dm8/data/DMTEST/dm.ini' update db_magic;

累积增量备份集与差异增量备份集还原和恢复数据库方式无差异。

四、总结
1、DM数据库默认增量备份方式为差异增量备份。差异增量备份的基备份集可以是增量备份集也可以是全量备份集,累积增量备份的备份集只能是全量备份的备份集。

2、如果不指定备份集搜索目录,数据库默认在指定备份集的上级目录和数据库默认备份路径下找最新的备份集作为基备份集。
差异增量备份取所有备份集中最新的备份集作为基备份集(包含全量和增量),累积增量备份取最新的全量备份集。

3、使用差异增量备份集还原数据库时,基备份集和基备份集依赖的备份集都不能丢失(比如差异增量备份集D基于增量备份集C,C基于增量备份B, B基于全量备份A,则A、B、C备份集都不能丢失)
否则将无法完成恢复,报错[-8036]:无基备份或无匹配基备份。累积增量备份的备份集只需要基础全量备份集完整即可。

五、备份管理相关动态视图

V$BACKUPSET:显示备份集基本信息。
V$BACKUPSET_DBINFO:显示备份集的数据库相关信息。
V$BACKUPSET_DBF:显示备份集中数据文件的相关信息。
V$BACKUPSET_ARCH:显示备份集的归档信息。
V$BACKUPSET_BKP:显示备份集的备份片信息。
V$BACKUPSET_SEARCH_DIRS:显示备份集搜索目录。
V$BACKUPSET_TABLE:显示表备份集中备份表信息。
V$BACKUPSET_SUBS:显示并行备份中生成的子备份集信息。
V$BACKUP_MONITOR:显示当前备份任务实时监控信息。
V$BACKUP_HISTORY:显示最近 100 条备份监控信息。
V$BACKUP_FILES:显示当前备份任务待备份数据

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服