自动备份某张表-DM8:达梦数据库配置定时作业备份某张表
环境介绍
- 在某些情况下,只需要备份重要的某个表
- 可以修改下面SQL语句中的模式名,表名
- 并将sql 配置在作业里面,设置好调度就完成了
- 若想备份多个表,可以自行修改sql
1 创建测试用的模式名,表名
CREATE SCHEMA "ABC231115" ;
CREATE TABLE "ABC231115"."AT231115"
(
"C1" VARCHAR2(50) NOT NULL,
"C2" VARCHAR(50),
"C3" VARCHAR(50),
"C4" VARCHAR(50),
NOT CLUSTER PRIMARY KEY("C1")) ;
insert into "ABC231115"."AT231115" VALUES ('4','','4','');
insert into "ABC231115"."AT231115" VALUES ('5','','5','');
commit;
2 每天执行一次,每晚 21点执行
call SP_CREATE_JOB('BAKTAB_AT231115',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('BAKTAB_AT231115');
call SP_ADD_JOB_STEP('BAKTAB_AT231115', 'BAKTAB_AT231115', 0, 'DECLARE
SCH VARCHAR:=''ABC231115''; --修改模式名
TAB VARCHAR:=''AT231115''; --修改表名
SCH_TAB VARCHAR:=(''"''||SCH||''"''||''.''||''"''||TAB||''"'');
SCH_TAB2 VARCHAR:=(''TAB_''||SCH||''_''||TAB||''_'');
D VARCHAR:=CURDATE();
T VARCHAR:=TO_CHAR(SYSDATE(),''hh24-MI-SS'');
DT VARCHAR:=(D||''_''||T);
BAKTAB VARCHAR:= ''backup table ''||SCH_TAB ||'' to "''||SCH_TAB2||DT ||''" ''||''backupset'' ||'' ''''''||SCH_TAB2||DT ||'''''' ''||''compressed level 1'';
BEGIN
/*
PRINT(DT);
PRINT(SCH_TAB);
PRINT(SCH_TAB2);
PRINT(BAKTAB);
*/
EXECUTE IMMEDIATE BAKTAB;
END;', 3, 3, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('BAKTAB_AT231115', 'BAKTAB_AT231115', 1, 1, 1, 0, 0, '21:00:39', NULL, '2023-11-15 14:00:39', NULL, '');
call SP_JOB_CONFIG_COMMIT('BAKTAB_AT231115');
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
3 SQL脚本(可以调试)
DECLARE
SCH VARCHAR:='ABC231115';
TAB VARCHAR:='AT231115';
SCH_TAB VARCHAR:=('"'||SCH||'"'||'.'||'"'||TAB||'"');
SCH_TAB2 VARCHAR:=('TAB_'||SCH||'_'||TAB||'_');
D VARCHAR:=CURDATE();
T VARCHAR:=TO_CHAR(SYSDATE(),'hh24-MI-SS');
DT VARCHAR:=(D||'_'||T);
BAKTAB VARCHAR:= 'backup table '||SCH_TAB ||' to "'||SCH_TAB2||DT ||'" '||'backupset' ||' '''||SCH_TAB2||DT ||''' '||'compressed level 1';
BEGIN
EXECUTE IMMEDIATE BAKTAB;
END;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
4 达梦数据库学习使用列表