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 ...
随机推荐
- 安装 Nuxt.js 的步骤和注意事项
title: 安装 Nuxt.js 的步骤和注意事项 date: 2024/6/17 updated: 2024/6/17 author: cmdragon excerpt: Nuxt.js在Vue. ...
- 实验7.Vlan划分实验
# 实验7.Vlan划分实验 本实验用于划分Vlan,并对划分的Vlan做隔离测试. 实验组 拓扑 Vlan隔离配置 在配置vlan前,测试PC1234互通 具体配置vlan 这里给出其中一台交换机的 ...
- hive第三课:Hive函数学习
Hive函数学习 目录 Hive函数学习 SQL练习 Hive 常用函数 关系运算 数值计算 条件函数(主要使用场景是数据清洗的过程中使用,有些构建表的过程也是需要的) 日期函数重点!!! 字符串函数 ...
- MyBase 7.1 可用的 Markdown 配置表
背景 找到了一款Markdown 笔记本软件MyBase,7.1版本支持markdown,所以我非常喜欢,修改了自己博客的css到软件里面,瞬间变得好看了. 效果图 设置方法 "工具 - 编 ...
- 3568F-PCIe 5G通信测试手册
- 制作visual studio 离线安装包
应用场景:脱机.内网环境安装vs开发环境. 概述:在互联网环境下载安装工具,下载根据需求并缓存布局(类似功能模块),压缩缓存内容拷贝至离线环境进行安装. 1.官网下载指定版本的vs安装客户端 创建基于 ...
- C语言gcc编译环境搭建
第一步,根据以下链接下载gcc工具包: gcc工具包下载地址: 链接:https://pan.baidu.com/s/1JqEjakTcWLPv7p6zkah6sA提取码:k4d2 第二步,将下载好的 ...
- Redis巡检检查 redis-check-aof
一.AOF1.AOF 是什么以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,Redis启动之初会读取该文件重新构建数据,换言之,R ...
- 【解决方案】智能UI自动化测试
你的UI自动化追得上业务的变更和UI更迭吗?当今瞬息万变的时代,成千上万的App围绕着现代人生活的点点滴滴.为了满足用户的好的体验和时刻的新鲜感,这些App需要时刻保持变化,也给 UI自动化落地实施带 ...
- Django REST framework的10个常见组件
Django REST framework的10个常见组件: 权限组件 认证组件 访问频率限制组件 序列化组件 路由组件 视图组件 分页组件 解析器组件 渲染组件 版本组件