DM8:达梦数据库备份还原到指定时间

本文提供了一步一步的指导,介绍如何在达梦数据库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 启动数据库删除数据

DROP TABLE DM.DM_TEST;

6 还原达梦数据库,使用归档还原到指定时间;

6.1 备份还原

  • 全部使用dmdba 用户操作 , 确保操作相关路径与文件有读写权限

  • 在数据库bin目录执行还原操作

  • (生产环境不可在原实例还原(警告),
    要重新初始化一个实例,正常启动后,正常关闭,才能执行还原操作)

  • 初始化实例前 查看原库实例初始化参数 要保持一致(页大小 ,簇大小 ,字符集编码 ,大小写是否敏感 ,varchar是否以字符为单位 )

  • 初始化实例名 , 端口 要和原库不一致 , 便于区分测试库和生产库

  • 原实例dm.ini 同级目录有初始化日志文件 : dminit+时间戳 .log

[dmdba@localhost ~]$ cat /home/dmdba/dmdata/DAMENG/dminit20230905165739.log
start init database: V8, 2023-09-05 16:57:39
init params:
        db path: /home/dmdba/dmdata/DAMENG
        db name: DAMENG  (数据库名)
        auto overwrite: 0
        page size: 32768	(页 32)
        extent size: 32		(簇 32)
        char_fix_storage: 0
        sql_log_forbid: 0
        secur_flag: 2
        time zone: +08:00
        string case sensitive: 1	( 1 : 大小写敏感 , 0 : 大小写不敏感)
        charset: 0						( 0 : GBK 编码 , 1 : UTF-8)
        length in char: 0				( 0 : varchar 以字节为单位 , 1 : varchar 以字符为单位)
        page check mode: 1
        page check algorithm id: 0
        priv flag: 0
        env label: 0
        rlog enc flag: 0
        use new hash: 1
        blank pad mode: 0
        sec priv mode: 0
        huge with delta: 1
        rlog gen for huge: 1
        pseg_mgr_flag: 0

 log file path: /home/dmdba/dmdata/DAMENG/DAMENG01.log


 log file path: /home/dmdba/dmdata/DAMENG/DAMENG02.log

create ini file /home/dmdba/dmdata/DAMENG/dm.ini success.

create rlog file /home/dmdba/dmdata/DAMENG/DAMENG01.log success.

create rlog file /home/dmdba/dmdata/DAMENG/DAMENG02.log success.

SYSTEM file : /home/dmdba/dmdata/DAMENG/SYSTEM.DBF

MAIN file : /home/dmdba/dmdata/DAMENG/MAIN.DBF

ROLL file : /home/dmdba/dmdata/DAMENG/ROLL.DBF

create dm database success. 2023-09-05 16:57:42
[dmdba@localhost ~]$

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 原库的归档路径,

  • /home/dmdba/dmdata5236_arch

6.2.3 还原到记录的时间点;

./dmrman CTLSTMT="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 CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdata5237/DAMENG/dm.ini' UPDATE DB_MAGIC";

7 启动新实例服务,查看已经还原的数据情况(完成)

./dmserver /home/dmdba/dmdata5237/DAMENG/dm.ini

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祢真伟大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值