Oracle 10g回闪操作

本文详细介绍了Oracle数据库中的回闪技术,包括回闪表、回闪删除和回闪数据库的操作方法。为了执行回闪表操作,表必须具有可移动的行。非DBA用户执行回闪表操作需要特定权限。此外,还介绍了如何配置回闪区域和最大回闪时间,以及如何启用回闪数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

回闪表中的数据

      执行回闪表操作不需要非凡的设置。唯一的要求是表必须具有可移动的行--或者是在创建表时设置,或者是在以后利用 ALTER TABLE ACCOUNTS ENABLE ROW MOVEMENT语句设置。FLASHBACK TABLE语句从撤消段中(undo segment)读取该表的过去映像,并利用Oracle9i中引入的回闪查询重建表行。
      假如模式所有者之外的非DBA用户执行回闪表操作,她需要拥有对该表的SELECT、 DELETE、INSERT、ALTER和FLASHBACK权限,或者拥有等价的ANY TABLE系统权限。
flashback table table1,table2.... to timestamp to_timestamp ('12/31/2003 23:00:00','mm/dd/yyyy hh24:mi:ss');


回闪删除的表

flashback table table3 to before drop;


回闪数据库

通过设置以下两个参数来配置一个大小为2GB的回闪区域:
  
  db_recovery_file_dest = /usr/users/oracle/10.1/recovery_area
  db_recovery_file_dest_size = 2G
  
  使用以下参数,以分钟为单位配置最大回闪时间:
  
  db_flashback_retention_target = 1440
  
  这一数值反映出可以返回的最大时间;实际可能的时间由快闪恢复区域的可用空间大小来决定。所以这三个参数都是动态的,并可以使用ALTER SYSTEM命令进行设置。
  
  使数据库能够回闪。为此,它必须处于archivelog模式下。在MOUNT阶段,在OPEN之前,John发出如下命令:
  
  alter database flashback on;
  
  在启动Flashback Database之后,它定期将已发生变化的块写入一个非凡类型的称作回闪日志的日志文件中。这些日志不是由传统的Log Writer (LGWR) 过程写入,而是由一种称作Recovery Writer (RVWR)的新过程写入。与常规的重做日志(redo logs)不同,回闪日志既不需要由DBA创建,也不需要由他们维护;它们由Oracle Managed Files(OMF)自动在快闪恢复区域所指定的目录中创建。这些文件不会归档,所以,假如在该目录发生介质故障后就不可能再进行恢复。

软件开发网


回闪操作
  
  在所描述的Acme银行的事例中,John认为在他所处的情况下回闪表不太可行。他不得不将整个数据库回滚到过去的某个时间点。他再一次选择晚上11:00作为开始点,并发出以下命令:
  
  flashback database to timestamp
  to_timestamp ('12/31/2003
  23:00:00','mm/dd/yyyy hh24:mi:ss');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值