Oracle 闪回 找回数据的实现方法

闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复。这篇文章主要介绍了Oracle 闪回 找回数据的实现方法,需要的朋友可以参考下

闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成)。需要注意的是,闪回技术旨在快速恢复逻辑错误,对于物理损坏或是介质丢失的错误,闪回技术就回天乏术了,还是得借助于Oracle一些高级的备份恢复工具如RAMN去完成(这才是Oracle强大备份恢复机制的精髓所在啊)。

使用闪回技术,实现基于磁盘上闪回恢复区的自动备份与还原。

据的实现方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

一、恢复表对象

1.创建CUSTOM表

CREATE TABLE "TEAMB0"."CUSTOM"
( "FACT_NO" CHAR(4) NOT NULL ENABLE,
"CUSTOM_NO" VARCHAR2(15) NOT NULL ENABLE,
"HKCUSTOM_NO" CHAR(6),
"AREA_CODE" VARCHAR2(5),
"CUSTOM_NAME" VARCHAR2(32) NOT NULL ENABLE,
"TRAN_COUNTRY" VARCHAR2(30),
"DIST_COUNTRY" VARCHAR2(30),
"SIZEMARK_DESC" VARCHAR2(10),
"CHINA_RM" CHAR(1),
"SHIP_TO_ADDR" VARCHAR2(270),
"MARK_NO" CHAR(3),
"BRAND_NO" CHAR(2),
"SPEC_PACKAGE" CHAR(1),
"SIZEMARK1_DESC" VARCHAR2(20),
"AGENT_NAME" VARCHAR2(22),
"APACK_MK" CHAR(1),
"CUNT_CODE" CHAR(3),
"PRINT_MK" CHAR(1) NOT NULL ENABLE,
"CUSTOM_CODE" CHAR(12),
"MODIFY_USER" VARCHAR2(60),
"MODIFY_DT" CHAR(14),
"CONSIGNEE" VARCHAR2(400),
"NOTIFY" VARCHAR2(200),
"DIV_CODE" CHAR(4),
"ISGROUP_RMK" CHAR(1) NOT NULL ENABLE,
"GROUP_FACT_NO" CHAR(4),
"SHIPPER" VARCHAR2(300)
);

 2.添加记录

Insert into CUSTOM (FACT_NO,CUSTOM_NO,HKCUSTOM_NO,AREA_CODE,CUSTOM_NAME,TRAN_COUNTRY,DIST_COUNTRY,SIZEMARK_DESC,CHINA_RM,SHIP_TO_ADDR,MARK_NO,BRAND_NO,SPEC_PACKAGE,SIZEMARK1_DESC,AGENT_NAME,APACK_MK,CUNT_CODE,PRINT_MK,CUSTOM_CODE,MODIFY_USER,MODIFY_DT,CONSIGNEE,NOTIFY,DIV_CODE,ISGROUP_RMK,GROUP_FACT_NO,SHIPPER) values ('216M','516286','01 ',null,'Decimas ',null,null,'UK','N',null,'001','01','N',null,null,'N',null,'Y',null,null,null,null,null,null,'N',null,null);
Insert into CUSTOM (FACT_NO,CUSTOM_NO,HKCUSTOM_NO,AREA_CODE,CUSTOM_NAME,TRAN_COUNTRY,DIST_COUNTRY,SIZEMARK_DESC,CHINA_RM,SHIP_TO_ADDR,MARK_NO,BRAND_NO,SPEC_PACKAGE,SIZEMARK1_DESC,AGENT_NAME,APACK_MK,CUNT_CODE,PRINT_MK,CUSTOM_CODE,MODIFY_USER,MODIFY_DT,CONSIGNEE,NOTIFY,DIV_CODE,ISGROUP_RMK,GROUP_FACT_NO,SHIPPER) values ('216M','516287','01 ',null,'Fime Sport Shoe ',null,null,'UK','N',null,'001','01','N',null,null,'N',null,'Y',null,null,null,null,null,null,'N',null,null);
Insert into CUSTOM (FACT_NO,CUSTOM_NO,HKCUSTOM_NO,AREA_CODE,CUSTOM_NAME,TRAN_COUNTRY,DIST_COUNTRY,SIZEMARK_DESC,CHINA_RM,SHIP_TO_ADDR,MARK_NO,BRAND_NO,SPEC_PACKAGE,SIZEMARK1_DESC,AGENT_NAME,APACK_MK,CUNT_CODE,PRINT_MK,CUSTOM_CODE,MODIFY_USER,MODIFY_DT,CONSIGNEE,NOTIFY,DIV_CODE,ISGROUP_RMK,GROUP_FACT_NO,SHIPPER) values ('216M','PYV172','01 ','633','Viet Nam ',null,'VIETNAM','UK','N',null,'001','01','N',null,null,'N',null,'Y',null,null,null,null,null,null,'N',null,null);
Insert into CUSTOM (FACT_NO,CUSTOM_NO,HKCUSTOM_NO,AREA_CODE,CUSTOM_NAME,TRAN_COUNTRY,DIST_COUNTRY,SIZEMARK_DESC,CHINA_RM,SHIP_TO_ADDR,MARK_NO,BRAND_NO,SPEC_PACKAGE,SIZEMARK1_DESC,AGENT_NAME,APACK_MK,CUNT_CODE,PRINT_MK,CUSTOM_CODE,MODIFY_USER,MODIFY_DT,CONSIGNEE,NOTIFY,DIV_CODE,ISGROUP_RMK,GROUP_FACT_NO,SHIPPER) values ('216M','930038',null,'411','SAV SA ',null,'ARGENTINA','US','N',null,'79 ','11','N',null,null,'N',null,'Y',null,null,null,null,null,null,'N',null,null);
insert into CUSTOM (FACT_NO,CUSTOM_NO,HKCUSTOM_NO,AREA_CODE,CUSTOM_NAME,TRAN_COUNTRY,DIST_COUNTRY,SIZEMARK_DESC,CHINA_RM,SHIP_TO_ADDR,MARK_NO,BRAND_NO,SPEC_PACKAGE,SIZEMARK1_DESC,AGENT_NAME,APACK_MK,CUNT_CODE,PRINT_MK,CUSTOM_CODE,MODIFY_USER,MODIFY_DT,CONSIGNEE,NOTIFY,DIV_CODE,ISGROUP_RMK,GROUP_FACT_NO,SHIPPER) values ('216M','608021','01 ','111','ADI AMERICA ','USA','USA','US','N',null,'001','01','N',null,null,'Y',null,'Y',null,null,null,null,null,null,'N',null,null);

 3.删除表

drop table CUSTOM;

 4.数据库回收站多一条新的记录

select * from user_recyclebin where ORIGINAL_NAME = 'CUSTOM';//系统表
select * from "BIN$d9zV2sEZHibgUBGsAwsfmg==$0";//CUSTOM在回收站的别名
flashback table CUSTOM to before drop;// 恢复表 

二、找回表数据

1.按某条件删除表记录,例如

  delete from CUSTOM where CUSTOM_NO = '608021';
  commit;

 2.如果是删了或修改里面的数据,可以先建立一个快表将删除修改之前状态的数据找回到这个表中

create table CUSTOM_TABLE as
select * from CUSTOM as of timestamp TO_TIMESTAMP( '20181010175020' , 'yyyymmddhh24miss')
where CUSTOM_NO = '608021';

3.CUSTOM_TABLE数据恢復資料

insert into CUSTOM
select * from CUSTOM_TABLE
commit;

Oracle 闪回 找回数据的实现方法的更多相关文章

  1. Oracle 闪回 找回数据

    使用闪回技术,实现基于磁盘上闪回恢复区的自动备份与还原. 一.恢复表对象 1.创建学生表 create table STUDENT ( idno INTEGER, name VARCHAR2(30), ...

  2. Oracle 闪回区满解决的方法

    闪回区满: OS: rm -rf [archivelog  autobackup  backupset  controlfile  flashback  onlinelog] eg : archive ...

  3. oracle闪回、闪回数据归档Flashback Data Archive (Oracle Total Recall)的真正强大之处、11gR2增强以及合理使用

    oracle的闪回很早就出来了,准确的说一直以来应该都较少被真正用户广为使用,除了dba和极少部分开发人员偶尔用于逻辑出错.误删恢复之外,较少被用于产生更有价值的用途. 各种闪回表flashback ...

  4. Oracle 闪回特性(FLASHBACK DATABASE)

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

  5. Oracle闪回操作

    Oracle闪回操作 1. 记录当前时间或SCN 在数据库变动前记录时间或SCN SQL> select  to_char(sysdate,'YYYY-MM-DD HH24:mi:ss') fr ...

  6. Oracle 闪回

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

  7. 6. Oracle闪回特性

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

  8. ORACLE闪回机制分析与研究应用

    1.查看数据库归档和闪回状态,及环境准备SQL> archive log list;SQL> select flashback_on from v$database;关闭数据库,启动归档和 ...

  9. Oracle 闪回归档(Flashback Database)

    cmd --管理员身份打开 sqlplus / as sysdba --管理数据库 shu immediate; --独占方式开始 startup mount --修改日期模式 alter datab ...

随机推荐

  1. unity3d四元数和旋转矩阵

    http://blog.csdn.net/kfqcome/article/details/10729551 一 四元数 Quaternion中存放了x,y,z,w四个数据成员,可以用下标来进行访问,对 ...

  2. iTween研究院之学习笔记Move移动篇(一)

    http://www.xuanyusong.com/archives/2052 iTween.MoveTo(): 让模型移动到一个位置,它的底层函数是通过动态的修改模型每一帧的transform.po ...

  3. 洛谷P3434 [POI2006]KRA-The Disks

    P3434 [POI2006]KRA-The Disks 题目描述 For his birthday present little Johnny has received from his paren ...

  4. 十一、python的高级语法与用法

    一.枚举其实是一个类 现实世界中的“类型”,在计算机世界中如何描述? 常见的 1)用1.2.3..等数字表示类型 2)较好的做法是用字典表示 3)最好的是使用枚举 # coding=utf-8 fro ...

  5. Java基础笔记(一)——JDK、JRE、JVM

    JDK.JRE和JVM三者的关系 Java程序执行过程 JVM(java virtual machine) 注:由于各种操作系统(windows.linux等)支持的指令集(二进制可执行代码)不同,程 ...

  6. js 去除字符串空白符

    var a="      123456" varb=a.replace(/(^\s*)/g, "");

  7. spring tx:advice事务配置

    http://blog.csdn.net/bao19901210/article/details/17226439 http://blog.csdn.net/rong_wz/article/detai ...

  8. 转 如何观察 undo Oracle DML语句回滚开销估算

    https://searchdatabase.techtarget.com.cn/7-20392/ --use_urec 详细解读: select USED_UREC from v$transacti ...

  9. 【异常】SQL Server blocked access to STATEMENT OpenRowset/OpenDatasource

    异常错误提示:SQL Server blocked access to STATEMENT OpenRowset/OpenDatasource of component  Ad Hoc Distrib ...

  10. 使用jstack分析解决进程死锁问题

    项目启动后不久就会出现死锁的现象,一直不知道什么原因造成的,后来经过大神的指点,解决了这个问题. 流程如下: 1.环境jdk1.6以上: 2.linux下使用ps aux|grep tomcat 命令 ...