doris数据删除恢复
用户执行命令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命令之后,原来的数据将恢复可见。