
# 如何查看和恢复Doris集群回收站数据
#### 哪些场景会产生回收站数据？
- 数据均衡时，仅仅是将高负载磁盘上的tablet拷贝一份到低负载的磁盘，并将原有tablet放入垃圾回收站，并不会物理删除原有tablet，因此产生垃圾文件。
- Delete/drop/truncate等操作只是在逻辑上删除了数据，并没有进行物理删除，也会产生垃圾文件。
- 数据文件合并完成后，并没有物理删除旧的数据，产生垃圾文件。
 
#### 垃圾文件影响
- 过多垃圾文件，会占用磁盘，影响可用磁盘大小，可能造成有效数据丢失。
- 垃圾文件本身有防误删的功能，Doris可从垃圾文件中恢复数据，过少垃圾文件会影响防误删功能。
 
#### 如何查看回收站数据
1. 登录[表格存储服务控制台](https://console.huaweicloud.com/cloudtable)。
2. [创建Doris集群](https://support.huaweicloud.com/usermanual-cloudtable/cloudtable_01_0232.html)。
3. [连接Doris集群](https://support.huaweicloud.com/usermanual-cloudtable/cloudtable_01_0228.html)。
4. 执行此命令查看、恢复回收站数据。
   - 2.0.x版本用以下命令查看和恢复回收站数据。
     - 查看回收站数据。
       ```
       show trash;
       ```
       图1回收站数据   
       ![](https://support.huaweicloud.com/cloudtable_faq/zh-cn_image_0000002389141817.png) 
     
     - 恢复回收站数据。
       ```
       curl -X POST http://{be_host}:{be_webserver_port} /api/restore_tablet?tablet_id={tablet_id}\&schema_hash={schema_hash}
       ```
       - be_host：节点地址。
       
       - be_webserver_port：节点端口。
        
      
   
   - 2.1.X、3.0.X版本用以下命令查看和恢复回收站数据。
     - 查看回收站数据。
       ```
       SHOW CATALOG RECYCLE BIN;
       ```
       ![](https://support.huaweicloud.com/cloudtable_faq/zh-cn_image_0000002355621786.png "点击放大")
       
     
     - 恢复回收站数据。
       ```
       RECOVER TABLE demo.example_tbl;
       ```
       
      
    
 
 #### 设置回收站时间
- 回收站原理：删除的数据不会直接从磁盘上删除，而是先放入回收站，等待超时时间满足后，再从磁盘上直接删除。
- 设置回收站时间需要考虑的因素。
  - 回收站时间过长，会累积垃圾文件，占用磁盘空间。
  
  - 回收站时间过长，调用admin clean trash;命令后，容易导致数据不均衡，触发二次数据均衡，再次产生垃圾文件。
  
  - 回收站时间过短，容易误删、异常原因导致被删除的tablet无法被恢复。建议根据实际业务，观察回收站占用的磁盘空间的平均值，并根据占用磁盘空间和所需的防误删时间窗口，设置合理时间值。
    ```
    curl -X POST http://{be_ip}:{be_http_port}/api/update_config?trash_file_expire_time_sec={value}\&persist=true
    ```
    - be_host：节点地址。
    
    - be_webserver_port：节点端口。
    
    - trash_file_expire_time_sec：回收站清理的间隔，72个小时，当磁盘空间不足时，trash下的文件保存期可不遵守这个参数，默认值259200。
     
   
 
