Hadoop从入门到精通18:HDFS高级功能之回收站

1.Oracle的回收站

删除前:select * from tab;

删除表:drop table emp;

默认删除到Oracle的回收站。

删除后:select * from tab;(删除的表仍然存在,但是名字很怪)

查看回收站:show recyclebin;(删除的表名字形如BIN$*****)

可以通过回收站中的表的名字查看表原来的内容:select * from “BIN$*****”;

清空回收站:purge recyclebin;(不能恢复)

彻底删除一张表(不经过回收站):drop table emp purge;

通过企业版Oracle数据库的闪回技术(flashback)进行恢复删除的表:

11g:7种,10g:6种

闪回表
闪回查询
闪回删除:flashback drop 恢复回收站中的表
闪回版本查询
闪回事务查询
闪回数据归档
恢复回收站中的表:flashback table emp to before drop;

如果闪回同名表需要重命名:

1.第一次闪回:先恢复后删除的表:flashback table emp to before drop;

2.第二次闪回:需要重命名:flashback table emp to before drop rename to emp_old;

2.HDFS的回收站

2.1 打开HDFS回收站功能

打开回收站功能,编辑core-site.xml配置文件,加上如下配置参数:

# vim core-site.xml
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>

注意:这里的时间阈值:1440的单位是分钟,也就是一天。

加上这个参数后就打开了HDFS的回收站功能。删除文件时,就可以把文件先删除到回收站中,回收站里的文件可以快速回复。但是超过设置的时间阈值后,回收站的文件就会被自动永久删除,释放占用的数据块。

删除一个文件:

# hdfs dfs -rm /input/data.txt

默认情况下,HDFS的回收站是被禁用的,此时的删除日志是:

Deleted /input/data.txt

打开回收站功能时,删除文件是将文件移动到HDFS上的一个隐藏目录下,删除日志是:

Moved: *** to trash at: ***/.Trash/Current

2.2 查看HDFS回收站

# hdfs dfs -lsr /usr/root/.Trash/Current

2.3 从HDFS回收站恢复文件

# hdfs dfs -cp /usr/root/.Trash/Current/input/data.txt /input

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 5.多表查询 多表查询 目的:从多张表获取数据 前提:进行连接的多张表中有共同的列 等连接 通过两个表具有相同意义...
    乔震阅读 1,320评论 0 0
  • ] args) { 1.3 删除包 删除包体:drop package body 包名; 删除包:drop pac...
    随手点灯阅读 550评论 0 3
  • 1、开启、关闭闪回策略开启闪回需要数据库在归档模型下,所以首先需要开启归档。并且在mount状态下。 注意:不开启...
    笑才阅读 754评论 0 0
  • 一、源题QUESTION 1The instance abnormally terminates because ...
    猫猫_tomluo阅读 1,657评论 0 2
  • SCN System Change Number. A database ordering primitive. ...
    wqh8384阅读 774评论 0 0