背景信息
OceanBase 开发者中心(OceanBase Developer Center,ODC)支持定时周期性执行用户创建的 SQL 脚本,以满足周期性执行用户所需的数据库开发和运维任务,例如周期性执行存储过程、备份和做库表结构同步等。
用户在 工单 创建 SQL 计划任务后,管理员会在工单的任务列表中审批任务,申请权限的用户可以在工单的任务列表中查看任务信息和审批状态。
本文档旨在介绍如何在 OceanBase 开发者中心(OceanBase Developer Center,ODC)上使用 SQL 计划任务,以申请创建和管理 SQL 计划任务。
新建 SQL 计划任务
示例:每月 2/29 日定期查询表 employee 数据。
| 信息项 | 示例值 | 
| 所属数据源 | mysql_4.2.0 | 
| 数据库名称 | odc_test | 
| 表名称 | employee | 
- 在 SQL 开发窗口中,单击 任务 > SQL 计划 > 新建 SQL 计划。  
- 在 新建 SQL 计划 面板中,输入以下信息。  - 信息项 - 说明 - 数据库 - 选择数据库。 - SQL 内容 - 支持两种指定 SQL 内容的方式: - SQL 录入:SQL 录入为默认方式,可在编辑区中直接录入 SQL 脚本。 - 在 SQL 录入中,默认最大允许输入 10MB 个字符,如超限可上传附件。 
- 单击 IN 值转化 按钮,可将批量复制的数据转化成 in('A','B')格式。 
- 列值分隔符号为换行符。 
- 行值分隔符为空格或 TAB 值。 
 
- 上传附件:选择上传附件方式后,单击文件池进入文件资源管理器选择要导入的文件或者直接将导入文件拖入文件池中以完成文件上传。 - 最多支持上传 500 个文件,总文件大小不超过 256 MB。 
- 默认附件按上传的先后排序,可拖拽改变顺序,任务执行时按文件顺序执行。 
- 当前只支持上传 .sql 后缀的 SQL 文件。 
 
 - 分隔符 - 支持 Delimiter 分隔符号。 - 查询结果限制 - 支持设置查询结果限制 (1-100w)。 - 执行超时时间 - 在 执行超时时间 文本框中输入数字指定语句执行超时时间,单位为小时(默认超时时间为 48 小时,最大不超过 480 小时)。 - 定时周期 - 可直接选择每小时/每天晚上/每周五快捷设置方式。 
- 支持两种设置定时周期的模式: - 默认模式:可选择每天/每周/每月,设置所需的执行周期时间。  
- 自定义模式:可选择秒/分/时/日/月/周,设置所需的执行周期时间。  
 
 - 任务设置 - 选择任务错误处理方式: - 停止任务:停止任务为默认方式,运行脚本的过程中出现错误时会停止运行。 
- 忽略错误继续任务:选择忽略错误继续任务方式,在运行脚本出现错后将跳过错误语句继续执行。 
 
- 选择任务执行时长超周期处理方式: - 待当前任务执行完毕在新周期发起任务。 
- 忽略当前任务状态,定期发起新任务。 
 
 - 备注(可选) - 可输入不超过 200 个字符的描述信息,该项为选填项。 
- 单击 新建,完成任务申请。 
查看 SQL 计划任务
任务列表
任务列表会显示最近 336 小时内的任务。
任务生成后会自动弹出 工单 面板,在 SQL 计划 列表中可以查看任务审批状态、任务信息并下载导出的数据结构文件。

进入 SQL 计划任务页签后,列表中会显示以下信息并且支持筛选和排序:
| 信息项 | 说明 | 
| 编号 | 显示任务编号。 单击搜索图标 | 
| 所属连接 | 显示目标任务所在的数据库连接名称。 单击筛选图标 | 
| 执行周期 | - | 
| 下一次执行时间 | 显示下一次执行 SQL 计划任务的时间。 | 
| 创建人 | 创建任务的用户。 单击搜索图标 | 
| 更新时间 | 显示该任务生成的具体日期和时间。 | 
| 状态 | 显示任务的当前状态(不同状态下提供的管理操作不同)。 | 
| 操作 | 提供 查看、通过/拒绝、编辑 和 启用/禁用 等任务管理操作。 
 | 
任务信息
- 在 工单 > SQL 计划 的任务列表页签中,单击任务列表操作列中的 查看 按钮弹出目标任务的任务详情面板。 
- 在 任务详情 面板中,单击 任务信息 页签查看任务基本信息和设置信息。 - 信息项 - 说明 - 任务基本信息 - 显示 任务状态、任务编号、任务类型、所属连接、备注、创建人 和 创建时间 等信息。 - 任务设置信息 - 显示创建分区计划任务时的 SQL 内容、定时周期、下一次执行时间、分隔符、查询结果限制、任务错误处理 和 执行超时时间 信息。 
执行记录
在 任务详情 面板中,单击 执行记录 页签查看 任务编号、所属库、创建时间、任务状态 和 操作 等信息。
操作记录
在 任务详情面板 中,单击 操作记录 页签查看 审批状态 和 审批记录 等信息。
导入 SQL 计划任务
您可以将云数据库 OceanBase 中的实例迁移到 OB Cloud,并将已迁移实例中包含的 SQL 计划任务迁移到 OB Cloud。
步骤一:从云数据库 OceanBase 导出 SQL 计划任务
- 在 云数据库 OceanBase 管理控制台 的左侧导航栏中,单击 数据研发 。 
- 单击 工单 > SQL 计划,在 SQL 计划页面中,勾选目标工单,单击 批量导出。  
- 在导出定时任务页面中,确认需要导出的任务,单击 全部导出。  
- 导出成功后,在弹窗中复制密钥,并妥善保存,在后续导入该 SQL 计划时需要填写。  
步骤二:导入 SQL 计划任务到 OB Cloud
- 在 云数据库 OceanBase 管理控制台 的左侧导航栏中,单击 生态集成,选择 SQL 开发 > OceanBase 开发者中心。  
- 在开发者中心,单击 工单 > SQL 计划,在 SQL 计划页面中,勾选目标工单,单击 导入 SQL 计划。  
- 在导入 SQL 计划的页面中,添加步骤一中导出的 zip 文件,填写 文件密钥,选择导入项目后,单击 下一步:预览。  
- 在预览页面中,选择新的目标数据库后,勾选 我已确认导入的工单新旧数据库对象一致,单击 导入。  
- 导入成功后,可以在 SQL 计划列表中看到导入的 SQL 计划。  


