DM8共享集群数据库备份的设置

DM8集群备份设置指南

背景:

        近期项目使用了DM8DSC集群,需要有设置完整备份及恢复方案。(近期文档可能会有点错乱)

        备份方案:周全备,日增量,定期删除过期的备份文件,定期收集统计信息。

操作:
 

本次操作均在客户端进行(SQlark百灵上操作)

连接数据库,在SQL窗口或命令行窗口执行(按需调整备份时间及目录),注意:commit,即可:

SP_INIT_JOB_SYS(0);
SP_INIT_JOB_SYS(1);
--定时每周六运行,进行全量备份
call SP_CREATE_JOB('JOB_FULL_BAK_TIMELY',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('JOB_FULL_BAK_TIMELY');
call SP_ADD_JOB_STEP('JOB_FULL_BAK_TIMELY', 'JOB_FULL_BAK_TIMELY', 6, '01000000/dmbak/DAMENG', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB_FULL_BAK_TIMELY', 'JOB_FULL_BAK_TIMELY', 1, 2, 1, 64, 0, '00:30:00', NULL, '2025-11-07 12:06:08', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB_FULL_BAK_TIMELY');

--定时每天运行,进行增量备份(晚上,周六除外)
call SP_CREATE_JOB('JOB_INCREMENT_BAK_TIMELY_NIGHT',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('JOB_INCREMENT_BAK_TIMELY_NIGHT');
call SP_ADD_JOB_STEP('JOB_INCREMENT_BAK_TIMELY_NIGHT', 'JOB_INCREMENT_BAK_TIMELY_NIGHT', 6, '11000000/dmbak/DAMENG', 1, 3, 0, 0, NULL, 0);
call SP_ADD_JOB_STEP('JOB_INCREMENT_BAK_TIMELY_NIGHT', 'JOB_FULL_BAK', 6, '01000000/dmbak/DAMENG', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB_INCREMENT_BAK_TIMELY_NIGHT', 'JOB_INCREMENT_BAK_TIMELY_NIGHT', 1, 2, 1, 63, 0, '01:00:00', NULL, '2025-11-07 12:06:08', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB_INCREMENT_BAK_TIMELY_NIGHT');

--定时每周日运行,删除前30天的备份,包括全量和增量
call SP_CREATE_JOB('JOB_DEL_BAK_TIMELY',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('JOB_DEL_BAK_TIMELY');
call SP_ADD_JOB_STEP('JOB_DEL_BAK_TIMELY', 'JOB_DEL_BAK_TIMELY', 0, 'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dmbak/DAMENG'');
CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE - 15);', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB_DEL_BAK_TIMELY', 'JOB_DEL_BAK_TIMELY', 1, 1, 1, 0, 0, '00:10:10', NULL, '2025-11-07 12:06:08', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB_DEL_BAK_TIMELY');

--call SP_DROP_JOB('statistics');
call SP_CREATE_JOB('statistics',1,0,'',0,0,'',0,'每周六凌晨2点开始收集所有列统计信息');
call SP_JOB_CONFIG_START('statistics');
call SP_ADD_JOB_STEP('statistics', 'statistics1', 0, 'begin
    for rs in (select ''sf_set_SESSION_para_value(''''HAGR_HASH_SIZE'''',
                      (select cast( case when max(table_rowcount(owner,table_name))<=(select max_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''') and max(table_rowcount(owner,table_name))>=( select min_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''') then max(table_rowcount(owner,table_name))
                                         when max(table_rowcount(owner,table_name))<( select min_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''') then (select min_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''')
                                         else (select max_value from v$dm_ini where para_Name=''''HAGR_HASH_SIZE'''')
                                    end as bigint)
                      from dba_tables
                      where owner=''''''||NAME||''''''));'' sql1,
                      ''DBMS_STATS.GATHER_SCHEMA_STATS(''''''||NAME||'''''',100,TRUE,''''FOR ALL COLUMNS SIZE AUTO'''');'' sql2
              from SYS.SYSOBJECTS
              where TYPE$=''SCH'')
    loop
        execute immediate rs.sql1;
        execute immediate rs.sql2;
    end loop;
end;', 0, 0, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('statistics', 'statistics1', 1, 2, 1, 64, 0, '02:00:00', NULL, '2025-11-07 12:06:08', NULL, '');
call SP_JOB_CONFIG_COMMIT('statistics');

查看备份信息及手动调用备份

或者:

--手动调用备份
SELECT * FROM SYSJOB.SYSJOBS;
SP_DBMS_JOB_RUN(ID);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值