189 8069 5689

数据库中如何使用闪回删除来回退DROPTABLE操作

这篇文章主要为大家展示了“数据库中如何使用闪回删除来回退DROP TABLE操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库中如何使用闪回删除来回退DROP TABLE操作”这篇文章吧。

在吉林等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、做网站 网站设计制作按需网站制作,公司网站建设,企业网站建设,品牌网站建设,成都营销网站建设,外贸网站制作,吉林网站建设费用合理。

--闪回
SELECT * FROM AA AS OF TIMESTAMP(sysdate-1/24/60)  --查看2个小时以前的数据
1/2就是12小时
1/24就是1小时
1/24/60就是1分钟

alter table tableName enable row movement; 
   这个命令的作用是,允许修改ORACLE分配给行的ROWID,在oracle中,插入一行数据
就会给它分配一个rowid,这行永远拥有这个ROWID,闪回表处理会对EMP完成DELETE操作
并添加新行,这样就会对新行分配一个新的ROWID; 否则会报 ora-08189错误。 
flashback table tableName to scn timestamp_to_scn(sysdate-1/12);--利用时间转换成SCN号,进行数据恢复.
SCN: 
   SCN(System ChangeNumber):系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动
增加,他是系统中维持数据的一致性和顺序恢复的重要标志。

--恢复删除的表
DROP TABLE AA; 
1.用如下语句查询到这个表还在Oracle回收站中: 
SELECT * FROM user_recyclebin WHERE original_name='AA'; 


2.用以下语句进行恢复: 
FLASHBACK TABLE AA TO BEFORE DROP;
ORACLE10G增加了回收站(recycle bin)的功能,从原理来说就是一个数据字典,保存被DROP对象的信息,]
实际上被DROP的对象,并没有被数据库删除,任然占有空间。除非用户手工purge和数据空间不够被清除掉.

3.清除回收站的数据
purge table tableName
purge recyclebin;--全部清除

使用闪回删除来回退DROP TABLE操作

这部分解释了如何使用FLASHBACK TABLE…TO BEFORE DROP语句从回收站获取对象。

关于闪回删除

闪回删除可以回退DROP TABLE操作的影响

闪回删除要比可应用于该场景的其它恢复技术要快,例如基于时间点的恢复,不会导致停机或最近的事务的丢失。

当你删除一个表的时候,数据库不会立即移除与这个表相关的空间。

相反,这个表被改名了,并与其它相关的对象一起,被放入了回收站。

系统产生的回收站对象的名称是唯一的。可以像查询其它对象一样,查询在回收站中的对象。

FLAHSBACK操作从收回站获取对象,当获取被删除的表的时候,

可以指定这个表的原始的由用户指定的名称,也可以指定系统产生的名称。

当你删除一个表,这个表和所有它依赖的对象都进入到了回收站。

因此当执行闪回删除的时候,所有的对象通常都是一起被获取。

当从回收站还原表时,依赖的对象,例如索引,不会得到它们原始的名字,保留系统产生的回收站中的名称。

Oracle会获取定义在该表上的所有的索引(位图连接索引除外)、触发器和约束(引用其它表的引用完整性约束除外)

一些依赖的对象,例如索引,可以会儿因为空间压力而被回收。这种情况下被回收的对象不会从回收站获取。

以上是“数据库中如何使用闪回删除来回退DROP TABLE操作”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


当前名称:数据库中如何使用闪回删除来回退DROPTABLE操作
本文来源:http://jkwzsj.com/article/ijijci.html

其他资讯