disql 增量备份SQL脚本DM7/DM8
disql 增量备份SQL脚本DM7/DM8
- 环境介绍
- 1 全量备份
- 2 增量备份
- 2.1 cd 到数据库bin 目录,并编辑文件
- 2.2 编写sql 增量备份脚本
- 2.3 执行编写的sql脚本
- 2.4 编写Linux定时任务 , 每天执行增量备份
- 3 备份还原
- 4 更多达梦数据库学习使用列表
环境介绍
- 增量备份之前必须有全量备份作为基备份 , 没有全量备份作为基备份执行增量备份会报错
1 全量备份
- 全量备份 - - 点击跳转
2 增量备份
2.1 cd 到数据库bin 目录,并编辑文件
- 编写数据库增量备份SQL 脚本
cd /opt/dmdba/dmdbmsdm7_170808;vi increment.sql
2.2 编写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 配置 定时任务
cd /opt/dmdba/dmdbmsdm7_170808; ./disql SYSDBA/'"SYSDBA"':5237 \`increment.sql > INCREMENT.LOG
2.4 编写Linux定时任务 , 每天执行增量备份
#每晚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 目录
## 数据库还原
./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 更多达梦数据库学习使用列表
- 更多达梦数据库学习使用列表 - - 点击跳转