创建定时备份job
启动达梦自带的客户端管理工具,可以很方便创建定时备份的job。
首先需要创建代理环境
对应的sql是:SP_INIT_JOB_SYS(1);
新建定时全备的job,DB_FULL_BAK
添加作业步骤
备份路径:最好是和数据库文件不同的路径。
备份方式:选择完全备份,一定要压缩,备份日志。
新建作业调度
比如设置每周六晚22:00:00做一次全备,具体时间请根据项目实际情况。
最后点击保存,一个定时全库备份的job就做好了
通过查看该job的属性,可以看到具体的DDL:
call SP_CREATE_JOB ( 'DB_FULL_BAK' , 1 , 0 , '' , 0 , 0 , '' , 0 , ' 定时全库备份 ' );
call SP_JOB_CONFIG_START ( 'DB_FULL_BAK' );
call SP_ADD_JOB_STEP ( 'DB_FULL_BAK' , 'S1' , 6 , '01040000/dm/backup' , 1 , 2 , 0 , 0 , NULL , 0 );
call SP_ADD_JOB_SCHEDULE ( 'DB_FULL_BAK' , 'S2' , 1 , 2 , 1 , 64 , 0 , '22:00:00' , NULL , '2019-10-23 07:00:00' , NULL , ' 每周六晚 22:00:00 做一次全备 ' );
call SP_JOB_CONFIG_COMMIT ( 'DB_FULL_BAK' );
创建定时删除全备job
创建定时删除全备文件的job,比如:只保留30天的备份,具体请根据实际情况设置
新建作业步骤
新增调度,比如每周六凌晨1点执行
call SP_CREATE_JOB ( 'DEL_DB_FULL_BAK' , 1 , 0 , '' , 0 , 0 , '' , 0 , ' 定时删除全库备份 ' );
call SP_JOB_CONFIG_START ( 'DEL_DB_FULL_BAK' );
call SP_ADD_JOB_STEP ( 'DEL_DB_FULL_BAK' , 'S1' , 0 , ' SP_DB_BAKSET_REMOVE_BATCH(NULL,SYSDATE-30);' , 1 , 2 , 0 , 0 , NULL , 0 );
call SP_ADD_JOB_SCHEDULE ( 'DEL_DB_FULL_BAK' , 'S2' , 1 , 2 , 1 , 64 , 0 , '01:00:00' , NULL , '2019-10-23 15:14:18' , NULL , '' );
call SP_JOB_CONFIG_COMMIT ( 'DEL_DB_FULL_BAK' );
创建定时删除归档日志文件的job
dmarch.ini可以限制归档文件的最大空间,但是还可以做定时任务去清理
添加作业步骤
新增调度,比如删除30天前的归档日志文件
查看DDL
call SP_CREATE_JOB ( 'DEL_ARCH' , 1 , 0 , '' , 0 , 0 , '' , 0 , ' 定时删除归档 ' );
call SP_JOB_CONFIG_START ( 'DEL_ARCH' );
call SP_ADD_JOB_STEP ( 'DEL_ARCH' , 'S1' , 0 , ' SF_ARCHIVELOG_DELETE_BEFORE_TIME(SYSDATE - 30);' , 1 , 2 , 0 , 0 , NULL , 0 );
call SP_ADD_JOB_SCHEDULE ( 'DEL_ARCH' , 'S2' , 1 , 2 , 1 , 1 , 0 , '01:00:00' , NULL , '2019-10-23 15:30:33' , NULL , '' );
call SP_JOB_CONFIG_COMMIT ( 'DEL_ARCH' )