`
tianyihuyidao9
  • 浏览: 165944 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

Flashback Drop闪回删除功能实践

 
阅读更多
Oracle的Flashback Drop闪回删除功能给出我们一种误DROP删除表的便捷恢复方式,实现这种功能的原理是Oracle的“回收站”(RecycleBin)功能。注意,如果被删除的表原先是存放在SYSTEM系统表空间上,则不支持此功能。

1.Flashback Drop功能
  恢复被错误drop掉的表。当一张表被删除后,依然可以查看被drop表的内容,是通过查看回收站中的内容实现的。

2.实现原理
  被删除的表将被存在一个叫recyclebin回收站的地方,当drop掉表后,实际上就是将改表改了个名字。

3.与回收站有关的视图
DBA_RECYCLEBIN
USER_RECYCLEBIN
RECYCLEBIN

4.显示当前用户曾经被drop掉的表简短信息
SQL> show recyclebin

5.清除回收站内容的条件
1)表空间不足
2)用户的空间配额不足
3)purge命令
4)使用flashback命令恢复表后,与之对应的回收站中的那条记录内容被清除。

6.Flashback Drop语法
SQL> FLASHBACK TABLE ft_1 TO BEFORE DROP;
SQL> FLASHBACK TABLE "BIN$Z6gzDCWg7hfgQAB/AQAROQ==$0" TO BEFORE DROP;
  上面两种方法都可以实现找回被删除表的功能。第一种方法是恢复到最后一次被删除的状态;第二种方法则可以对回收站中具体的一个对象进行闪回,用于一张表被多次删除后的恢复场景。

7.Flashback Drop闪回删除功能实践
(1).创建测试表ft_1
sys@ora11g> conn secooler/secooler
Connected.
secooler@ora11g> create table ft_1 as select * from all_objects;

Table created.

secooler@ora11g> select table_name from user_tables where table_name = 'FT_1';

TABLE_NAME
------------------------------
FT_1

(2).模拟drop掉ft_1表
secooler@ora11g> drop table ft_1;

Table dropped.

(3).查看回收站,这里看到ft_1表已经在回收站中了
secooler@ora11g> show recyclebin;
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
FT_1             BIN$vXtL504BE5vgQMKQt8Bnug==$0 TABLE        2012-04-12:20:14:24

(4).演示一下查询功能
secooler@ora11g> select count(*) from "BIN$vXtL504BE5vgQMKQt8Bnug==$0";

  COUNT(*)
----------
     71256

(5).闪回被drop掉的表
secooler@ora11g> flashback table ft_1 to before drop;

Flashback complete.

secooler@ora11g> select table_name from user_tables where table_name = 'FT_1';

TABLE_NAME
------------------------------
FT_1

  这里在能确认回收站中哪个是要恢复的表时,也可以使用下面的命令进行恢复。
secooler@ora11g> drop table ft_1;

Table dropped.

secooler@ora11g> show recyclebin;
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
FT_1             BIN$vXtL504IE5vgQMKQt8Bnug==$0 TABLE        2012-04-12:20:18:35

secooler@ora11g> flashback table "BIN$vXtL504IE5vgQMKQt8Bnug==$0" to before drop;

Flashback complete.

secooler@ora11g> select table_name from user_tables where table_name = 'FT_1';

TABLE_NAME
------------------------------
FT_1

OK,到这里,被删除的表便被顺利的恢复回来。

8.清除回收站内容的方法
  如果您确定、一定以及肯定不想恢复这些表的时候,可以使用以下方法对回收站进行清理。
1)清除当前用户的回收站
SQL> purge recyclebin;
SQL> purge user_recyclebin;

2)清除指定表空间tbs_sec_d的回收站
SQL> purge tablespace tbs_secooler_d;

3)清除指定表空间tbs_sec_d,同时指定用户sec的回收站
SQL> purge tablespace tbs_sec_d user sec;

4)清除回收站中所有的内容(sys用户)
SQL> purge dba_recyclebin

9.不产生回收站数据的同时drop表方法
  这种方法是彻底删除表的方法,使用前要考虑清楚。
SQL> drop table ft_1 purge;

10.小结
  在使用Flashback Drop闪回删除功能之前要充分了解此项功能的实现原理,以及使用此项功能的条件和它的限制条件。闪回删除功能为我们提供了表被误DROP后的便捷恢复手段。
分享到:
评论

相关推荐

    彻底删除和闪回oracle表

    Oracle数据库中的删除操作并不像我们通常理解的那样立即清除数据...然而,尽管闪回技术提供了额外的安全保障,但最佳实践仍然是在执行任何可能引起数据丢失的操作前,定期备份数据库,以确保在极端情况下也能恢复数据。

    oracle闪回数据库

    3. 闪回删除:对于误删除的表,通过`FLASHBACK DROP`可以恢复。 4. 数据比较:`FLASHBACK QUERY`可用于对比当前数据与过去某时刻的数据,以分析变化。 监控闪回数据库的关键在于确保有足够的空间来存储闪回日志,...

    用Oracle闪回功能恢复偶然丢失的数据.txt

    ### Oracle闪回功能详解与数据恢复实践 #### 引言 在数据库管理中,数据丢失是一种常见的风险,可能由各种原因造成,如误操作、硬件故障或软件错误等。为应对这种挑战,Oracle数据库自第10g版本起引入了强大的闪回...

    Oracle 10g Flashback 概述

    在实际应用中,需注意闪回功能的性能影响,合理配置数据库参数,如Undo Segments、Undo Retention等,确保闪回功能的高效运行。 10. **安全性与权限** 闪回功能涉及对数据库的敏感操作,因此必须谨慎分配权限。...

    Oracle 11g 从入门到精通——第十八章(视频教程)

    - 闪回查询(Flashback Query):使用SQL的AS OF子句,可以查看数据库在特定时间点的状态。 - 闪回事务(Flashback Transaction):跟踪和回滚单一事务的操作。 - 闪回表空间(Flashback Tablespace):恢复整个...

    oracle 误删恢复

    闪回删除(Flashback Drop) 除了闪回查询,Oracle还提供了闪回删除功能,它允许我们恢复整个表或索引。如果一个表被意外删除,我们可以使用此功能将其恢复到删除前的状态。然而,在使用闪回删除之前,我们需要...

    Oracle10gFlashback实践.doc

    **Flashback Query(闪回查询)**允许用户查看数据库在某个特定时间点的状态,即恢复到过去某一时刻的数据视图。在10g中,这主要通过查询UNDO表空间中的历史记录实现。以下是一个简单的示例: 1. 首先创建一个表`...

    oracle中误删除表后恢复语句(FLASHBACK)

    在Oracle数据库中,误删除数据表是一个常见的问题,但幸运的是,Oracle提供了强大的闪回(FLASHBACK)功能,可以帮助我们迅速恢复丢失的数据。本篇将详细介绍如何利用Oracle的FLASHBACK特性来恢复误删除的表。 首先...

    oracle备份恢复

    - **定义**:闪回删除操作可以恢复被删除的对象或数据。 - **应用场景**:当用户误删了重要对象或数据时。 - **操作方法**:使用`FLASHBACK DROP`命令。 #### 十、管理备份 - **备份管理**:包括备份文件的组织、...

    oracle误drop/update操作后的数据恢复测试

    在更新表数据后,如果想要恢复到更新前的状态,可以利用Oracle的闪回查询(Flashback Query)功能。首先,确保数据库开启了一个合适的还原点或者闪回区间,这样可以查询到过去某个时间点的数据状态。 - 查询当前...

    价值3万的Oracle视频课程[老相录制].txt

    - Flashback技术详解:包括Flashback Drop、Flashback Query等功能。 3. **安全性管理**: - 用户权限管理:系统权限与对象权限的区别及分配策略。 - 审计机制:跟踪用户活动,确保数据安全。 - 加密技术:使用...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

     ●oracle恢复管理器和oracle闪回技术  ●资源管理器  ●oracle自动存储管理  ●oracle调度程序  ●自动工作负荷知识库  ●性能调整 作译者  John Watson就职于BPLC Management Consultants,负责公司欧洲...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第1/2部分)

     ●oracle恢复管理器和oracle闪回技术  ●资源管理器  ●oracle自动存储管理  ●oracle调度程序  ●自动工作负荷知识库  ●性能调整 作译者  John Watson就职于BPLC Management Consultants,负责公司欧洲...

    oracle ocp 考试辅导

    考生需要掌握如何利用闪回技术(如Flashback Query、Flashback Drop等)来恢复被误删除或修改的数据。 ### 5. 应对数据库损坏 (Dealing with Database Corruption) 数据库损坏是一种严重的问题,可能由硬件故障、软件...

    oracle入门_盖国强

    - Flashback Technologies:提供了多种闪回功能,如 Flashback Drop, Flashback Query, Flashback Transaction Query 等,帮助用户恢复误删除或更改的数据。 - Enhanced Security Features:包括透明数据加密 (TDE...

    oracle语法和命令大全

    7. 数据库备份与恢复:Oracle提供物理备份(如RMAN)和逻辑备份(如EXPDP/IMPDP)方式,以及闪回(Flashback)技术和归档日志模式,确保数据安全。 8. 性能优化:Oracle提供了很多性能监控和优化工具,如SQL*Plus的...

    ORACLE&SQL

    - Flashback技术:提供时间点恢复,包括闪回查询、闪回事务和闪回数据库。 - 归档日志模式:确保在发生故障时能够进行完全恢复。 6. **安全性与审计** - 用户管理:创建、授权和管理数据库用户。 - 权限与角色...

    Oracle函数文档

    - **闪回技术**:如Flashback Query、Flashback Transaction和Flashback Table。 9. **Oracle的其他特性**: - **物质化视图**:用于快速访问汇总或复杂查询的数据。 - **物化查询表**:缓存查询结果以提高性能...

    Oracle Database Backup and Recovery User's Guide.pdf

    - **Flashback Drop**:恢复已删除的对象。 - **Flashback Transaction Query**:显示事务的更改历史。 - **Flashback Versions Query**:查看行级别的历史版本。 #### 五、用户管理的备份与恢复 - **手动备份*...

Global site tag (gtag.js) - Google Analytics