DophinScheduler 如何定期删除日志实例?
转载自东华果汁哥
Apache DophinScheduler 运行一段时间后,实例调度日志越来越多,需要定期清理。
SQL 错误 [1701] [42000]: Cannot truncate a table referenced in a foreign key constraint (`dolphinscheduler`.`t_ds_task_instance`, CONSTRAINT `foreign_key_instance_id`) 如何删除dophinscheduler 实例日志
SQL 错误 [1701] [42000] 表示尝试截断(删除所有行)一个表,该表在其他表的外键约束中被引用。在这种情况下,dolphinscheduler.t_ds_task_instance表被 foreign_key_instance_id外键约束引用。
为了解决这个问题,您可以按照以下步骤操作:
1. 删除外键约束:
在删除表的数据之前,您需要删除或禁用引用该表的外键约束。这样可以确保数据库的完整性不受影响。
例如,您可以使用以下 SQL 语句来删除外键约束(请根据您的数据库系统调整语法):
ALTER TABLE referencing_table DROP FOREIGN KEY foreign_key_instance_id;
其中 referencing_table 是引用 t_ds_task_instance 的表名。
2. 截断表:
删除外键约束后,您现在可以截断表。
TRUNCATE TABLE dolphinscheduler.t_ds_task_instance;
3. 重新添加外键约束:
截断表后,如果您需要,可以重新添加外键约束。
ALTER TABLE referencing_table ADD CONSTRAINT foreign_key_instance_id FOREIGN KEY (instance_id) REFERENCES t_ds_task_instance(id);
请注意,在执行这些操作之前,请确保您有足够的权限,并且了解这些操作对您的数据库的影响。在生产环境中操作之前,建议备份数据库。
另外,如果您使用的是像 MySQL 这样的数据库,您也可以考虑使用 SET FOREIGN_KEY_CHECKS = 0; 来临时禁用外键约束,然后执行截断操作,之后再重新启用外键约束:
最终解决方案
SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE TABLE dolphinscheduler.t_ds_task_instance;
SET FOREIGN_KEY_CHECKS = 1;
但请注意,这种方法会暂时违反数据库的完整性,因此请谨慎使用。社区建议通过 open api的方式安全地删除工作流实例和任务实例,open api可以删除任务实例的运行日志。
原文链接:https://blog.csdn.net/u013421629/article/details/136932478
本文由 白鲸开源 提供发布支持!
DophinScheduler 如何定期删除日志实例?的更多相关文章
- Tomcat 修改日志输出配置 定期删除日志
tomcat的下的日志catalina.out 和 qc.log疯狂增长,以下是解决办法 我生产环境tomcat版本 Server version: Apache Tomcat/7.0.35 Serv ...
- shell脚本 定期删除日志
定期删除日志: 然后建立清除日志文件的shell脚本,文件名为clean_log只保留最近三天的日志 #! /bin/bashlogdir=/var/log/httpdcd ${logdir} ...
- tomcat日志切割和定期删除(转载)
tomcat日志切割和定期删除 在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话).特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很 ...
- tomcat日志切割和定期删除
tomcat日志切割和定期删除 在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话).特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很 ...
- 定期删除IIS日志文件
服务器中由于监控的需要会经常生成很多日志文件,比如IIS日志文件(C:\inetpub\logs\LogFiles),一个稍微有流量的网站,其日志每天可以达到上百兆,这些文件日积月累会严重的占用服务器 ...
- shell 删除日志
一般线上服务的日志都是采用回滚的防止,写一定数量的日志 或是有管理工具定期去转移老旧日志 前几天删除一个测试环境的日志,只保留两天的日志,结果把正在写的日志都给删掉了,不得不重启了服务,经过这一次的错 ...
- es定期删除数据
es定期删除数据 1.定期删除索引 使用sentinl报警后,会产生大量如下索引,虽然不占空间,但时间久了也不好,故写个脚本定期删除 脚本如下: 1 #!/bin/bash 2 #只保留5天内的日志索 ...
- Shell: 定期存档日志文件
简介 对于日志的分割删除我们一般会使用logratate,但对于项目较多的情况下,会让开发直接将日志分割写在代码里面,对于分割后过期的日志定期删除就很有必要,不然膨胀的日志会占满你的磁盘,将多余的日志 ...
- Sql Server自动备份数据库,定期删除备份
//实现:每天自动备份数据库,定期删除备份 //步骤:[开始]--[所有程序]--[Microsoft SQL Server 2005]--[SQL Server Management Studio] ...
- Azure Automation (2) 定期删除存储账号中的文件
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 本文是对笔者之前的文档Azure Backup (1) 将SQL ...
随机推荐
- Excel表格Vlookup跨sheet取值,ISNA函数处理匹配不到的空字符串
Excel表格Vlookup跨sheet取值 =VLOOKUP($A2,Sheet2!$A$2:$D$15,2,FALSE) $A2 代表当前的Sheet1的单元格,数据类型需要与查找的单元格字段类型 ...
- QQ、支付宝、微信收款码三合一
Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` QQ.支付宝.微信收款码三合一 日期:2018-8-24 ...
- UniTask入门指南:简化Unity中的异步编程
UniTask入门指南:简化Unity中的异步编程 介绍: UniTask是一个轻量级.高性能的异步编程库,专门针对Unity开发进行了优化.与Unity标准的Task系统相比,UniTask提供了更 ...
- pytest-parallel 多线程执行用例,访问pymysql数据库,遇到的问题
遇到的问题 1.pymysql.err.ProgrammingError: execute() first 2.File "D:\xxx\python3.8\lib\site-package ...
- spring事务传递特性-REQUIRES_NEW和NESTED
spring对于事务的实现的确是它的一大优点,节省了程序员不少时间. 关于事务,有许多可以聊的内容,例如实现方式.实现原理.传递特性等. 本文讨论传递特性中的REQUIRES_NEW,NESTED. ...
- python中dict和list的数据结构
要理解dict的有关内容需要你理解哈希表(map)的相关基础知识,这个其实是<算法与数据结构>里面的内容. 1.list和tuple其实是用链表顺序存储的,也就是前一个元素中存储了下一个元 ...
- 面试官:Java类是如何被加载到内存中的?
面试连环call Java类是如何被加载到内存中的? Java类的生命周期都有哪些阶段? JVM加载的class文件都有哪些来源? JVM在加载class文件时,何时判断class文件的格式是否符合要 ...
- SpringBoot获取指定Resource下的文件内容
加入依赖 <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</a ...
- 在github开源市场如何高效寻找优秀开源项目
作为程序员,不论是开发还是学习,肯定会用到开源项目,那么怎么快速在开源网站找到这些项目呢? 常用的开源网站有:github 和 gitee github是全球最大的开源社区,今天就以github为例, ...
- iOS开发基础100 - MDM证书申请流程
申请成为MDM Vendor 首先需要拥有一个 iOS Developer Enterprise Program 帐号; 申请成为MDM Vendor,iOS企业开发帐号默认不支持MDM功能,需要向苹 ...