oracle insert 当前时间_Oracle如何开启闪回功能

Oracle如何开启闪回功能

Oracle在9i版本的时候引入了闪回技术,在Oracle 10g已经全面提供了闪回功能,主要提供了快速简单恢复数据库误操作的数据的恢复方法,而不用从逻辑备份或物理备份中恢复过来。

主要的闪回技术(Flashback)支持以下几种恢复级别:

事务闪回:对表进行了insert, update, delete 操作,已经commit 了,发现弄错了,需要恢复到某个commit操作之前的数据,则需要撤销刚才的某个操作。

行级闪回:对表进行了insert, update, delete 操作,需要恢复到某个时间点。

表级闪回:错误的drop table操作,需要表和表中的数据。

数据库级闪回:错误地对整个数据库导入很多表数据,需要将整个数据库恢复到过去的时间点。

闪回查询:闪回查询主要是根据Undo表空间数据进行多版本查询,允许用户查询过去某个时间点的数据,用以重构由于意外删除或更改的数据,数据不会变化。


oracle闪回功能的前提是在开启了归档日志,而且设置了合理的闪回区拥有存储相关执行操作,最后数据库要开启闪回功能,步骤如下:

1、开启归档日志,这个步骤就不一一再细说了,自行查询相关操作,主要是在

mount状态:alter database archivelog;

2、设置闪回区:

--指定闪回恢复区的位置alter system set db_recovery_file_dest='C:appAdministratorflash_recovery_area' scope=both;--指定闪回恢复区的可用空间大小alter system set db_recovery_file_dest_size=4G scope=both;--指定数据库可以回退的时间,单位为分钟,默认是一天时间,实际取决于闪回区大小alter system set db_flashback_retention_target=4320 scope=both;
46d423f59f5296024154836875917b4a.png

3、在mount状态下,开启Flashback,如下:

alter database flashback on;
1ca3e4f8f0a43a51fc82c93a36976a9d.png

​例子:简单利用闪回查询恢复刚刚误删除的学生信息表(STUINFO)中的学生张三(学号:SC201801001)。模拟步骤如下:

1、删除学生张三 :

delete from student.stuinfo t where t.stuname='张三';commit;

2、通过查询stuinfo执行删除之前的时间点的记录,如下:

select * from student.stuinfo as of timestamp sysdate-10/1440;

da6ebcf7326f21c22c12db144b434d7b.png

推荐文章:

Oracle逻辑备份和恢复 - FREE教程

Oracle RMAN备份 - FREE教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值