数据库管理复习之oracle 10 G 闪回操作

 oracle 10 G 闪回操作
1 什么是闪回
 闪回是oracle9i开始才有的功能,10g进行了完善
 闪回操作包括了 查询闪回
   表闪回
   删除闪回
   数据库闪回
   
2 闪回操作在数据库恢复中的应用
 查询闪回:可用于查看和重建因为意外被删除或更改而丢失的数据。
  select sysdate from dual;
  
  select * from emp;

  delete from emp;

  commit;

  select * from emp as of timestamp
  to_timestamp ('时间点');

  闪回
  
  insert into emp
  (select * from emp to timestamp
  to_timestamp('时间点');

 表闪回: 利用表闪回可以恢复表 ,取消对表的进行的修改
  表闪回要求用户具有FLASHBACK ANY TABLE 权限

  ALTER TABLE 表名 ENABLE ROW MOVEMENT;

  FLASHBACK TABLE EMP TO TIMESTAMP
  TO_TIMESTAMP('时间点');
  
 删除闪回
  这个是一个新的安全机制,当一个表删除的时候,ORACLE 10G
  会将这个表放到回收站里面RECYCLEBIN中,这个数据会一直保存
  知道用户决定永久删除它们或者出现表空间的空间不足的时候才会
  被删除。回收站RECYCLEBIN 是一个虚拟容器,用于存储所有被删除
  的对象。
  查询回收站信息
  SHOW RECYCLEBIN
  或通过查询数据字段USER_RECYCLEBIN 
    SELECT OBJECT_NAME,ORIGINAL_NAME,TYPE,DROPTIME FROM USER_RECYCLEBIN'
   
  SQL> show recyclebin;
  ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
  ---------------- ------------------------------ ------------ -------------------
  DEPT             BIN$VjrBIcrVgk7gQBSUBSgFyg==$0 TABLE        2008-09-06:22:10:55
   查询到表以后,是可以通过删除闪回进行恢复的,引用以下命令
  SQL> flashback table dept to before drop;
  
  Flashback complete.
  
  或者 通过 回收站里面的文件回复就可以了 在不知道表名的前提下
  SQL> flashback table "BIN$VjrBIcrdgk7gQBSUBSgFyg==$0" to before drop;
  
  Flashback complete.
  
  如果要真正删除一个表 而不进入回收站 可以用PURGE;
  
  DROP TABLE DEPT PURGE;
  
  SHOW RECYCLEBIN;没有数据返回
  
  也可以用PURGE RECYCLEBIN 区域来永久删除表;
  
  SQL> show recyclebin;
  ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
  ---------------- ------------------------------ ------------ -------------------
  TEST             BIN$VjrBIcrjgk7gQBSUBSgFyg==$0 TABLE        2008-09-06:22:23:05
  
  
  PURGE TABLE TEST;
  
  SQL> PURGE TABLE TEST;
  
  Table purged.
  
  删除当前用户的回收站
  
  purge recyclebin;
  
  用SYS用户删除所有用的数据  
  
  purge dba_recyclebin;

 数据库闪回
  将数据库回到过去某一状态
  
   --select name,dbid,checkpoint_change#  SCN from v$database; (查查当前的SCN号)
  
   --select * from v$log  (查查日志的SCN号)
  
  FLASH DATABASE TO SCN 4474843028;
  FLASH DATABASE TO TIMESTAMP
  TO_TIMESTAMP ('时间点')
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值