Oracle闪回操作

1. 记录当前时间或SCN

在数据库变动前记录时间或SCN

SQL> select  to_char(sysdate,'YYYY-MM-DD HH24:mi:ss') from dual;

SQL> select  current_scn from v$database;

2.开启闪回

开启闪回需要数据库在归档模型下,所以首先需要开启归档。并且在mount状态下。

首先查看是否开启闪回:

SQL> select flashback_on from V$database;

FLASHBACK_ON

------------------

NO

如果已经开启了闪回,无须执行下面的操作。

SQL> alter system set db_recovery_file_dest_size=30G scope=both;

SQL> alter system set db_recovery_file_dest='/u01/flashback'  scope=both;

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

SQL> alter database flashback on;

SQL> alter database open;

再进行确认:

SQL> select flashback_on from V$database;

FLASHBACK_ON

------------------

YES

3.闪回操作

3.1闪回数据库

SQL >flashback database to time to_date(xxx);
SQL >flashback database to time TO_TIMESTAMP (xxx);
SQL >flashback database to scn xxx
SQL >flashback database to sequence xxx thread 1
SQL>flashback database to timestamp(sysdate-1/24)

3.2闪回表

先要开启row movement

SQL>alter table emp enable row movement;

SQL >FLASHBACK TABLE tablename TO TIMESTAMP (JUL-07-2013, 02:33:00) 
SQL >FLASHBACK TABLE employee TO SCN 133456;
SQL >FLASHBACK TABLE t1 TO TIMESTAMP '2013-03-03 12:05:00' ENABLE TRIGGERS;

闪回表可以分为两种情况,一种是闪回到指定时间或SCN,一种是drop闪回

闪回到指定时间或SCN:

SQL>flashback table emp to timestampto_timestamp

('2013-09-12 08:00:00','yyyy-mm-ddhh24:mi:ss');

SQL>flashback table emp to scn 11064241;

DROP闪回:

如果误对表做了drop操作,可用下面的方法闪回

SQL>flashback table s_emp1 to before drop;

可以以下面的方法闪回

SQL>flashback table flashbacktable to before drop rename to a;

SQL>flashback table "回收站实体名"to before drop;

--闪回表后表的索引也会回来,但是索引名还是在recyclebin中显示的名字,所以使用 alterindex“ bin$xxx” rename to xxxx命令修改索引名称。

SQL>alter index "BIN$s6TKiw4uafDgRAAVF3jtoA==$0"

rename to PK_PC_STIM_INJ_ENHANCE_MON

3.3查询闪回(flashbackquery)

delete数据库里的数据都删除了以后,还commit,采用下面的方法实现数据的还原

·查询过去某指定时间点数据库中的数据。

SQL>select* from emp as of timestamp to_timestamp('2013-07-05 08:00:00','yyyy-mm-ddhh24:mi:ss');

·删除表后将数据添加到原表中

SQL>insertinto emp select * from emp

as of timestamp to_timestamp

('2013-07-05 08:00:00','yyyy-mm-ddhh24:mi:ss');

3.4 删除闪回(flashbackdrop)

闪回被dropped的基表,

·显示回收站信息

SQL>show recyclebin

--select* from user_recyclebin

·彻底删除基表

SQL>drop table s_emp1 purge ;

----彻底删除一个表用PURGE,这样的删除的表不能闪回。

·清除回收站

SQL>purge recyclebin;

·查数据库选项产品:

SQL>select * from V$option;

· truncate删除后不保留存储空间,而Delete删除后,保留存储空间,如果要删掉这些存储空间,以释放空间,可以执行以下命令:

SQL>alterttable emp deallocate unused;

·如果还要保留一部分,可以用:

SQL>alterttable emp deallocate unused 200k;

4.关于数据闪回的几点说明

*系统表空间数据不得闪回

*实体在数据库保存时间不可保证,保留时间取决于系统运行状况,可能是几秒钟,也可能是几个月。

*基表闪回时,建立在表上的约束不可保证

Oracle闪回操作的更多相关文章

  1. Oracle闪回技术详解

     概述: 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成).需要注意的是,闪回技术旨在快速 ...

  2. PLSQL_闪回操作1_Flashback Query

    2014-07-02 Created By BaoXinjian

  3. Oracle 闪回特性(FLASHBACK DATABASE)

    --===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --======================= ...

  4. oracle闪回表详解

    --- 说明闪回数据库 --- 使用闪回表将表内容还原到过去的特定时间点 --- 从删除表中进行恢复 --- 使用闪回查询查看截止到任一时间点的数据库内容 --- 使用闪回版本查询查看某一行在一段时间 ...

  5. Oracle闪回技术

    (一)闪回技术概要 闪回技术是数据库备份与恢复的重要补充手段,主要包括以下7种特性: 特性 原理 数据库支持 闪回查询(Flashback Query) 利用undo表空间中的回退信息,查询过去某个时 ...

  6. Oracle闪回表

    Oracle闪回技术 场景:测试环境数据库的表数据被误删除. 解决思路:使用闪回表技术 原理 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小 ...

  7. Oracle 闪回

    Oracle 闪回特性(FLASHBACK DATABASE) 本文来源于:gerainly 的<Oracle 闪回特性(FLASHBACK DATABASE) > -========== ...

  8. 6. Oracle闪回特性

    Oracle 闪回 (flashback)是9i版本提供的新特性.这一特性:其他数据库(PostgreSQL,Mysql)是羡慕不已.对数据恢复提供非常便捷的方式.闪回技术通常用于快速简单恢复数据库中 ...

  9. MySQL模拟Oralce闪回操作

    在前面的文章中我们介绍了MySQL误操作后数据恢复(update,delete忘加where条件),大概操作是通过sed命令把binlog中相关SQL误操作给逆向回来,然后导入SQL文件来恢复错误操作 ...

随机推荐

  1. 给进程分配cpu核心

    新负责的程序采用生产者和消费者的模式,生产者的速度非常快,数据几乎都在内存里,处理起来很快.而消费者要频繁的I/O.所以打算给生产者和消费者分配不一样的核心. 生产者只需要一个核心就够了,其余分配给消 ...

  2. 查看ORACLE中正在运行的存储过程 kill

    1:登陆PLSQL Developer,写一个存储过程,向一个表中插入值,并运行存储过程 2:打开PLSQL Developer的命令窗口 .--终止procedure   11.select * f ...

  3. SAR图像与光学图像区别

    按传感器采用的成像波段分类,光学图像通常是指可见光和部分红外波段传感器获取的影像数据.而SAR传感器基本属于微波频段,波长通常在厘米级.可见光图像通常会包含多个波段的灰度信息,以便于识别目标和分类提取 ...

  4. IIS应用程序池监控

    最近发现公司运行的web网站应用程序池会突然停止,做的负载均衡(路由负载)又无法监测到IIS应用程序池的情况,就想着通过某一种监控方式监测IIS应用程序池的情况,如果处关闭状态则立刻重新启动.所说的I ...

  5. Open source and free log analysis and log management tools.

    Open source and free log analysis and log management tools. Maintained by Dr. Anton Chuvakin Version ...

  6. 写个脚本列出neutron的ovs的topology。

    运行结果如下: $ ./nova-ifinfo  a7026868-407c-4c54-bb8f-a68623d7e13fvm name is: instance-00000035    # 查找VM ...

  7. kvm在线磁盘扩展

    1,查看指定kvm虚拟机的现有磁盘domblklist

  8. Android开发(27)--TextView单击链接弹出Activity

    话不多说直接上码: 核心源码: package com.example.textview4; import android.app.Activity; import android.content.I ...

  9. ObjectiveC中的block用法解析

    Block Apple 在C, Objective-C,C++加上Block这个延申用法.目前只有Mac 10.6 和iOS 4有支持.Block是由一堆可执行的程序组成,也可以称做没有名字的Func ...

  10. k8s之scheduler

    一.概述 调度器是kubernetes中独特而又重要的一个模块,独特是因为scheduler是唯一一个以plugin形式存在的组件,重要是因为kubernetes中最重要的基础单元pod的部署是通过s ...