DM8共享集群数据库备份恢复

背景:

        项目中使用为符合信创要求,数据库使用DM8,目前在备份恢复的测试验证阶段,备份目前没问题,需要做恢复验证。

思路:

        通过之前的的备份将数据恢复。

        1、通过监视器关闭自动拉起的功能,关闭数据库服务。

        2、数据库恢复(在有备份文件的节点上操作)。

        3、通过监视器打开自动拉起的功能,打开数据库服务。

步骤:

        1、登录到监视器服务的节点,进行关闭数据库自动拉起的功能,关闭数据库服务(这里会关闭所有节点的数据库服务)。

        为什么关?不关闭数据库自动拉起功能,在服务关闭,被检测到后会自动拉起,恢复就失败了。库级、表空间的还原和恢复不支持联机恢复,只支持脱机还原恢复。

主要命令如下,按实际情况到目录:

cd /data/dmdbms/bin

./dmcssm dmcssm.ini 

        help

        show

        set  GRP_CSS auto restart off

        ep stop GRP_DSC

ps -ef | grep dmserver

[dmdba@dsc1:/data/dmdbms/bin]$ cd /data/dmdbms/bin
[dmdba@dsc1:/data/dmdbms/bin]$ ./dmcssm dmcssm.ini 
[monitor]          [2025-11-03 14:48:56:902] CSS MONITOR V8
[monitor]          [2025-11-03 14:49:04:114] CSS MONITOR SYSTEM IS READY.

[monitor]          [2025-11-03 14:49:04:127] Wait CSS Control Node choosed...
[monitor]          [2025-11-03 14:49:05:232] Wait CSS Control Node choosed succeed.

help
DMCSSM使用说明:
SHOW命令中可以通过指定group_name获取指定组的信息,如果没有指定,则显示所有组的信息
---------------------------------------------------------------------------------------------
1.help                                            --显示帮助
2.show [group_name]                               --显示指定的组信息
3.show config                                     --显示配置文件信息
4.show monitor                                    --显示当前连接的监视器信息
5.set group_name auto restart on                  --打开指定组的自动拉起功能(只修改dmcss内存值)
6.set group_name auto restart off                 --关闭指定组的自动拉起功能(只修改dmcss内存值)
7.open force group_name                           --强制OPEN指定的ASM或DB组
8.ep startup group_name                           --启动指定的ASM或DB组
9.ep stop group_name                              --停止指定的ASM或DB组
10.ep halt group_name.ep_name                     --强制退出指定组的指定节点
11.extend node                                    --扩展集群节点
12.ep crash group_name.ep_name                    --设定指定节点故障
13.check crash over group_name                    --检查指定组故障处理是否结束
14.transfer one_node/full                         --转换DSC集群模式
15.relocate dbgroup_name.seqno                    --在DSC ONE_NODE模式下,重定位旧节点上的数据库服务到指定节点上
16.set asm/db restart_cmd css_name.cmd_str        --设置指定CSS的ASM/DB节点的自动拉起命令(只修改dmcss內存值)
17.set asm/db restart_itvl css_name.itvl_num      --设置指定CSS的ASM/DB节点的自动拉起时间间隔(只修改dmcss內存值)
17.exit                                           --退出监视器

---------------------------------------------------------------------------------------------

show

monitor current time:2025-11-03 14:49:46, n_group:3
=================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 0] ========================================

DSC_MODE = FULL
[CSS1] auto check = TRUE, global info:
[ASM1] auto restart = TRUE
[DSC1] auto restart = TRUE
[CSS2] auto check = TRUE, global info:
[ASM2] auto restart = TRUE
[DSC2] auto restart = TRUE
[CSS3] auto check = TRUE, global info:
[ASM3] auto restart = TRUE
[DSC3] auto restart = TRUE

ep:     css_time               inst_name seqno port   mode         inst_status       vtd_status   is_ok  active guid          pid       ts          
        2025-11-03 14:49:45    CSS1      0     5336   Control Node OPEN              WORKING      OK     TRUE   47433439      151992    47694190    
        2025-11-03 14:49:45    CSS2      1     5336   Normal Node  OPEN              WORKING      OK     TRUE   15080         3821      270834      
        2025-11-03 14:49:45    CSS3      2     5336   Normal Node  OPEN              WORKING      OK     TRUE   49515877      162955    49772275    

=================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 0] ========================================

n_ok_ep = 3
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)
(2, 2)

sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL

crash process over flag is TRUE
ep:     css_time               inst_name seqno port   mode         inst_status       vtd_status   is_ok  active guid          pid       ts          
        2025-11-03 14:49:45    ASM1      0     5436   Control Node OPEN              WORKING      OK     TRUE   47446913      152050    47707633    
        2025-11-03 14:49:45    ASM2      1     5436   Normal Node  OPEN              WORKING      OK     TRUE   23773         4134      279506      
        2025-11-03 14:49:45    ASM3      2     5436   Normal Node  OPEN              WORKING      OK     TRUE   49529340      163012    49785707    

=================== group[name = GRP_DSC, seq = 2, type = DB, Control Node = 0] ========================================

n_ok_ep = 3
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)
(2, 2)

sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL

crash process over flag is TRUE
ep:     css_time               inst_name seqno port   mode         inst_status       vtd_status   is_ok  active guid          pid       ts          
        2025-11-03 14:49:45    DSC1      0     15236  Control Node OPEN              WORKING      OK     TRUE   311758457     292534    311760368   
        2025-11-03 14:49:45    DSC2      1     15236  Normal Node  OPEN              WORKING      OK     TRUE   219017772     50474     219019672   
        2025-11-03 14:49:45    DSC3      2     15236  Normal Node  OPEN              WORKING      OK     TRUE   311902871     309345    311904761   

==================================================================================================================


set  GRP_CSS auto restart off
[monitor]          [2025-11-03 14:50:54:844] CSS类型的组不允许执行SET AUTO RESTART命令

set GRP_DSC auto restart off
[monitor]          [2025-11-03 14:51:18:007] 通知CSS(seqno:0)关闭节点(DSC1)的自动拉起功能
[monitor]          [2025-11-03 14:51:18:064] 通知CSS(seqno:0)关闭节点(DSC1)的自动拉起功能成功
[monitor]          [2025-11-03 14:51:18:066] 通知CSS(seqno:1)关闭节点(DSC2)的自动拉起功能
[monitor]          [2025-11-03 14:51:18:118] 通知CSS(seqno:1)关闭节点(DSC2)的自动拉起功能成功
[monitor]          [2025-11-03 14:51:18:122] 通知CSS(seqno:2)关闭节点(DSC3)的自动拉起功能
[monitor]          [2025-11-03 14:51:18:174] 通知CSS(seqno:2)关闭节点(DSC3)的自动拉起功能成功
[monitor]          [2025-11-03 14:51:18:176] 通知当前活动的CSS执行清理操作
[monitor]          [2025-11-03 14:51:19:078] 清理CSS(0)请求成功
[monitor]          [2025-11-03 14:51:19:132] 清理CSS(1)请求成功
[monitor]          [2025-11-03 14:51:19:184] 清理CSS(2)请求成功
[monitor]          [2025-11-03 14:51:19:186] 关闭CSS自动拉起功能成功


ep stop GRP_DSC
[monitor]          [2025-11-03 14:52:12:678] 组(GRP_DSC)中节点对应的CSS自动拉起标记已经处于关闭状态

[monitor]          [2025-11-03 14:52:12:681] 通知CSS(seqno:0)执行EP STOP(GRP_DSC)
[monitor]          [2025-11-03 14:52:23:590] 通知当前活动的CSS执行清理操作
[monitor]          [2025-11-03 14:52:24:595] 清理CSS(0)请求成功
[monitor]          [2025-11-03 14:52:24:647] 清理CSS(1)请求成功
[monitor]          [2025-11-03 14:52:24:699] 清理CSS(2)请求成功
[monitor]          [2025-11-03 14:52:24:701] 命令EP STOP GRP_DSC执行成功

[dmdba@dsc1:/data/dmdbms/bin]$ ps -ef | grep dmserver
dmdba     297269  296132  0 14:52 pts/0    00:00:00 grep dmserver
[dmdba@dsc1:/data/dmdbms/bin]$

    2、数据库恢复(在有备份文件的节点上操作)

        主要命令如下,按实际情况到目录:

    cd /data/dmdbms/bin

   ./dmrman DCR_INI=/data/dmdsc/dmdcr.ini

        checkpoint(100);

        RESTORE DATABASE '/data/dmdsc/dsc3/dm.ini' FROM BACKUPSET '/dmbak/DAMENG/DB_DSC_FULL_2025_11_03_14_41_55';

        RECOVER DATABASE '/data/dmdsc/dsc3/dm.ini' FROM BACKUPSET '/dmbak/DAMENG/DB_DSC_FULL_2025_11_03_14_41_55';

        #–恢复数据库到指定的时间点2025-11-03 15:12 (二选一)

        RECOVER DATABASE '/data/dmdsc/dsc3/dm.ini' with archivedir '/dmbak/dmarch' until time '2025-11-03 15:12';

RECOVER DATABASE '/data/dmdsc/dsc3/dm.ini' UPDATE DB_MAGIC;

[dmdba@dsc3:/dmbak]$ cd /dmbak/DAMENG
[dmdba@dsc3:/dmbak/DAMENG]$ ls -lrt
总用量 36
drwxr-xr-x 2 dmdba dinstall 4096 10月 30 11:32 DB_DSC_FULL_2025_10_30_11_32_17
drwxr-xr-x 2 dmdba dinstall 4096 10月 30 11:36 DB_DSC_FULL_2025_10_30_11_35_57
drwxr-xr-x 2 dmdba dinstall 4096 10月 30 11:53 DB_DSC_FULL_2025_10_30_11_53_42
drwxr-xr-x 2 dmdba dinstall 4096 10月 30 16:37 DB_DSC_FULL_2025_10_30_16_37_47
drwxr-xr-x 2 dmdba dinstall 4096 10月 31 08:53 DB_DSC_INCREMENT_2025_10_31_08_53_21
drwxr-xr-x 2 dmdba dinstall 4096 11月  1 00:31 DB_DSC_FULL_2025_11_01_00_30_54
drwxr-xr-x 2 dmdba dinstall 4096 11月  2 01:01 DB_DSC_INCREMENT_2025_11_02_01_00_55
drwxr-xr-x 2 dmdba dinstall 4096 11月  3 01:01 DB_DSC_INCREMENT_2025_11_03_01_00_57
drwxr-xr-x 2 dmdba dinstall 4096 11月  3 14:42 DB_DSC_FULL_2025_11_03_14_41_55


[dmdba@dsc3:/dmbak/DAMENG]$ cd /data/dmdbms/bin
[dmdba@dsc3:/data/dmdbms/bin]$ ./dmrman DCR_INI=/data/dmdsc/dmdcr.ini 
dmrman V8

RMAN> RESTORE DATABASE '/data/dmdsc/dsc3/dm.ini' FROM BACKUPSET '/dmbak/DAMENG/DB_DSC_FULL_2025_11_03_14_41_55';
RESTORE DATABASE '/data/dmdsc/dsc3/dm.ini' FROM BACKUPSET '/dmbak/DAMENG/DB_DSC_FULL_2025_11_03_14_41_55';
file dm.key not found, use default license!
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:04][Remaining:00:00:00]                                 
restore successfully.
time used: 00:00:18.131

#–恢复数据库到最新备份时刻
RMAN> RECOVER DATABASE '/data/dmdsc/dsc3/dm.ini' FROM BACKUPSET '/dmbak/DAMENG/DB_DSC_FULL_2025_11_03_14_41_55';
RECOVER DATABASE '/data/dmdsc/dsc3/dm.ini' FROM BACKUPSET '/dmbak/DAMENG/DB_DSC_FULL_2025_11_03_14_41_55';
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]                               
recover successfully!
time used: 00:00:22.230

#–恢复数据库到指定的时间点2025-11-03 15:12(以上二选一)
RMAN> RECOVER DATABASE '/data/dmdsc/dsc3/dm.ini' with archivedir '/dmbak/dmarch' until time '2025-11-03 15:12';
RECOVER DATABASE '/data/dmdsc/dsc3/dm.ini' with archivedir '/dmbak/dmarch' until time '2025-11-03 15:12';
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]                               
recover successfully!
time used: 00:00:21.110

RMAN> RECOVER DATABASE '/data/dmdsc/dsc3/dm.ini' UPDATE DB_MAGIC;
RECOVER DATABASE '/data/dmdsc/dsc3/dm.ini' UPDATE DB_MAGIC;
recover successfully!
time used: 00:00:16.219

3、通过监视器打开打开数据库服务。

[dmdba@dsc1:/data/dmdbms/bin]$ ./dmcssm dmcssm.ini 
[monitor]          [2025-11-03 15:05:02:210] CSS MONITOR V8
[monitor]          [2025-11-03 15:05:06:211] CSS MONITOR SYSTEM IS READY.

[monitor]          [2025-11-03 15:05:06:225] Wait CSS Control Node choosed...
[monitor]          [2025-11-03 15:05:07:327] Wait CSS Control Node choosed succeed.

show

monitor current time:2025-11-03 15:05:12, n_group:3
=================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 0] ========================================

DSC_MODE = FULL
[CSS1] auto check = TRUE, global info:
[ASM1] auto restart = TRUE
[DSC1] auto restart = FALSE
[CSS2] auto check = TRUE, global info:
[ASM2] auto restart = TRUE
[DSC2] auto restart = FALSE
[CSS3] auto check = TRUE, global info:
[ASM3] auto restart = TRUE
[DSC3] auto restart = FALSE

ep:     css_time               inst_name seqno port   mode         inst_status       vtd_status   is_ok  active guid          pid       ts          
        2025-11-03 15:05:11    CSS1      0     5336   Control Node OPEN              WORKING      OK     TRUE   47433439      151992    47695114    
        2025-11-03 15:05:11    CSS2      1     5336   Normal Node  OPEN              WORKING      OK     TRUE   15080         3821      271758      
        2025-11-03 15:05:11    CSS3      2     5336   Normal Node  OPEN              WORKING      OK     TRUE   49515877      162955    49773199    

=================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 0] ========================================

n_ok_ep = 3
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)
(2, 2)

sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL

crash process over flag is TRUE
ep:     css_time               inst_name seqno port   mode         inst_status       vtd_status   is_ok  active guid          pid       ts          
        2025-11-03 15:05:11    ASM1      0     5436   Control Node OPEN              WORKING      OK     TRUE   47446913      152050    47708557    
        2025-11-03 15:05:11    ASM2      1     5436   Normal Node  OPEN              WORKING      OK     TRUE   23773         4134      280430      
        2025-11-03 15:05:11    ASM3      2     5436   Normal Node  OPEN              WORKING      OK     TRUE   49529340      163012    49786631    

=================== group[name = GRP_DSC, seq = 2, type = DB, Control Node = 255] ========================================

n_ok_ep = 3
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)
(2, 2)

sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL

crash process over flag is FALSE
ep:     css_time               inst_name seqno port   mode         inst_status       vtd_status   is_ok  active guid          pid       ts          
        2025-11-03 15:05:11    DSC1      0     15236  Normal Node  SHUTDOWN          SHUTDOWN     OK     FALSE  311758457     292534    311760525   
        2025-11-03 15:05:11    DSC2      1     15236  Normal Node  SHUTDOWN          SHUTDOWN     OK     FALSE  219017772     50474     219019831   
        2025-11-03 15:05:11    DSC3      2     15236  Normal Node  SHUTDOWN          SHUTDOWN     OK     FALSE  311902871     309345    311904920   

==================================================================================================================

help
DMCSSM使用说明:
SHOW命令中可以通过指定group_name获取指定组的信息,如果没有指定,则显示所有组的信息
---------------------------------------------------------------------------------------------
1.help                                            --显示帮助
2.show [group_name]                               --显示指定的组信息
3.show config                                     --显示配置文件信息
4.show monitor                                    --显示当前连接的监视器信息
5.set group_name auto restart on                  --打开指定组的自动拉起功能(只修改dmcss内存值)
6.set group_name auto restart off                 --关闭指定组的自动拉起功能(只修改dmcss内存值)
7.open force group_name                           --强制OPEN指定的ASM或DB组
8.ep startup group_name                           --启动指定的ASM或DB组
9.ep stop group_name                              --停止指定的ASM或DB组
10.ep halt group_name.ep_name                     --强制退出指定组的指定节点
11.extend node                                    --扩展集群节点
12.ep crash group_name.ep_name                    --设定指定节点故障
13.check crash over group_name                    --检查指定组故障处理是否结束
14.transfer one_node/full                         --转换DSC集群模式
15.relocate dbgroup_name.seqno                    --在DSC ONE_NODE模式下,重定位旧节点上的数据库服务到指定节点上
16.set asm/db restart_cmd css_name.cmd_str        --设置指定CSS的ASM/DB节点的自动拉起命令(只修改dmcss內存值)
17.set asm/db restart_itvl css_name.itvl_num      --设置指定CSS的ASM/DB节点的自动拉起时间间隔(只修改dmcss內存值)
17.exit                                           --退出监视器

---------------------------------------------------------------------------------------------


ep startup GRP_DSC
[monitor]          [2025-11-03 15:05:40:595] 通知CSS(seqno:0)执行EP STARTUP(DSC1)
[monitor]          [2025-11-03 15:05:50:853] 通知CSS(seqno:0)执行EP STARTUP(DSC1)成功
[monitor]          [2025-11-03 15:05:50:856] 通知CSS(seqno:1)执行EP STARTUP(DSC2)
[monitor]          [2025-11-03 15:06:01:014] 通知CSS(seqno:1)执行EP STARTUP(DSC2)成功
[monitor]          [2025-11-03 15:06:01:016] 通知CSS(seqno:2)执行EP STARTUP(DSC3)
[monitor]          [2025-11-03 15:06:11:175] 通知CSS(seqno:2)执行EP STARTUP(DSC3)成功
[monitor]          [2025-11-03 15:06:11:177] 通知CSS(seqno:0)打开节点(DSC1)的自动拉起功能
[monitor]          [2025-11-03 15:06:11:229] 通知CSS(seqno:0)打开节点(DSC1)的自动拉起功能成功
[monitor]          [2025-11-03 15:06:11:231] 通知CSS(seqno:1)打开节点(DSC2)的自动拉起功能
[monitor]          [2025-11-03 15:06:11:282] 通知CSS(seqno:1)打开节点(DSC2)的自动拉起功能成功
[monitor]          [2025-11-03 15:06:11:284] 通知CSS(seqno:2)打开节点(DSC3)的自动拉起功能
[monitor]          [2025-11-03 15:06:11:336] 通知CSS(seqno:2)打开节点(DSC3)的自动拉起功能成功
[monitor]          [2025-11-03 15:06:11:338] 打开CSS自动拉起功能成功
[monitor]          [2025-11-03 15:06:11:340] 通知当前活动的CSS执行清理操作
[monitor]          [2025-11-03 15:06:12:243] 清理CSS(0)请求成功
[monitor]          [2025-11-03 15:06:12:295] 清理CSS(1)请求成功
[monitor]          [2025-11-03 15:06:12:347] 清理CSS(2)请求成功
[monitor]          [2025-11-03 15:06:12:349] 命令EP STARTUP GRP_DSC执行成功

[CSS1]             [2025-11-03 15:06:13:726] [DB]: 设置EP DSC1[0]为控制节点
[CSS1]             [2025-11-03 15:06:13:728] [DB]: 设置命令[START NOTIFY], 目标站点 DSC1[0], 命令序号[438]
[CSS1]             [2025-11-03 15:06:14:745] [DB]: 设置命令[DCR_LOAD], 目标站点 DSC1[0], 命令序号[439]
[CSS1]             [2025-11-03 15:06:14:746] [DB]: 设置命令[DCR_LOAD], 目标站点 DSC2[1], 命令序号[440]
[CSS1]             [2025-11-03 15:06:14:764] [DB]: 设置命令[DCR_LOAD], 目标站点 DSC3[2], 命令序号[441]
[CSS1]             [2025-11-03 15:06:14:883] [DB]: 设置命令[NONE], 目标站点 DSC1[0], 命令序号[0]
[CSS1]             [2025-11-03 15:06:14:884] [DB]: 设置命令[NONE], 目标站点 DSC2[1], 命令序号[0]
[CSS1]             [2025-11-03 15:06:14:902] [DB]: 设置命令[NONE], 目标站点 DSC3[2], 命令序号[0]
[CSS1]             [2025-11-03 15:06:14:919] [DB]: 设置命令[EP START], 目标站点 DSC1[0], 命令序号[443]
[CSS1]             [2025-11-03 15:06:15:341] [DB]: 设置命令[NONE], 目标站点 DSC1[0], 命令序号[0]
[CSS1]             [2025-11-03 15:06:15:444] [DB]: 设置命令[EP START], 目标站点 DSC2[1], 命令序号[445]
[CSS1]             [2025-11-03 15:06:15:445] [DB]: 设置命令[EP START], 目标站点 DSC3[2], 命令序号[446]
[CSS1]             [2025-11-03 15:06:15:668] [DB]: 设置命令[NONE], 目标站点 DSC2[1], 命令序号[0]
[CSS1]             [2025-11-03 15:06:15:669] [DB]: 设置命令[NONE], 目标站点 DSC3[2], 命令序号[0]
[CSS1]             [2025-11-03 15:06:15:688] [DB]: 设置命令[EP START2], 目标站点 DSC1[0], 命令序号[449]
[CSS1]             [2025-11-03 15:06:16:313] [DB]: 设置命令[NONE], 目标站点 DSC1[0], 命令序号[0]
[CSS1]             [2025-11-03 15:06:16:416] [DB]: 设置命令[EP START2], 目标站点 DSC2[1], 命令序号[451]
[CSS1]             [2025-11-03 15:06:16:417] [DB]: 设置命令[EP START2], 目标站点 DSC3[2], 命令序号[452]
[CSS1]             [2025-11-03 15:06:16:945] [DB]: 设置命令[NONE], 目标站点 DSC2[1], 命令序号[0]
[CSS1]             [2025-11-03 15:06:16:946] [DB]: 设置命令[NONE], 目标站点 DSC3[2], 命令序号[0]
[CSS1]             [2025-11-03 15:06:17:066] [DB]: 设置命令[EP OPEN], 目标站点 DSC1[0], 命令序号[455]
[CSS1]             [2025-11-03 15:06:17:068] [DB]: 设置命令[EP OPEN], 目标站点 DSC2[1], 命令序号[456]
[CSS1]             [2025-11-03 15:06:17:086] [DB]: 设置命令[EP OPEN], 目标站点 DSC3[2], 命令序号[457]
[CSS1]             [2025-11-03 15:06:17:205] [DB]: 设置命令[NONE], 目标站点 DSC1[0], 命令序号[0]
[CSS1]             [2025-11-03 15:06:17:206] [DB]: 设置命令[NONE], 目标站点 DSC2[1], 命令序号[0]
[CSS1]             [2025-11-03 15:06:17:224] [DB]: 设置命令[NONE], 目标站点 DSC3[2], 命令序号[0]
[CSS1]             [2025-11-03 15:06:17:239] [DB]: 设置命令[EP REAL OPEN], 目标站点 DSC1[0], 命令序号[459]
[CSS1]             [2025-11-03 15:06:17:256] [DB]: 设置命令[EP REAL OPEN], 目标站点 DSC2[1], 命令序号[460]
[CSS1]             [2025-11-03 15:06:17:273] [DB]: 设置命令[EP REAL OPEN], 目标站点 DSC3[2], 命令序号[461]
[CSS1]             [2025-11-03 15:06:17:391] [DB]: 设置命令[NONE], 目标站点 DSC1[0], 命令序号[0]
[CSS1]             [2025-11-03 15:06:18:318] [DB]: 设置命令[NONE], 目标站点 DSC2[1], 命令序号[0]
[CSS1]             [2025-11-03 15:06:18:320] [DB]: 设置命令[NONE], 目标站点 DSC3[2], 命令序号[0]

验证截图:

备份前操作:

 1、新建数据表,并插入数据

        

2、手动调用备份任务

        

3、查看备份文件是否在

备份后操作:

1、删除测试的数据表

恢复后验证:

恢复成功截图:

数据恢复,验证成功。

总结

重点注意(归档日志不完整):

解决办法:

   checkpoint(100);

在达梦数据库中,checkpoint(100); 命令用于手动触发一次“完全检查点”,其主要作用是将内存缓冲区(Buffer)中所有已修改但尚未写入磁盘的数据页(即“脏页”)强制刷新到数据文件中,并更新检查点LSN(CKPT_LSN)等信息。

详细解释

1. 基本作用
  • 强制刷新脏页到磁盘:达梦数据库在运行时,很多修改操作不会立即写入数据文件,而是先存在内存中,等特定时机(如自动检查点、手动检查点、数据库关闭等)才批量写入磁盘。
  • 确保数据一致性:执行 checkpoint(100) 后,内存中的脏页全部落盘,保证数据库在物理上的一致状态。
  • 更新检查点LSN(CKPT_LSN):CKPT_LSN 记录了已经安全写入磁盘的最新事务点。数据库恢复时,只需重做 CKPT_LSN 之后的日志,从而加快恢复速度,减少日志重做量。
2. “100”参数的含义
  • 100 代表执行“完全检查点”,即把所有脏页都写入磁盘。在达梦中,checkpoint 的类型和执行强度可以通过参数控制,100 表示强制执行一次完全检查点,确保所有脏页都落盘。
3. 典型应用场景
  • 解决“归档日志不连续”错误
    在联机备份时,如果出现“[-718]:收集到的归档日志不连续”错误,通常是因为归档日志中缺失部分LSN记录,数据库无法保证备份后的数据可以通过日志恢复到一致状态。执行 checkpoint(100); 会刷新 CKPT_LSN,使数据库从新的检查点开始,不再依赖缺失的日志,从而让备份得以继续执行11113。
  • 保障备份/恢复安全
    联机备份时,为确保数据一致性,系统会检查从 CKPT_LSN 到备份结束时的归档日志是否完整。如果日志不连续,备份将失败。通过执行 checkpoint(100);,可以将 CKPT_LSN 推进到最新位置,降低对缺失日志的依赖,从而成功完成备份11。
  • 手动刷脏页
    在需要确保数据持久性、减少故障恢复时间、释放日志空间等场景下,也可手动执行 checkpoint(100);

小结

checkpoint(100); 是达梦数据库中强制执行完全检查点的命令,用于将所有内存脏页写入磁盘,并推进检查点LSN,保障数据一致性、减少恢复所需日志、解决归档不连续等问题,是备份与恢复中常用的关键操作。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值