参透达梦数据库之物理+逻辑备份

 文章目录

一、前言

二、物理备份

  •     2.1 概念
  •     2.2 名词解释
  •     2.3 准备工作(配置归档)
  •     2.4 联机方式备份
  •     2.5 脱机方式备份
  •     2.6 备份还原

三、 逻辑备份

  •     3.1 概念
  •     3.2 名词解释
  •     3.3 dexp逻辑导出
  •     3.4 dimp逻辑导入

四 总结

一、前言

   本篇文章内容参考了达梦官网学习文档,想了解更多信息可以移步  https://eco.dameng.com,备份和还原我都进行了对应操作截图,如有文本描述不清,请结合图进行查看。

二、物理备份

2.1 概念

物理备份是将已经使用或分配的数据页拷贝保存到备份集中,物理还原是通过dmrman工具或sql语句将保存到备份集中的数据内容(数据文件、数据页、归档文件)重新拷贝,写入目标文件。

2.2 名词解释

(1)联机备份还原:联机备份还原顾名思义就是指数据库需要处于运行正常状态下进行备份和还原操作,称为联机备份还原,使用相关SQL实现。

(2)脱机备份还原:脱机备份还原指的是数据库需要处于关闭状态下进行备份还原操作,达梦数据库仅支持表的联机还原,数据库、表空间和归档日志的还原必须通过脱机工具 DMRMAN 执行脱机还原操作。

(3)备份集:用于存储备份数据及备份信息。

2.3 备份准备工作(配置归档)

配置归档有两种方式,选择其一即可:

(1)联机配置归档:数据库处于正常运行状态下,使用SQL语句完成dmarch.ini和ARCH_INI参数配置。

(2)手动配置归档:数据库处于关闭状态下,手动编写dmarch.ini文件和dm.ini文件中的ARCH_INI参数配置。

2.3.1 方式一:联机配置归档

ps:在做了联机配置归档的一系列SQL执行后,要接着执行BACKUP备份SQL命令。

1:disql登录数据库,执行下面的sql语句进行归档配置

ALTER DATABASE MOUNT;    --修改数据库为mount状态
ALTER DATABASE ARCHIVELOG;    --开启归档日志配置 
ALTER DATABASE ADD ARCHIVELOG 'DEST=/data/arch,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=2048'; --配置本地归档

ALTER DATABASE OPEN; --修改数据库为OPEN状态

2.3.2 方式二:手动配置归档

1:关闭数据库

2:在dm.ini所在目录下:

vi /data/dmdata/DMTEST/dmarch.ini

----设置dmarch.ini中内容如下--------------

[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL
        ARCH_DEST            = /data/arch
        ARCH_FILE_SIZE       = 1024
        ARCH_SPACE_LIMIT     = 2048
        ARCH_FLUSH_BUF_SIZE  = 0
        ARCH_HANG_FLAG       = 1

---end-------------------------------------------------

3:编辑dm.ini文件,vi /data/dmdata/DMTEST/dm.ini,将文件内的ARCH_INI参数设置为1

4:启动数据库,此时数据库处于归档模式。

2.4 联机方式备份

联机备份方式的备份可以有:数据库备份、表空间备份、表备份、归档备份

一:数据库备份

1:执行全备,且备份集BACKUP存放在/data/dmbak路径下:

BACKUP DATABASE FULL BACKUPSET '/data/dmbak/BACKUP';

2:BACKUPSET用于指定备份路径,例如指定备份路径为/data/dmbak/BACKUP1:

 BACKUP DATABASE BACKUPSET '/data/dmbak/BACKUP1';

3:创建备份集,备份名设置为“WEEKLY_FULL_BAK”,(ps:备份名的设置不可以使用特殊格式,例如%NAME):

BACKUP DATABASE TO WEEKLY_FULL_BAK BACKUPSET '/data/dmbak/BACKUP2';

4:创建备份为备份集添加描述信息为“完全备份”。 描述信息可以更详细地对备份类型、用途等进行说明:

 BACKUP DATABASE BACKUPSET '/data/dmbak/BACKUP3' BACKUPINFO '完全备份';


5:MAXPIECESIZE 参数用于控制单个备份片的大小 ,MAXPIECESIZE 不能大于磁盘剩余空间大小,否则报错磁盘空间不足,例如创建备份限制备份片大小为300M:

 BACKUP DATABASE BACKUPSET '/data/dmbak/BACKUP4' MAXPIECESIZE 300;
 

6:执行备份压缩,压缩级别设置为 5(压缩级别的取值范围为 0~9,根据存储空间、数据文件大小等确定合适地压缩级别):

BACKUP DATABASE BACKUPSET '/data/dmbak/BACKUP5' COMPRESSED LEVEL 5;
 

7:通过关键字 PARALLEL 指定是否执行并行备份,以及执行并行备份的并行数。 创建并行备份,指定并行数为8:

BACKUP DATABASE BACKUPSET '/data/dmdata/BACKUP6' PARALLEL 8;
 

二:表空间备份

同备份数据库一样,执行表空间备份数据库实例也必须运行在归档模式下:

(1)增量备份指定基备份路径

BACKUP TABLESPACE MAIN BACKUPSET '/data/dmbak/ts_full_bak01';  --表空间全备

BACKUP TABLESPACE MAIN INCREMENT BACKUPSET '/data/dmbak/ts_increment_bak01';    --表空间增备

 BACKUP TABLESPACE MAIN INCREMENT BASE ON BACKUPSET '/data/dmbak/ts_full_bak01' BACKUPSET '/data/dmbak/ts_increment_bak02';  --表空间增备指定基备份,由BASE ON BACKUPSET参数指定

(2)完全备份

BACKUP TABLESPACE MAIN FULL BACKUPSET '/data/dmbak/ts_full_bak_01';

(3)增量备份

BACKUP TABLESPACE MAIN INCREMENT WITH BACKUPDIR '/data/dmbak' BACKUPSET '/data/dmbak/ts_increment_bak04';
 

三:表备份

创建测试表wxs并插入数据,执行BACKUP备份语句,备份表:

CREATE TABLE wxs(id int);
insert into wxs values(555);
BACKUP TABLE wxs BACKUPSET '/data/dmbak/tb_wxs_bak';

ps:联机表备份可以不同与数据库和表空间备份,可以不在归档模式下进行备份。

  1.表备份均为联机完全备份;
  2.不需要配置归档日志;
  3.没有增量备份。

四:归档备份

ps:(1.数据库必须配置归档;

        2. 归档文件的 db_magic、permanent_magic 值和数据库的 db_magic、permanent_magic 值必须一样;

       3.归档日志必须连续,如果出现不连续的情况,前面的连续部分会忽略,仅备份最新的连续部分。

归档备份常用的备份选项有设置备份名、设置备份集路径、指定介质参数、添加备份描述等

方式一:BACKUP ARCHIVE LOG ALL BACKUPSET '/data/dmbak/arch_bak';  --备份所有的归档

(注意:此处,执行备份所有归档报错显示归档不连续,该问题需要利用dmrman修复,具体解决步骤参考参透达梦数据库之备份故障集(持续更新)-CSDN博客

方式二:select arch_lsn,clsn from v$arch_file;  --查询归档的lsn号

BACKUP ARCHIVELOG LSN BETWEEN 43698 AND 44212 BACKUPSET '/data/dmbak/arch_bak';   --根据lsn号备份归档

五:管理备份的相关操作

1:添加备份目录:函数 SF_BAKSET_BACKUP_DIR_ADD (device_type,backup_dir) 用于添加备份目录。

SELECT SF_BAKSET_BACKUP_DIR_ADD('DISK','/data/dm_bak');
 

2:删除备份目录:函数 SF_BAKSET_BACKUP_DIR_REMOVE (device_type,backup_dir) 用于删除备份目录。

SELECT SF_BAKSET_BACKUP_DIR_REMOVE('DISK','/data/dm_bak');
 

3:清理全部备份目录:函数 SF_BAKSET_BACKUP_DIR_REMOVE_ALL () 用于清理全部备份目录

SELECT SF_BAKSET_BACKUP_DIR_REMOVE_ALL();

4:备份集校验:函数SF_BAKSET_CHECK (device_type,backup_dir)用于备份集校验

5:备份集删除:

SF_BAKSET_REMOVE --删除指定设备类型和指定备份集目录地备份集

SF_BAKSET_REMOVE_BATCH --批量删除满足指定条件的所有备份集

SP_DB_BAKSET_REMOVE_BATCH --批量删除指定时间之前的数据库备份集

SP_TS_BAKSET_REMOVE_BATCH --批量删除指定表空间对象及指定时间之前的表空间备份集

SP_TAB_BAKSET_REMOVE_BATCH --批量删除指定表对象及指定时间之前的表备份集。

SP_ARCH_BAKSET_REMOVE_BATCH --批量删除指定时间之前的归档备份集。

2.5 脱机方式备份

xxx

2.6 备份还原

2.6.1 联机方式还原

提示:达梦数据库仅支持表的联机还原,数据库、表空间和归档日志的还原必须通过脱机工具 DMRMAN 执行,详细内容见 2.6.2脱机方式还原。

联机表还原之后不需要恢复操作。disql 中输入以下 RESTORE 语句即可还原表:

RESTORE TABLE wxs FROM BACKUPSET '/data/dmbak/tb_wxs_bak';

 
2.6.2 脱机方式还原

XXXX

三、逻辑备份

3.1 概念

3.2 名词解释

3.3 dexp逻辑导出

3.4 dimp逻辑导入

四、总结

正在持续更新。。。。预计这周更新完毕

更多备份问题请移步达梦数据库官方地址技术社区提问: https://eco.dameng.com

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值