Oracle 闪回 flashback

闪回:修复逻辑错误,从当前的点往回退

1.闪回有专门的闪回日志,存放在FIA中,但是只有闪回数据库会用到

2.如果做全数据库的闪回,相当于一次不完全恢复

基于时间点的闪回

SQL> flashback table t_wh_prodlib to timestamp to_timestamp(‘2015-03-03 12:10:07‘, ‘yyyy-mm-dd hh24:mi:ss‘);

将数据库闪回到20150303 12:10:07

如果基于时间点的闪回报错

ERROR at line 1:

ORA-08180: no snapshot found based on specified time

则使用基于时间段的闪回

SQL> flashback table t_wh_prodlib to timestamp systimestamp - interval ‘27‘ minute;

将数据库闪回到27分钟之前

上面两个无论哪个报错ERROR at line 1:

ORA-08189: cannot flashback the table because row movement is not enabled

则输入以下指令

SQL> alter table t_wh_prodlib enable row movement;

然后在执行上面的闪回语句

====================

其他:

1、闪回删除  delete

在10g之后,除了超级用户删除的时候先放到回收站recyle-bin,同时还将名字改成bin$开头

删除一张表格之后再去查询表格,就会看到以BIN$开头的文件

> show recyclebin;
查看回收站里面的内容

> flashback table dodo before drop;
闪回那张表

<1如果回收站里面有两个相同的时候,会优先闪回后删除的

<2如果闪回之前已经有一个同名的,则需要进行重命名

<3如果删除的时候不想进入回收站,则可以加入参数truge

> purge user_recyclebin;       删除回收站里用户

2、闪回查询  query

闪回查询是从undo里面扣出来的

> select * from t as of timestap to_char(‘2015-03-03 12:10:07‘,‘yyyy-mm-dd hh24:mi:ss‘);

3、闪回表    table

是从undo里面扣出来的,这个SYS用户无法使用

需要开启行移动,闪回表到之间某个时间点需要

>  alter table t enable row movement;

>  flashback table t to timestap to_char(‘2015-03-03 12:10:07‘,‘yyyy-mm-dd hh24:mi:ss‘);

4、闪回数据库  DB

注意:需要开启这个功能,然后必须是在归档模式,还需要用到闪回日志

如果是第一次设置区域闪回设置,必须先设置大小,再设置时间,必须是在mount状态下去做

> show parameter recovery      查看大小位置

> show parameter target           查看闪回时间

> select FLASHBACK_ON FROM v$database

这个时候在flash下面的SID下面有个   建议FRA里面就只留下这个

!!闪回的时候需要在mount下去操作

> flashback database  to timestap to_char(‘2015-03-03 12:10:07‘,‘yyyy-mm-dd hh24:mi:ss‘);

时间: 2024-08-02 07:49:02

Oracle 闪回 flashback的相关文章

Oracle 闪回特性(FLASHBACK DATABASE)

--===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --===================================== 闪回技术通常用于快速简单恢复数据库中出现的认为误操作等逻辑错误,从闪回的方式可以分为基于数据库级别闪回.表级别闪回.事务 级别闪回,根据闪回对数据的影响程度又可以分为闪回恢复,闪回查询.闪回恢复将修改数据,闪回点之后的数据将全部丢失.而闪回查询则可 以查询数据被DML的

2.Oracle 闪回特性(FLASHBACK DROP &amp; RECYCLEBIN)

转载自:https://blog.csdn.net/leshami/article/details/6105327 FLASHBACK DROP 特性允许在不丢失任何数据库的情况下将指定的表恢复至其被删除的时间点,并保持数据库为当前状态.闪回删除并不是真正的删除表,而是把该表重命名并放入回收站,类似于Windows的回收站一样.当某个活动对象需要使用该表所占用的空间时,该表才会被真正删除.只要空间未被复用,该表即可恢复.本文主要讲述了FLASHBACK DROP特性以及闪回特性中回收站(RECY

4. Oracle 闪回特性(Flashback Version、Flashback Transaction)

转载自:https://blog.csdn.net/leshami/article/details/6112981 Oracle闪回特性为数据的快速回复某一对象的特定数据提供了更多的便利.前面介绍了闪回的几种特性,包括flashback database,flashback drop ,flashback query ,flashback table .接下来本文将介绍Flashback Version与Flashback Transaction. 一.Flashback Version Que

Oracle闪回查询恢复delete删除数据

Flashback query(闪回查询)原理 Oracle根据undo信息,利用undo数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. Flashback query(闪回查询)前提: SQL> show parameter undo; NAME                                TYPE       VALUE ------------------------------------ ----------- --------

oracle闪回查询和闪回数据库

oracle闪回查询和闪回数据库 区别: 数据闪回查询,只需要启用撤销表空间自动管理回滚信息. 使用闪回删除技术和闪回数据库技术,需要启动回收站,闪回恢复区.(归档模式使用) 具体设置: ---cmd sqlplus nolog sys as sysdba hanatech 具体设置----数据闪回查询的设置: 查看撤销表信息undo: show parameter undo; 设置撤销表信息: alter system set undo_managerment=auto;设置为auto才可以使

专题实验 oracle 闪回特性

在 oracle 9i 之前的版本中, 如果用户因为误操作 delete 或 update 并提交了, 那么恢复这些用户的操作错误是极其低效的. 为此, oracle 提供了闪回功能, 通过回退, 我们可以找回正确的数据. oracle 闪回查询特性 通过闪回查询我们可以按照时间戳或SCN来向前查询, 获取修改之前的数据镜像, 再通过insert等操作就可以恢复数据. 闪回查询一来于回滚段中存储的数据前镜像, 在oracle9i以前的版本中, 通常只要事务提交后, 前镜像数据就可以被覆盖, 空间

Oracle 闪回

Oracle闪回技术 1.Flashback Database 2.Flashback Drop 3.Flashback Table 4.Flashback Query 1.Flashback Database(利用闪回日志恢复) 描述:Oracle Flashback Database特性允许通过SQL语句Flashback Database语句,让数据库前滚到当前的前一个时间点或者SCN.闪回数据库可以迅速将数据库回到误操作或人为错误的前一个时间点,如ctrl+Z操作,可以不利用备份就快速的

oracle闪回表详解

--- 说明闪回数据库 --- 使用闪回表将表内容还原到过去的特定时间点 --- 从删除表中进行恢复 --- 使用闪回查询查看截止到任一时间点的数据库内容 --- 使用闪回版本查询查看某一行在一段时间内的各个版本 --- 使用闪回事务查询查看事务处理历史记录或行 会还原表及其关联对象(如索引.约束条件.触发器等)中的数据. 所谓闪回表,就是将表里的数据回退到历史的某个时间点,比如回退到用户误删除数据之前的时间点,从而将误删除的数据恢复回来,在这个操作过程中,数据库仍然可用而且不需要额外的空间.

Oracle闪回

Oracle闪回作用:自动基于磁盘的备份与恢复,能把表恢复到过去的某个时间点或者SCN. 1.查看闪回区 SQL> show parameter db_recovery_file_dest;  查看闪回区详细信息 SQL> select flashback_on from v$database;  查看闪回区是否开启 2.修改闪回功能 SQL> startup mount;               数据库启动到mount下 SQL> alterdatabase flashbac