历史数据清理
为防止历史数据堆积对生产环境的稳定性产生影响,数据管理DMS提供历史数据清理功能,可以定期清理历史数据。
前提条件
数据库类型为MySQL。
数据库实例的管控模式为稳定变更或安全协同。管控模式的更多信息,请参见管控模式。
操作步骤
- 登录数据管理DMS 5.0。
在顶部菜单栏中,选择 。
说明若您使用的是极简模式的控制台,请单击控制台左上角的
图标,选择 。
填写数据变更工单申请后,单击提交申请。
部分参数信息说明如下:
参数名
说明
数据库
选择有变更权限的数据库。若您只有目标数据库的只读权限或表的变更权限则无法提交工单申请,具体请参见查看我的权限。
清理配置
填写表名、时间字段、时间精度、保留时长和过滤条件,系统将根据这些信息,自动生成相应的清理脚本。
说明如果是逻辑表,请填写逻辑表名。
设置保留时长可指定系统清理数据表中超过保留时长的数据。例如,保留时长设为7天,系统会清理数据表中保留时间超过7天的数据。
例如:表名(api_call_record_11)、时间列(gmt_create)、保留时长(7)、过滤条件(status = 1 or status=2),将会生成SQL:
DELETE FROM `api_call_record_11` WHERE `gmt_create` < SUBDATE(CURDATE(),INTERVAL 7 DAY) AND (status = 1 or status=2);
。定时执行
DMS在清理数据时会扫描全表,根据主键或非空唯一键分批执行,推荐执行时间设置为业务低峰期,且设置较低的执行频率。
说明定时执行的最小时间间隔为一小时。默认每天02:00执行。
策略配置
您可以指定执行时长,任务在执行指定时间后会自动暂停,避免在业务高峰期影响业务。
不指定执行时长,直到清理结束。
指定时长:指定执行时长,避免下游同步链路(如DTS或ADB)消费能力受限,从而影响DMS服务。
在选择是否指定时长后,您还可以选择是否启用定期Optimize Table功能(碎片空间整理)。系统默认关闭此功能,您可手动开启,开启后可设置间隔数(默认为60)。例如间隔数设置为60,则系统会在清理60次数据后,发起并执行一次碎片空间整理。
说明仅数据库类型为RDS MySQL、PolarDB MySQL支持开启Optimize Table功能。
碎片空间整理的执行时长与策略配置中的执行时长无关,即不随着清理时长结束而停止执行碎片空间整理。
变更相关人
设置的相关人员都可查看工单,并协同工作,非相关人员则不能查看工单(管理员、DBA除外)。
工单提交后,系统会进行预检查,检查通过后方可提交审批。如预检查失败,根据提示信息修改工单,并重新提交。
说明在提交审批前,您可以修改清理内容和定时配置,一旦提交审批后,您将不能再修改这些信息。
工单审批通过后,系统将自动生成定时任务,同时发送邮件给工单责任人。您可以在基本信息区域,单击查看定时任务,查看定时调度信息,同时您还可以进行如下操作。
暂停调度
说明如果需要关闭调度,请前往历史数据清理工单详情页,单击右上角的关闭工单,再填入关闭工单的具体原因,单击确定即可。
重启调度
说明关闭工单后,若需要重启调度只能重新提工单。
修改工单责任人
工单责任人默认是工单提交者。定时调度的暂停、重启,只有工单责任人有权限执行,每次调度执行的邮件通知,也只会发给责任人。
定时任务生成后,系统将会按照设置的定时策略,定时执行生成的SQL脚本。可以在工单中查看所有的调度信息以及每次调度的详情。
说明每次定时调度时,会检查当前工单是否存在还在执行中的调度任务,如果还有任务在执行,本次调度将不会生成SQL任务,所以您需要合理控制定时执行的频率。