zoukankan      html  css  js  c++  java
  • oracle 闪回技术

    oracle默认不启动闪回数据库

    如果需要启动闪回数据库,数据库需要设置为归档模式,并启用恢复区。

    1、查看是否启动闪回删除

    SQL> show parameter recyclebin;
     
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    recyclebin                           string      on

    启动闪回

    2、测试闪回删除的表:

    创建两个一样的表,然后都删除,进行恢复。

    SQL> create table edu.test_flash(id number(12),name varchar2(20));
     
    Table created
     
    SQL> insert into edu.test_flash values(1,'1');
     
    1 row inserted
     
    SQL> commit;
     
    Commit complete
     
    SQL> drop table edu.test_flash;
     
    Table dropped
     
    SQL> create table edu.test_flash(id number(12),name varchar2(20));
     
    Table created
     
    SQL> insert into edu.test_flash values(2,'2');
     
    1 row inserted
     
    SQL> commit;
     
    Commit complete
     
    SQL> drop table edu.test_flash;
     
    Table dropped

    查看回收站

    SQL> select owner,original_name,object_name,ts_name,droptime from dba_recyclebin where owner='EDU';
     
    OWNER                          ORIGINAL_NAME                    OBJECT_NAME                    TS_NAME                        DROPTIME
    ------------------------------ -------------------------------- ------------------------------ ------------------------------ -------------------
    EDU                            TEST_FLASH                       BIN$MFwmGr6PC/LgUwEAAH94lA==$0 USERS                          2016-04-13:18:22:02
    EDU                            TEST_FLASH                       BIN$MFwmGr6QC/LgUwEAAH94lA==$0 USERS                          2016-04-13:18:22:31

    恢复删除的表

    SQL> flashback table edu.test_flash to before drop;
     
    Done

    再次查看回收站

    SQL> select owner,original_name,object_name,ts_name,droptime from dba_recyclebin where owner='EDU';
     
    OWNER                          ORIGINAL_NAME                    OBJECT_NAME                    TS_NAME                        DROPTIME
    ------------------------------ -------------------------------- ------------------------------ ------------------------------ -------------------
    EDU                            TEST_FLASH                       BIN$MFwmGr6PC/LgUwEAAH94lA==$0 USERS                          2016-04-13:18:22:02

    发现直接按照名字进行闪回,闪回的是最后删除的表

    如果需要指定闪回哪个表还可以执行:

    flashback table "BIN$MFwmGr6PC/LgUwEAAH94lA==$0" to before drop rename to test_flash_2;
  • 相关阅读:
    AJax封装避免页面重复代码
    word 2010 建立多级结构和目录
    (转)C# 选择正确的集合
    IIS7如何部署asp.net网站 (asp.net mvc 5 , asp.net 4.5 , asp.net 4.0 都可以 )
    (转)程序集清单定义与程序集引用不匹配- 分析及解决
    CentOS 6.5 安装 MySQL5.6 并用Navicat for MySQL 连接
    用EF访问Centos下的MySQL
    SQLServer中的页如何影响数据库性能 (转)
    .NET Framework各版本比较
    EntityFramework简介
  • 原文地址:https://www.cnblogs.com/huanhuanang/p/5388309.html
Copyright © 2011-2022 走看看