doris数据删除恢复

恩慈2年前技术文章1484

用户执行命令drop database/table/partition之后,再使用命令recover来恢复整个数据库/表/分区的所有数据。这种修复将会把FE上的数据库/表/分区的结构,从catalog回收站里恢复过来,把它们从不可见状态,重新变回可见,并且原来的数据也恢复可见;

Doris为了避免误操作造成的灾难,支持对误删除的数据库/表/分区进行数据恢复,在drop table或者 drop database 或者 drop partition之后,Doris不会立刻对数据进行物理删除,而是在FE的catalog回收站中保留一段时间(默认1天,可通过fe.conf中catalog_trash_expire_second参数配置),管理员可以通过RECOVER命令对误删除的数据进行恢复。


注意,如果是使用drop force进行删除的,则是直接删除,无法再恢复。

查看可恢复数据

查看FE上哪些数据可恢复

SHOW CATALOG RECYCLE BIN [ WHERE NAME [ = "name" | LIKE "name_matcher"] ]


这里name可以是数据库/表/分区名。

关于该命令使用的更多详细语法及最佳实践,请参阅 SHOW-CATALOG-RECYCLE-BIN 命令手册,你也可以在 MySql 客户端命令行下输入 help SHOW CATALOG RECYCLE BIN 获取更多帮助信息。


开始数据恢复

1.恢复名为 example_db 的 database

RECOVER DATABASE example_db;


2.恢复名为 example_tbl 的 table

RECOVER TABLE example_db.example_tbl;


3.恢复表 example_tbl 中名为 p1 的 partition

RECOVER PARTITION p1 FROM example_tbl;


执行RECOVER命令之后,原来的数据将恢复可见。

相关文章

 MySQL性能优化(十)in参数列表过长导致的性能问题

MySQL性能优化(十)in参数列表过长导致的性能问题

有时候可能有人会问:where条件中使用in和or有什么区别,哪种写法性能更好?in参数个数有没有限制?下面就是一个由于in参数列表过长导致的性能问题。一个例子当时使用的是mysql 5.6版本SEL...

数据湖Iceberg

数据湖Iceberg

1、概述         Iceberg 是一个面向海量数据分析场景的开放表格式(Table Format)。表格式(Table  Format)可以理解为元数据以及数据文件的一种组织方式,处于计算框...

trino容器对接alluxio(四)

trino容器对接alluxio(四)

前提:本文是基于已经部署了trino容器和 集群中部署了alluxio组件的基础上,进行的trino与alluxio的组件对接,alluxio已经开启了高可用模式。本文的冒烟测试是在trino对接ld...

MySQL 通过 MTS 多线程恢复增量日志备份

MySQL 通过 MTS 多线程恢复增量日志备份

一、前言当发生 DDL 误删数据时,只能通过 备份 + 增量日志 来恢复,备份恢复到新实例后,将增量日志备份进行应用,此时只能单线程效率不高,我们可以使用 MySQL 5.7 推出的 MTS 多线程复...

ACOS统一监控之java应用断诊

ACOS统一监控之java应用断诊

一、前言对于一些使用Java语言搭建的应用架构,java的应用诊断可以帮助开发人员快速发现和解决应用程序中的问题,提高应用程序的性能和稳定性。以下是常用Java应用诊断方法:堆转储分析:使用工具如MA...

磁盘分区与挂载

磁盘分区与挂载

背景当我们新建一个服务器时,需要对磁盘进行分区、格式化、挂载等操作。那么我们应该如何进行呢?一、LVM技术1、安装所需的lvm工具yum install -y lvm22、创建物理卷PVpvcreat...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。