注册
DM8 定时备份作业配置与运行检查
专栏/技术分享/ 文章详情 /

DM8 定时备份作业配置与运行检查

科技不收敛 2026/10/10 259 0 0
摘要

DM8 定时备份作业配置与运行检查

最近在学 DM 的作业管理,定时备份是一个比较容易把流程串起来的例子。备份内容、保存位置、执行周期都需要配置,任务运行后还有历史记录可以查看。顺着一项备份任务去看,作业、步骤和调度各自负责什么,就容易理解一些。

下面用“每天 23:00 执行一次全库备份”说明配置和检查过程。

一、作业、步骤和调度是什么关系

DM 作业由一个或多个步骤组成,步骤定义具体操作,调度安排作业的运行时间。官方功能说明对这几个概念有详细介绍。

放到定时备份里,可以这样对应:

对象 示例 作用
作业 BAK_FULL_DAILY 把这项定时备份任务组织起来
作业步骤 FULL_BACKUP 执行数据库完全备份
作业调度 DAILY_2300 安排每天 23:00 运行

一个作业可以配置多个步骤和调度。刚开始学习,可以只配置一个备份步骤和一个调度,方便查看每一项设置对应的运行结果。

二、配置前先检查环境

这里配置的是数据库在线备份,需要先确认归档模式和本地归档配置。在查询窗口中执行:

-- 查看数据库及归档模式 SELECT NAME, ARCH_MODE FROM V$DATABASE; -- 查看归档配置 SELECT * FROM V$DM_ARCH_INI;

ARCH_MODE 表示归档模式,字段定义见系统视图说明。在线备份的归档要求和开启方法,可以对照管理工具的备份说明检查。

备份目录要填写数据库服务器上的路径。例如使用 /data/dmbak,就在数据库服务器上检查:

ls -ld /data/dmbak df -h /data/dmbak

前一条查看目录是否存在及其权限,后一条查看所在文件系统的剩余空间。数据库服务的运行用户需要能写入这个目录。

连接数据库的账号也要有相应权限。作业管理权限与备份权限分别核对;只有作业管理权限,并不意味着一定能完成数据库备份。普通用户的 ADMIN JOB 权限也不包含代理环境初始化权限。

三、通过管理工具配置作业

管理工具里的配置顺序是:创建代理环境、新建作业、添加步骤、添加调度,最后保存。具体界面可对照官方管理工具说明。

3.1 查看代理环境

连接数据库后,在对象导航中找到“代理”。如果还没有初始化代理环境,由有权限的账号右键选择“创建代理环境”。已有代理环境时,直接展开查看。

初始化后,代理下可以看到“作业”“警报”和“操作员”等项目。初始化会建立 SYSJOB 模式下的相关系统表和视图,作业环境手册列出了这些对象。

3.2 新建作业

右键“作业”,选择“新建作业”,在常规信息里填写:

配置项 示例值
作业名称 BAK_FULL_DAILY
作业描述 每天 23:00 执行全库完全备份
作业状态 启用

名称尽量能看出任务用途。之后查运行记录、核对目录时,可以直接按这个名称找到任务。

3.3 添加备份步骤

进入“作业步骤”,点击“添加”,填写步骤名称 FULL_BACKUP,选择“备份数据库”类型,备份方式选择“完全备份”,路径填写 /data/dmbak。

高级选项里还有成功、失败后的处理方式。对于只包含一个步骤的学习示例,可以设置为报告步骤执行结果后结束作业。这样后续检查步骤历史时,也有对应记录可看。操作选项的含义见作业步骤说明。

这里的路径是备份保存位置。配置时把它和数据库数据文件目录、归档目录区分开,检查时也要回到这个路径核对。

3.4 添加调度

进入“作业调度”,新建调度 DAILY_2300,设置反复执行、每天一次、23:00 运行,并核对调度是否启用、生效日期是否正确。

保存前再读一遍界面显示的调度频率,确认它表达的是“每天 23:00”,而不是只执行一次,或在某个时间段内反复执行。具体备份时段需要结合业务负载安排。

管理工具的 DDL 页面可以查看本次配置生成的语句。学习时把界面选项和这些语句对照起来,也有助于理解系统过程各参数的用途。

四、保存后怎么核对

配置保存后,可以重新打开作业属性检查,也可以查询系统表。下面按作业名查看作业、步骤和调度,查询账号需要有相应权限:

-- 查看作业 SELECT * FROM SYSJOB.SYSJOBS WHERE NAME = 'BAK_FULL_DAILY'; -- 查看这个作业的步骤 SELECT * FROM SYSJOB.SYSJOBSTEPS WHERE JOBID = ( SELECT ID FROM SYSJOB.SYSJOBS WHERE NAME = 'BAK_FULL_DAILY' ); -- 查看这个作业的调度 SELECT * FROM SYSJOB.SYSJOBSCHEDULES WHERE JOBID = ( SELECT ID FROM SYSJOB.SYSJOBS WHERE NAME = 'BAK_FULL_DAILY' );

三个查询分别对应任务定义、执行内容和时间安排。这时可以确认配置是否保存,实际有没有运行,还要看历史记录。

4.1 查看作业历史

在管理工具里右键对应作业,选择“查看作业历史信息”,核对实际开始时间、结束时间和错误信息。

DM8 的作业运行历史保存在 SYSJOBHISTORIES2 中:

SELECT EXEC_ID, NAME, START_TIME, END_TIME, ERRCODE, ERRINFO FROM SYSJOB.SYSJOBHISTORIES2 WHERE NAME = 'BAK_FULL_DAILY' ORDER BY EXEC_ID DESC;

EXEC_ID 用来识别一次执行,START_TIME 和 END_TIME 记录起止时间,ERRCODE、ERRINFO 保存错误码和错误描述。查看时要找到本次执行的记录,避免把前一次的成功记录当成当前结果。

4.2 查看步骤历史

继续查询具体步骤:

SELECT EXEC_ID, NAME, STEPNAME, START_TIME, END_TIME, ERRCODE, ERRINFO FROM SYSJOB.SYSSTEPHISTORIES2 WHERE NAME = 'BAK_FULL_DAILY' ORDER BY EXEC_ID DESC;

作业和步骤历史可以通过同一个 EXEC_ID 对应起来。如果一项作业有多个步骤,就能进一步确认哪个步骤报错。

步骤历史是否记录,与步骤的“报告结果”设置有关。查不到记录时,还要核对这个选项,不能直接认定步骤没有执行。字段和记录条件见作业系统表说明。

有些旧资料使用 SYSJOBHISTORIES。DM8 手册说明,这张表保留用于兼容早期版本,查询 DM8 作业执行历史时应使用 SYSJOBHISTORIES2。

五、回到备份目录检查

核对运行记录以后,在服务器上查看备份保存位置:

ls -ltrn /data/dmbak df -h /data/dmbak

关注本次运行时间附近是否生成了新的备份集目录,并检查其中的文件。如果备份落在子目录里,继续进入对应目录查看;目录的时间只能帮助定位,判断时还要结合内容和执行记录。

这些检查能帮助确认任务是否运行、备份内容是否生成。备份是否可用于恢复,还要通过备份集校验和恢复测试确认。

六、遇到异常时从哪里查

没有预期的执行记录,先回到作业和调度属性,核对启用状态、生效日期、执行周期和运行时间。同时确认查询的是正确的数据库实例、作业名和历史表。作业历史一般在执行结束后写入,正在运行的任务也需要结合管理工具状态查看。

界面显示成功,但目录里找不到备份,先确认查看的是数据库服务器上的配置路径,再根据实际执行时间查找对应备份集。必要时重新查看备份步骤的保存位置,避免连错实例或查错目录。

七、这次学习的体会

把作业、步骤、调度和历史记录放到同一个备份例子里看,比单独记界面上的选项容易一些。配置时看任务内容和时间安排,运行后看历史记录和保存位置,每一部分都有可以核对的地方。

参考资料

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服