doris恢复库恢复表

今天眼疾手快 不小心删了公司生产环境的表 而且碰巧这个数据没有备份的 当时哥们就呆住 还好doris升级过1.2 刚推出了恢复数据的功能~~~~~这里给老天爷磕一个了~~~~~~

数据删除恢复

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

开始数据恢复

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的是我建的这张空表~

连我的小chatgpt都跟不上时代的步伐!

于是我打开了doris技术文档:RECOVER - Apache Doris

找到了指定哪张表恢复的方法!

首先可以通过 SHOW CATALOG RECYCLE BIN 来查询当前可恢复的元信息。

然后可以看到具体的tableid

于是在后面跟上它的元数据信息即可! 

recover table dwd_tms_vesselschedule_basicinfo_transitport_df 3066881

以下是所有的例子:

  1. 以name恢复 database

    RECOVER DATABASE db_name;
  2. 以name恢复 table

    RECOVER TABLE [db_name.]table_name;
  3. 以name恢复 partition

    RECOVER PARTITION partition_name FROM [db_name.]table_name;
  4. 以name和id恢复 database

    RECOVER DATABASE db_name db_id;
  5. 以name和id恢复 table

    RECOVER TABLE [db_name.]table_name table_id;
  6. 以name和id恢复 partition

    RECOVER PARTITION partition_name partition_id FROM [db_name.]table_name;
  7. 以name恢复 database 并设定新名字

    RECOVER DATABASE db_name AS new_db_name;
  8. 以name和id恢复 table 并设定新名字

    RECOVER TABLE [db_name.]table_name table_id AS new_db_name;
  9. 以name和id恢复 partition 并设定新名字

    RECOVER PARTITION partition_name partition_id AS new_db_name FROM [db_name.]table_name;
    
    

说明:

  • 该操作仅能恢复之前一段时间内删除的元信息。默认为 1 天。(可通过fe.conf中catalog_trash_expire_second参数配置)
  • 如果恢复元信息时没有指定id,则默认恢复最后一个删除的同名元数据。
  • 可以通过 SHOW CATALOG RECYCLE BIN 来查询当前可恢复的元信息。

Example

  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;

    4. 恢复 example_db_id 且名为 example_db 的 database

RECOVER DATABASE example_db example_db_id;

    5. 恢复 example_tbl_id 且名为 example_tbl 的 table

RECOVER TABLE example_db.example_tbl example_tbl_id;

    6. 恢复表 example_tbl 中 p1_id 且名为 p1 的 partition

RECOVER PARTITION p1 p1_id FROM example_tbl;

    7. 恢复 example_db_id 且名为 example_db 的 database,并设定新名字 new_example_db

RECOVER DATABASE example_db example_db_id AS new_example_db;

    8. 恢复名为 example_tbl 的 table,并设定新名字 new_example_tbl

RECOVER TABLE example_db.example_tbl AS new_example_tbl;

    9. 恢复表 example_tbl 中 p1_id 且名为 p1 的 partition,并设定新名字 new_p1

RECOVER PARTITION p1 p1_id AS new_p1 FROM example_tbl;
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后季暖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值