ITPub博客

首页 > Linux操作系统 > Linux操作系统 > flashback总结三之Flashback_DROP

flashback总结三之Flashback_DROP

原创 Linux操作系统 作者:zhangshengdong 时间:2011-11-25 09:56:00 0 删除 编辑
Flashback DROP
  Flashback Drop 是从Oracle 10g 开始出现的, 用于恢复用户误删除的对象(包括表,索引等),
这个技术依赖于Tablespace Recycle Bin(表空间回收站),这个功能和windows的回收站非常类似。
  Flashback 不支持sys用户. system表空间下的对象,也不能从回收站里拿到。故使用SYS 或者
SYSTEM用户登陆时,show recyclebin 为空。
******************************邪恶的分割线*******************************************
个人操作如下:
C:\Documents and Settings\Administrator>sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 11月 25 10:05:09 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.

连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> connect sys/root as sysdba;
已连接。
SQL> show parameter recycle(查看recycle是否开启)
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
buffer_pool_recycle                  string
db_recycle_cache_size                big integer 0
recyclebin                           string      on
SQL> alter system set recyclebin=off;
系统已更改。
SQL> alter system set recyclebin=on; (两条控制recyclebin的语句)
系统已更改。
SQL> select count(*) from scott.emp;
  COUNT(*)
----------
        14
SQL> drop table scott.emp;
表已删除。
SQL> show recyclebin;
(没有任何内容,这是对的,原因是Flashback 不支持sys用户. system表空间下的对象有recycle)
切换到普通用户;
SQL> connect scott/tiger;
已连接。
SQL> show recyclebin;
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
BONUS            BIN$vnXMfk0VRkatWA7zjgYTCw==$0 TABLE        2011-11-19:09:44:34
BONUS            BIN$DHfhSw36QLCAHKp3ePaBYA==$0 TABLE        2011-11-19:09:42:11
DEPT             BIN$WP4KUX6wSz2KPcEvdDETkQ==$0 TABLE        2011-11-19:09:44:34
DEPT             BIN$QvSau6UMR4qsEcnVm8OIUg==$0 TABLE        2011-11-19:09:42:12
EMP              BIN$RSMM9q+YSJuabEchMfXhxQ==$0 TABLE        2011-11-25:10:06:26
EMP              BIN$qSL3MNWsRAiXyCvsP11RaQ==$0 TABLE        2011-11-19:09:44:34
EMP              BIN$T3q718WoSTyISvG7v/fZ4g==$0 TABLE        2011-11-19:09:42:12
SALGRADE         BIN$ZtMuOD7LReyrFLcyBTaPrg==$0 TABLE        2011-11-19:09:44:34
SALGRADE         BIN$bZ5ep4dMTDClhmw5xnzhWQ==$0 TABLE        2011-11-19:09:42:12
STUDENT          BIN$abihhQA0TCa9NWS3QGbuEw==$0 TABLE        2011-10-25:11:17:32
(这里可以看到回收站里面的所有以前drop的表,可以根据时间和表名,知道25号是刚刚我们删除的emp表)
SQL> select count(*) from "BIN$RSMM9q+YSJuabEchMfXhxQ==$0";(可以直接查看)
  COUNT(*)
----------
        14
SQL> flashback table "BIN$RSMM9q+YSJuabEchMfXhxQ==$0" to before drop;(闪回操作)
SQL> select count(*) from emp;
  COUNT(*)
----------
        14
恢复成功

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26446098/viewspace-712045/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-11-18

  • 博文量
    25
  • 访问量
    91402