disql 增量备份SQL脚本DM7/DM8

disql 增量备份SQL脚本DM7/DM8

  • 环境介绍
  • [1 全量备份](#1 全量备份)
  • [2 增量备份](#2 增量备份)
    • [2.1 cd 到数据库bin 目录,并编辑文件](#2.1 cd 到数据库bin 目录,并编辑文件)
    • [2.2 编写sql 增量备份脚本](#2.2 编写sql 增量备份脚本)
    • [2.3 执行编写的sql脚本](#2.3 执行编写的sql脚本)
    • [2.4 编写Linux定时任务 , 每天执行增量备份](#2.4 编写Linux定时任务 , 每天执行增量备份)
  • [3 备份还原](#3 备份还原)
  • [4 更多达梦数据库学习使用列表](#4 更多达梦数据库学习使用列表)

环境介绍

  • 增量备份之前必须有全量备份作为基备份 , 没有全量备份作为基备份执行增量备份会报错

1 全量备份

2 增量备份

2.1 cd 到数据库bin 目录,并编辑文件

  • 编写数据库增量备份SQL 脚本
shell 复制代码
cd /opt/dmdba/dmdbmsdm7_170808;vi increment.sql

2.2 编写sql 增量备份脚本

sql 复制代码
SELECT SYSDATE() START_TIM
DECLARE
--修改备份路径(dmdba用户具有权限)
DIR_PATH VARCHAR(256):='/opt/dmdba/dmdbmsdm7_170808/data/DAMENG/bak/';
FILE_NAME VARCHAR(256):='DB_DAMENG_INCREMENT_'||TO_CHAR(SYSDATE,'YYYYMMDD-HH24MISS');
SQL_STR VARCHAR(512);
BEGIN
        --SELECT SYSDATE() START_TIME;
        SQL_STR='backup database increment backupset '''||DIR_PATH||FILE_NAME||''' MAXSIZE 128000 compressed' ;
        EXECUTE IMMEDIATE(SQL_STR);
        SELECT SYSDATE() END_TIME;
END;
/
exit;

2.3 执行编写的sql脚本

  • 测试没问题继续 2.4 配置 定时任务
shell 复制代码
cd /opt/dmdba/dmdbmsdm7_170808; ./disql SYSDBA/'"SYSDBA"':5237 \`increment.sql > INCREMENT.LOG


2.4 编写Linux定时任务 , 每天执行增量备份

xml 复制代码
#每晚23点 20 分开始执行
[root@localhost backup]$ crontab -e
20 23 * * * cd /opt/dmdba/dmdbmsdm7_170808; ./disql SYSDBA/'"SYSDBA"':5237 \`increment.sql >> INCREMENT.LOG
[root@localhost backup]$

3 备份还原

  • 使用 dmdba 用户操作(路径替换为实际的路径)
  • cd 到数据库bin 目录
xml 复制代码
## 数据库还原
./dmrman CTLSTMT="RESTORE DATABASE '/opt/dmdba/dmdbmsdm7_170808/data7808/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdba/dmdbmsdm7_170808/data/DAMENG/bak/DB_DAMENG_INCREMENT_20241016-111746'"
## 数据库恢复
./dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdba/dmdbmsdm7_170808/data7808/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdba/dmdbmsdm7_170808/data/DAMENG/bak/DB_DAMENG_INCREMENT_20241016-111746'"
## 更新数据库魔数,这步骤DM7会报错可忽略
./dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdba/dmdbmsdm7_170808/data7808/DAMENG/dm.ini' UPDATE DB_MAGIC"
## 启动数据库 
./dmserver /opt/dmdba/dmdbmsdm7_170808/data7808/DAMENG/dm.ini

4 更多达梦数据库学习使用列表

相关推荐
川石课堂软件测试44 分钟前
MySQL数据库之DBA命令
数据库·网络协议·mysql·http·单元测试·prometheus·dba
ybb_ymm2 小时前
mysql8在linux下的默认规则修改
linux·运维·数据库·mysql
倔强的石头_3 小时前
Navicat Premium 与金仓数据库融合实践:高效管理国产数据库新方案
数据库
程序新视界4 小时前
为什么要尽量将MySQL表字段要设置为NOT NULL?
数据库·mysql·dba
怪兽20144 小时前
SQL优化手段有哪些
java·数据库·面试
lypzcgf4 小时前
FastbuildAI后端数据库模块注册分析
数据库·ai应用·ai创业·智能体平台·ai应用平台·agent平台·fastbuildai
xyy20255 小时前
Spring事务的传播方式
java·数据库·spring
非凡的世界6 小时前
Thinkphp8 Redis队列与消息队列topthink/think-queue 原创
数据库·redis·bootstrap·thinkphp
yookay zhang6 小时前
DM线程的管理知识学习
数据库