版本: dm8 dw一主一备集群
步骤: 执行全备 b1, 后来某个时刻执行备份b2(不涉及它的问题)和归档备份a1。恢复到b1和a1之间的某个时间点 t1。先还原全备b1,再还原a1 until time t1,之后使用a1恢复。
# 还原归档到临时目录
RESTORE ARCHIVELOG FROM BACKUPSET '/opt/dmdbms/data/backup/20250507164527_ARCH' UNTIL TIME '2025-05-07 16:33:00' TO ARCHIVEDIR '/opt/dmdbms/data/backup/20250507164527_ARCH/restore' OVERWRITE 1;
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]
restore successfully.
# 还原全备
RESTORE DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/backup/20250507133730_FULL';
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
restore successfully.
# 恢复
./dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' WITH ARCHIVEDIR '/opt/dmdbms/data/backup/20250507164527_ARCH/restore' USE DB_MAGIC 1433248784 UNTIL TIME '2025-05-07 16:33:00'"
dmrman V8
RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' WITH ARCHIVEDIR '/opt/dmdbms/data/backup/20250507164527_ARCH/restore' USE DB_MAGIC 1433248784 UNTIL TIME '2025-05-07 16:33:00'
file dm.key not found, use default license!
[-718]:Archive log collected not consecutive
dmrman_main end, code[-718], return -1.
dmrarchk 检测归档备份还原的归档日志目录,正常.
./dmrachk f_type=1 f_path=/opt/dmdbms/data/backup/20250507164527_ARCH/restore
rachk V8
the database pmnt_magic: 1737508466
the database db_magic: 1433248784
/*******************************************************************/
archive file /opt/dmdbms/data/backup/20250507164527_ARCH/restore/LOCAL_0x556DA410_EP0_2025-05-07_16-28-58.log itemize.
version : 0x7007
status : INACTIVE
enc_flag : FALSE
n_rpkgs : 180
pmnt_magic : 1737508466
db_magic : 1433248784
src_db_magic : 1433248784
arch_lsn : 375537
arch_seq : 78695
clsn : 377270
next_seq : 78874
g_next_seq : 78874
file len : 823296
file free : 823296
dsc seqno : 0
dsc node : 1
create time : 2025-05-07 16:28:58.823750 time_zone:+08:00
close time : 2025-05-07 16:32:02.082827 time_zone:+08:00
llog first time : 1900-01-01 00:00:00.000000 time_zone:+08:00
llog last time : 1900-01-01 00:00:00.000000 time_zone:+08:00
/*******************************************************************/
/*******************************************************************/
archive file /opt/dmdbms/data/backup/20250507164527_ARCH/restore/LOCAL_0x556DA410_EP0_2025-05-07_16-32-03.log itemize.
version : 0x7007
status : INACTIVE
enc_flag : FALSE
n_rpkgs : 29
pmnt_magic : 1737508466
db_magic : 1433248784
src_db_magic : 1433248784
arch_lsn : 377271
arch_seq : 78875
clsn : 377418
next_seq : 78903
g_next_seq : 78903
file len : 122880
file free : 122880
dsc seqno : 0
dsc node : 1
create time : 2025-05-07 16:32:03.609102 time_zone:+08:00
close time : 2025-05-07 16:32:29.482288 time_zone:+08:00
llog first time : 1900-01-01 00:00:00.000000 time_zone:+08:00
llog last time : 1900-01-01 00:00:00.000000 time_zone:+08:00
/*******************************************************************/
/*******************************************************************/
archive file /opt/dmdbms/data/backup/20250507164527_ARCH/restore/LOCAL_0x556DA410_EP0_2025-05-07_16-32-33.log itemize.
version : 0x7007
status : INACTIVE
enc_flag : FALSE
n_rpkgs : 791
pmnt_magic : 1737508466
db_magic : 1433248784
src_db_magic : 1433248784
arch_lsn : 377419
arch_seq : 78904
clsn : 381205
next_seq : 79694
g_next_seq : 79694
file len : 3252224
file free : 3252224
dsc seqno : 0
dsc node : 1
create time : 2025-05-07 16:32:33.582223 time_zone:+08:00
close time : 2025-05-07 16:45:35.897451 time_zone:+08:00
llog first time : 1900-01-01 00:00:00.000000 time_zone:+08:00
llog last time : 1900-01-01 00:00:00.000000 time_zone:+08:00
/*******************************************************************/
The SUMMARY(seqno[0]):
total files: 3
okey files: 3
fail file: 0
repeat file: 0
the rachk tool running cost 4.281 ms, code:0
通过dmrman show backupset 查看涉及到的两个备份集lsn连续
全备备份集b1 endlsn 375536
归档备份集a1 startlsn 375537
哪年的版本?我们22年的版本遇到过类似的问题,具体报错不记得是啥了。我们当时就是做的简单的恢复,。比如用5月1号的全备,然后我们想恢复到5月2号的数据,1好和2号乃至3号的归档文件都在的。我们只是想until time到2号的某个时间点,但我们4号的归档丢了一个。然后恢复就报错。后来达梦的回复是版本的bug。后期版本会修复,好像24年的版本就没这个问题了,。如果你的版本很低,那你可以在25年的版本上再操作下,看是否还会有同样的报错吗?
checkpoint(100) 或者 重启数据库.