一、概述达梦数据需要设置备份策略可以按照以下SQL脚本执行实现全备、增备、定时删除功能可以根据实际情况自行修改备份时间、任务名称、备份路径等。二、达梦客户端执行SQL脚本-- 全备 -- 作业名称 bakup_ql 可以修改 call SP_CREATE_JOB(bakup_ql,1,0,,0,0,,0,); call SP_JOB_CONFIG_START(bakup_ql); -- 【关键修改点】将第4个参数中的路径部分替换为你想要的新路径记得查看一下文件夹权限 -- 例如原路径 /data/dmdata/dmbak 改为 /your/new/backup/dir call SP_ADD_JOB_STEP(bakup_ql, bak_ql, 6, 01000000/data/dmdata/dmbak, 1, 2, 0, 0, NULL, 0); call SP_ADD_JOB_SCHEDULE(bakup_ql, diaoduql, 1, 2, 1, 64, 0, 01:00:00, NULL, 2026-01-01 00:00:00, NULL, ); call SP_JOB_CONFIG_COMMIT(bakup_ql); -- 增备 -- 作业名称 bakup_zl 可以修改 call SP_CREATE_JOB(bakup_zl,1,0,,0,0,,0,); call SP_JOB_CONFIG_START(bakup_zl); -- 【关键修改点】将第4个参数中的路径部分替换为你想要的新路径 -- 例如原路径 /data/dmdata/dmbak 改为 /your/new/backup/dir call SP_ADD_JOB_STEP(bakup_zl, bak_zl, 6, 11000000/data/dmdata/dmbak|/data/dmdata/dmbak, 1, 0, 2, 6, NULL, 0); call SP_ADD_JOB_SCHEDULE(bakup_zl, diaodu_zl, 1, 2, 1, 63, 0, 22:00:00, NULL, 2026-01-01 00:00:00, NULL, ); call SP_JOB_CONFIG_COMMIT(bakup_zl); -- 定时删除 -- 作业名称 bak_clear 可以修改 call SP_CREATE_JOB(bak_clear,1,0,,0,0,,0,每天删除15天前的备份); call SP_JOB_CONFIG_START(bak_clear); -- 【关键修改点】将第4个参数中的路径部分替换为你想要的新路径 -- 例如原路径 /data/dmdata/dmbak 改为 /your/new/backup/dir call SP_ADD_JOB_STEP(bak_clear, del_bak, 0, SF_BAKSET_BACKUP_DIR_ADD(DISK,/data/dmdata/dmbak); -- 15 天 可以根据实际情况修改删除天数 CALL SP_DB_BAKSET_REMOVE_BATCH(DISK,SYSDATE-15);, 1, 2, 0, 0, NULL, 0); call SP_ADD_JOB_SCHEDULE(bak_clear, diaodu_del, 1, 1, 1, 0, 0, 01:00:00, NULL, 2026-01-01 00:00:00, NULL, ); call SP_JOB_CONFIG_COMMIT(bak_clear);可以手动触发一次备份以验证路径是否正确call SP_JOB_EXECUTE(bakup_ql);三、常见问题1、执行SQL脚本报-3503无效的函数参数解决1.1、要查看一下版本信息然后修改一下临时参数。SELECT ID_CODE ,BUILD_TYPE , TO_NUMBER(SUBSTR(VER,1,2),XX) ||.||TO_NUMBER(SUBSTR(VER,3,2),XX) ||.||TO_NUMBER(SUBSTR(VER,5,2),XX) ||.||TO_NUMBER(SUBSTR(VER,7,2),XX) AS INNER_VER FROM (SELECT DECODE(SUBSTR(VER,1,2),03,企业版,05,安全版,02,标准版,其他) AS BUILD_TYPE ,RAWTOHEX(CAST(SUBSTR(VER,3) AS INT)) AS VER FROM (SELECT REGEXP_SUBSTR(ID_CODE,[^-],1,1) AS VER) );1.2、查看COMPATIBLE_MODE的值比如值是4。select * from v$dm_ini where para_name COMPATIBLE_MODE1.3、COMPATIBLE_MODE的参数改为0重启下数据库后再执行全备等SQL脚本sp_set_para_value(2,COMPATIBLE_MODE,0);1.4、再把COMPATIBLE_MODE的参数改改回之前的值再重启下数据库。2、执行全备等SQL脚本后查看日志报错-8003 缺少本地或远程归档或备份文件夹下没有备份文件解决因为没有配置归档执行如下ALTER DATABASE MOUNT; ALTER DATABASE ARCHIVELOG; -- /home/dmarch 归档路径可以修改前提是文件夹提前创建好 ALTER DATABASE ADD ARCHIVELOG DEST/home/dmarch, TYPELOCAL, FILE_SIZE2048, SPACE_LIMIT40960; ALTER DATABASE OPEN;
达梦数据创建备份文件脚本
一、概述达梦数据需要设置备份策略可以按照以下SQL脚本执行实现全备、增备、定时删除功能可以根据实际情况自行修改备份时间、任务名称、备份路径等。二、达梦客户端执行SQL脚本-- 全备 -- 作业名称 bakup_ql 可以修改 call SP_CREATE_JOB(bakup_ql,1,0,,0,0,,0,); call SP_JOB_CONFIG_START(bakup_ql); -- 【关键修改点】将第4个参数中的路径部分替换为你想要的新路径记得查看一下文件夹权限 -- 例如原路径 /data/dmdata/dmbak 改为 /your/new/backup/dir call SP_ADD_JOB_STEP(bakup_ql, bak_ql, 6, 01000000/data/dmdata/dmbak, 1, 2, 0, 0, NULL, 0); call SP_ADD_JOB_SCHEDULE(bakup_ql, diaoduql, 1, 2, 1, 64, 0, 01:00:00, NULL, 2026-01-01 00:00:00, NULL, ); call SP_JOB_CONFIG_COMMIT(bakup_ql); -- 增备 -- 作业名称 bakup_zl 可以修改 call SP_CREATE_JOB(bakup_zl,1,0,,0,0,,0,); call SP_JOB_CONFIG_START(bakup_zl); -- 【关键修改点】将第4个参数中的路径部分替换为你想要的新路径 -- 例如原路径 /data/dmdata/dmbak 改为 /your/new/backup/dir call SP_ADD_JOB_STEP(bakup_zl, bak_zl, 6, 11000000/data/dmdata/dmbak|/data/dmdata/dmbak, 1, 0, 2, 6, NULL, 0); call SP_ADD_JOB_SCHEDULE(bakup_zl, diaodu_zl, 1, 2, 1, 63, 0, 22:00:00, NULL, 2026-01-01 00:00:00, NULL, ); call SP_JOB_CONFIG_COMMIT(bakup_zl); -- 定时删除 -- 作业名称 bak_clear 可以修改 call SP_CREATE_JOB(bak_clear,1,0,,0,0,,0,每天删除15天前的备份); call SP_JOB_CONFIG_START(bak_clear); -- 【关键修改点】将第4个参数中的路径部分替换为你想要的新路径 -- 例如原路径 /data/dmdata/dmbak 改为 /your/new/backup/dir call SP_ADD_JOB_STEP(bak_clear, del_bak, 0, SF_BAKSET_BACKUP_DIR_ADD(DISK,/data/dmdata/dmbak); -- 15 天 可以根据实际情况修改删除天数 CALL SP_DB_BAKSET_REMOVE_BATCH(DISK,SYSDATE-15);, 1, 2, 0, 0, NULL, 0); call SP_ADD_JOB_SCHEDULE(bak_clear, diaodu_del, 1, 1, 1, 0, 0, 01:00:00, NULL, 2026-01-01 00:00:00, NULL, ); call SP_JOB_CONFIG_COMMIT(bak_clear);可以手动触发一次备份以验证路径是否正确call SP_JOB_EXECUTE(bakup_ql);三、常见问题1、执行SQL脚本报-3503无效的函数参数解决1.1、要查看一下版本信息然后修改一下临时参数。SELECT ID_CODE ,BUILD_TYPE , TO_NUMBER(SUBSTR(VER,1,2),XX) ||.||TO_NUMBER(SUBSTR(VER,3,2),XX) ||.||TO_NUMBER(SUBSTR(VER,5,2),XX) ||.||TO_NUMBER(SUBSTR(VER,7,2),XX) AS INNER_VER FROM (SELECT DECODE(SUBSTR(VER,1,2),03,企业版,05,安全版,02,标准版,其他) AS BUILD_TYPE ,RAWTOHEX(CAST(SUBSTR(VER,3) AS INT)) AS VER FROM (SELECT REGEXP_SUBSTR(ID_CODE,[^-],1,1) AS VER) );1.2、查看COMPATIBLE_MODE的值比如值是4。select * from v$dm_ini where para_name COMPATIBLE_MODE1.3、COMPATIBLE_MODE的参数改为0重启下数据库后再执行全备等SQL脚本sp_set_para_value(2,COMPATIBLE_MODE,0);1.4、再把COMPATIBLE_MODE的参数改改回之前的值再重启下数据库。2、执行全备等SQL脚本后查看日志报错-8003 缺少本地或远程归档或备份文件夹下没有备份文件解决因为没有配置归档执行如下ALTER DATABASE MOUNT; ALTER DATABASE ARCHIVELOG; -- /home/dmarch 归档路径可以修改前提是文件夹提前创建好 ALTER DATABASE ADD ARCHIVELOG DEST/home/dmarch, TYPELOCAL, FILE_SIZE2048, SPACE_LIMIT40960; ALTER DATABASE OPEN;