DM数据库的备份与还原

备份的分类

DM 数据库中的数据存储在数据库的物理数据文件中,而DM 备份的本质就是从数据库文件中拷贝有效的数据页保存到备份集中,而还原与恢复是备份的逆过程。

逻辑备份和物理备份

逻辑备份是指利用 dexp 导出工具,将指定对象比如某个表或者表空间的数据导出到文件的备份方式。逻辑备份针对的是数据内容,并不关心数据物理存储在什么位置。 物理备份则直接扫描存储介质中的数据库文件,拷贝并保存到备份集中。物理备份过程中,不关心数据页的具体内容和所属哪张表。

联机备份和脱机备份

联机备份是数据库处于运行状态、并正常提供数据库服务情况下进行的备份操作。脱机备份是数据库处于关闭状态时进行的备份操作。 联机备份则使用客户端工具连接到数据库实例后,通过执行 SQL 语句进行;也可以通过配置作业,定时完成自动备份。联机备份不影响数据库正常提供服务,是最常用的备份手段之一。 联机备份时,可能存在一些处于活动状态的事务正在执行,为确保备份数据的一致性,需要将备份期间产生的 REDO 日志一起备份。因此,只能在配置本地归档、并开启本地归档的数据库上执行联机备份。

完全备份和增量备份

完全备份生成的备份集包含了指定库(或者表空间)的全部有效数据页。当数据规模比较大的情况下,生成的完全备份集通常会比较大,而且备份时间也会比较长。 库备份和表空间备份支持增量备份,表备份不支持增量备份。 增量备份是在某个特定备份集基础上,收集数据库新修改的数据页进行备份,可以有效减少备份集的空间占用、提高备份速度。

还原的分类
联机还原和脱机还原

联机还原指数据库处于运行状态时,通过 SQL 语句执行还原操作。表还原可以在联机状态下执行。 脱机还原指数据库处于关闭状态时,通过 DMRMAN 工具执行还原操作。库备份、表空间备份和归档备份,可以执行脱机还原。脱机还原操作的目标库必须处于关闭状态。

备份操作
联机归档的配置归档
通过修改文件来配置归档

配置 dmarch.ini文件

cat << EOF > dmarch.ini
[ARCHIVE_LOCAL1] 
ARCH_TYPE = LOCAL 
ARCH_DEST = /dmdata/dmarch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048
EOF

编辑 dm.ini 文件,设置参数 ARCH_INI=1,保存; 启动数据库实例,数据库已运行于归档模式。

通过语句来配置归档
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST = /dmdata/dmarch, TYPE = local, FILE_SIZE = 1024,SPACE_LIMIT = 2048,ARCH_FLUSH_BUF_SIZE=16,HANG_FLAG=1';
ALTER DATABASE OPEN;
备份语句

全库备份示例:

BACKUP DATABASE BACKUPSET 'db_bak_01'COMPRESSED LEVEL 5 PARALLEL 8;

参数说明; 必选参数: 备份级别:例子中的DATABASE表示备份整个库。还有TABLESPACE ,table等 BACKUPSET:备份地址,后面加备份集路径 常用参数: 备份类型:分为完全备份 FULL 和增量备份 INCREMENT 两种。默认为 FULL。 BACKUPINFO:备份的描述信息 ENCRYPT WITH:加密算法,有内置21种加密算法比如RC4,DES_ECB等,也知识OPENSSL的六种第三方加密算法, IDENTIFIED BY:备份的加密密码 COMPRESSED:是否压缩,LEVEL 表示压缩等级,取值范围 0~9,数字越高,压缩比例越大,比如例子中就是压缩等级为5。 PARALLEL:是否开启并行,并行数不得超过cpu核数,几个并行数据就会被拆成几块,比如例子中为开启8个并行。

增量备份示例:

BACKUP DATABASE INCREMENT WITH BACKUPDIR '/home/dm_bak' BACKUPSET '/home/dm_bak/db_increment_bak_02';

参数INCREMENT用来设置本次备份为增量备份。

归档备份示例:

BACKUP ARCHIVE LOG ALL BACKUPSET 'arch_bak_01';

注意事项:

当备份数据超过限制大小时,会生成新的备份文件,新的备份文件名是初始文件名后加文件编号。 系统处于归档模式下时,才允许进行数据库联机备份。若备份库为 DSC 集群实例,且未指定 WITHOUT LOG,则需要配置远程归档。 MOUNT 状态下,不允许进行数据库备份。

还原:联机表还原
RESTORE TABLE TAB_01 FROM BACKUPSET 'tab_bak_01';

参数说明; 必选参数: 表名:例子中的TAB_01就是指定还原的表名。 BACKUPSET:备份地址,后面加备份集路径 常用参数: IDENTIFIED BY:备份的加密密码,要与备份时相同 ENCRYPT WITH:备份的加密算法,要与备份时相同 PARALLEL:是否开启并行,并行数要小于等于备份时的并行数,大于视为等于。

dmrman备份与还原

进入dmrman在DM_HOME下执行./dmrman,如果配置了环境变量可以执行运行dmrman,提示符变成RMAN>代表进入了dmrman的交互模式。

dmrman 备份查看删除

备份查看示例:

SHOW BACKUPSET  '/dmdata/dmbak/BACKUP_FILE/' 

常用参数: BACKUPSET:查看单个备份集信息 BACKUPSETS: 批量查看备份集信息。

dmrman 备份校验

备份校验示例:

CHECK BACKUPSET '/dmdata/dmbak/BACKUP_FILE/'
dmrman 备份删除

备份删除示例:

REMOVE BACKUPSET '/dmdata/dmbak/BACKUP_FILE/'

常用参数: CASCADE:当目标备份集已经被其他增量备份引用为基备份集,默认不允许删除,若指定 CASCADE,则递归删除所有引用的增量备份。 BEFORE:删除距离当前时间前 n_day 天产生的备份集;n_day 取值范围 0~365,单位:天。

dmrman备份

dmrman备份常用命令与联机备份相同,不同的参数比如AP_PORT,CTLFILE,不常用,可以通过help命令查看。

dmrman还原

备份恢复示例:

RESTORE DATABASE '/dmdata/data/dmpah/dm.ini' FROM BACKUPSET '/dmdata/dmbak/BACKUP_FILE/'

dmrman的还原与联机还原表级备份类似,参数基本相同 常用参数: RENAME TO:指定还原数据库后是否更改库的名字 IDENTIFIED BY:加密密码 ENCRYPT WITH:加密算法 TO SHADOW:将目标库还原成影子库 AUTO EXTEND:还原数据库时设置文件自动拓展

如果还原的为整个库的话需要再进一步执行 RECOVER 命令,将数据库恢复到备份结束时的状态,再同步 DB_MAGIC。 以下是还原整个库的还原操作

RESTORE DATABASE '/dmdata/data/dmpah/dm.ini' FROM BACKUPSET '/dmdata/dmbak/BACKUP_FILE/'
RECOVER DATABASE '/dmdata/data/dmpah/dm.ini' FROM BACKUPSET '/dmdata/dmbak/BACKUP_FILE/'
RECOVER DATABASE '/dmdata/data/dmpah/dm.ini' UPDATE DB_MAGIC
备份管理视图

V$BACKUPSET:显示备份集基本信息。 V$BACKUPSET_DBINFO:显示备份集的数据库相关信息。 V$BACKUPSET_DBF:显示备份集中数据文件的相关信息。 V$BACKUPSET_TABLE:显示表备份集中备份表信息。 V$BACKUP_FILES:显示当前备份任务待备份数据文件列表。

附达梦社区地址:https://eco.dameng.com

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值