注册
定时备份与删除备份作业;物理、逻辑备份
专栏/技术分享/ 文章详情 /

定时备份与删除备份作业;物理、逻辑备份

DM_lll 2026/08/21 336 0 0
摘要

一、创建定时备份和删除备份的作业

1、图形化

虚拟机:VMwareworkstation V17
操作系统:Kylin-Server-10-SP2-x86
数据库:dm8_20260427_x86_CentOS7_64

(1)定时备份作业

./manager,打开DM管理工具,右键代理,创建代理环境。
image.png
右键作业,新建作业。
image.png
设置作业名和作业描述。
image.png
设置作业名称、步骤名称、步骤描述、步骤类型。
image.png
设置备份路径、备份并行数,压缩级别等。
image.png
设置步骤完成后的操作。
image.png
设置作业调度,这里设置为每天14点进行备份。
image.png
查看DDL。
image.png
右键FUL_BAK,点击立即执行作业。
image.png
查看DDL。
image.png
进入备份目录,查看备份。
image.png

(2)删除备份作业

右键作业,新建作业。
image.png
设置作业名、作业描述。
image.png
设置作业步骤,步骤类型为SQL脚本,并在编写脚本语句。
image.png
设置作业调度。
image.png

2、命令行

配置归档

ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG ‘DEST = /dmarch, TYPE = local,FILE_SIZE = 512, SPACE_LIMIT = 1024’;
ALTER DATABASE OPEN

初始化作业环境

call SP_INIT_JOB_SYS(1);

创建作业

call SP_CREATE_JOB(‘bakall_delall’,1,0,’’,0,0,’’,0,‘每天 23:00 全量备份、删除 30 天前的全量备份’);
创建作业参数
SP_CREATE_JOB (
JOB_NAME VARCHAR(128), – 作业名称
ENABLED INT, – 是否启用
ENABLE_EMAIL INT, – 是否开启邮件通知
EMAIL_HOME/DMDBAR_NAME VARCHAR(128), – 邮件通知的操作员
EMAIL_TYPE INT, – 邮件发送时机
ENABLE_NETSEND INT, – 是否开启网络发送(仅Windows早期版本)
NETSEND_HOME/DMDBAR_NAME VARCHAR(128),-- 网络发送的操作员
NETSEND_TYPE INT, – 网络发送时机
DESCRIBE VARCHAR(500) – 作业描述
)
image.png
image.png

开始配置

call SP_JOB_CONFIG_START(‘bakall_delall’);

添加步骤

call SP_ADD_JOB_STEP(‘bakall_delall’, ‘bakall’, 6, ‘01020000/home/dmdba/dmdbms/data1/DAMENG/bak’, 3, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_STEP(‘bakall_delall’, ‘delall’, 0, ‘SF_BAKSET_BACKUP_DIR_ADD(’‘DISK’’,’’/home/dmdba/dmdbms/data1/DAMENG/bak’’);
CALL SP_DB_BAKSET_REMOVE_BATCH(’‘DISK’’,SYSDATE-30);’, 1, 1, 0, 0, NULL, 0);
步骤参数
SP_ADD_JOB_STEP (
JOB_NAME VARCHAR(128), – 作业名称
STEP_NAME VARCHAR(128), – 步骤名称
TYPE INT, – 步骤类型(核心参数)
COMMAND TEXT, – 要执行的命令(与TYPE关联)
SUCC_ACTION INT, – 成功后的动作
FAIL_ACTION INT, – 失败后的动作
RETRY_ATTEMPTS INT, – 失败重试次数
RETRY_INTERVAL INT, – 重试间隔(秒)
OUTPUT_FILE_PATH VARCHAR(256), – ⚠️ 已废弃,无实际意义
APPEND_FLAG INT – ⚠️ 已废弃,无实际意义
)
image.png
image.png
TYPE=0 的COMMAND格式:
– 多条语句用分号分隔
TYPE=1 的COMMAND格式:
格式:[备份模式][压缩类型][路径]
第1位:0=完全备份,1=增量备份
第2位:0=不压缩,1=压缩
第3位起:备份路径
‘01E:\backup\full’ – 完全备份+压缩,指定路径
‘10E:\base_bak1,base_bak2|inc_bak’ – 增量备份(逗号分隔基础备份,|后为目标路径)
TYPE=6 的COMMAND格式:
格式:[备份模式][压缩级别][日志][并行数][USE_PWR][MAXPIECESIZE][归档删除][保留][路径]
image.png

‘10000000E:\backup\full’ – 完全备份+不压缩+备份日志+单线程+默认片大小
‘11110000E:\base_bak|inc_bak’ – 增量备份+压缩+不备份日志+并行4+自适应增量备份

添加作业调度

call SP_ADD_JOB_SCHEDULE(‘bakall_delall’, ‘bakall_delall_time01’, 1, 1, 1, 0, 0, ‘23:00:00’, NULL, ‘2019-01-01 01:01:01’, NULL, ‘’);
作业调度参数
SP_ADD_JOB_SCHEDULE (
JOB_NAME VARCHAR(128), – 作业名称
SCHEDULE_NAME VARCHAR(128), – 调度名称(同作业内唯一)
ENABLE INT, – 是否启用
TYPE INT, – 调度类型(核心)
FREQ_INTERVAL INT, – 频率周期
FREQ_SUB_INTERVAL INT, – 子频率(精细控制)
FREQ_MINUTE_INTERVAL INT, – 日内分钟间隔
STARTTIME VARCHAR(128), – 每日起始时间
ENDTIME VARCHAR(128), – 每日结束时间
DURING_START_DATE VARCHAR(128), – 有效日期起始
DURING_END_DATE VARCHAR(128), – 有效日期结束
DESCRIBE VARCHAR(500) – 调度描述
)
调度类型TYPE参数:
image.png
FREQ_SUB_INTERVAL 的位运算规则
每周可同时选多天执行,用7位二进制表示:
位序: 6 5 4 3 2 1 0
含义: 周六 周五 周四 周三 周二 周一 周日
示例:
仅周日:0000001
仅周一:0000010
周一和周三:0001010
周六和周日(周末): 1000001
时间范围参数:
image.png

提交配置

call SP_JOB_CONFIG_COMMIT(‘bakall_delall’);

二、通过工具和命令进行数据库物理、逻辑的备份、还原操作

1、物理备份还原—联机备份

(1)备份

在SQL中执行:
BACKUP 备份对象 ‘<dm.ini文件路径>’ [<备份类型>] [TO <备份名>] [BACKUPSET ‘<备份集路径>’][其他参数…];
image.png

image.png

(2)还原

SQL>RESTORE TABLE TAB_01 FROM BACKUPSET ‘tab_bak_01’;

2、物理备份还原—脱机备份

DMRMAN(DM RECOVERY MANAGER)是脱机备份还原命令行工具,无需额外安装,由它来统一负责库级脱机备份、脱机还原、脱机恢复等相关操作,该工具支持命令行指定参数方式和控制台交互方式执行,降低用户的操作难度。

(1)备份

image.png

(2)还原

image.png
image.png

3、逻辑备份还原

(1)dexp

dexp PARAMETER=<value> { PARAMETER=<value> }
image.png
image.png

(2)dimp

dimp PARAMETER=value { PARAMETER=value }

##将逻辑备份采用 FULL 方式完全导入到用户名为 SYSDBA,IP 地址为 192.168.178.101,端口号为 8888 的数据库。导入文件名为 db_str.dmp,导入的日志文件名为 db_str.log,路径为/mnt/data/dexp
./dimp USERID=SYSDBA/*****@192.168.178.101:8888 FILE=db_str.dmp DIRECTORY=/mnt/data/dexp LOG=db_str.log FULL=Y
image.png
image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服