DM8:达梦数据库备份还原到指定时间
1 安装达梦数据库
2 开启归档
管理工具 或 disql 连接数据库后执行
alter database archivelog;
--路径配置为实际路径
--FILE_SIZE 单个归档文件最大值,单位 M
--SPACE_LIMIT 归档存储总空间最大值,到达空间限制后会循环覆盖归档日志;
alter database add archivelog 'DEST=/home/dmdba/dmdata5236_arch, TYPE=LOCAL, FILE_SIZE=128, SPACE_LIMIT=1024';
3 备份
数据库运行过程中在管理工具 或 disql 中执行
默认备份路径为 dm.ini配置文件中的 BAK_PATH= 的路径值
backup database full to "DB_DAMENG_FULL_2022_02_18_13_33_20" backupset 'DB_DAMENG_FULL_2022_02_18_13_33_20';
4 创建表
CREATE TABLE "DM"."DM_TEST"
(
"A1" VARCHAR(50),
"A2" VARCHAR(50),
"A3" TIMESTAMP(6) DEFAULT SYSDATE()) STORAGE(ON "TBS_DM", CLUSTERBTR) ;
5 生成测试数据
INSERT INTO DM.DM_TEST(A1,A2)VALUES('A1','A2');
commit;
5.2 关闭数据库服务使归档刷盘(记录时间点)
5.3 启动数据库删除数据
6 还原达梦数据库,使用归档还原到指定时间;
6.1 备份还原.
在数据库bin目录执行还原操作
(生产环境不可在原实例还原(警告),
要重新初始化一个实例,正常启动后,正常关闭,才能执行还原操作)
查看数据库 bin 执行目录和新实例 dm.ini 路径方法
ps -ef|grep dmserver
./dmrman CTLSTMT="RESTORE DATABASE '/home/dmdba/dmdata5237/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/dmdata5236/DAMENG/bak/DB_DAMENG_FULL_2022_02_18_14_08_47'"
6.2 通过归档恢复到指定时间(受归档刷盘时间影响)
在数据库bin 执行目录对数据库执行恢复操作,
6.2.1 指定新初始化的实例 dm.ini,
6.2.2 原库的归档路径,
6.2.3 还原到记录的时间点;
./dmrman
recover database '/home/dmdba/dmdata5237/DAMENG/dm.ini' with archivedir '/home/dmdba/dmdata5236_arch' until time '2022-02-18 14:42:44'
6.3 更新数据库db_magic
在数据库 bin 执行目录执行
./dmrman
recover database '/home/dmdba/dmdata5237/DAMENG/dm.ini' update db_magic;