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. django导入导出excel实践

    一.xlrd和xlwt模块介绍 xlrd模块提供在任何平台上从excel电子表格(.xls和.xlsx)中提取数据的功能,xlwt模块提供生成与Microsoft Excel 95 到2003版本兼容 ...

  2. bzoj 5337 [TJOI2018] str

    bzoj 5337 [TJOI2018] str Link Solution 水题 直接 \(f[i][j]\) 表示以第 \(i\) 位为结束位置,当前已经匹配了前 \(j\) 个氨基酸的方案数 使 ...

  3. FusionCharts图表控件中文版使用手册

    三要素:swf.data.xml.承载图表的载体 1.Swf: 按照你所设计的图表类型加载相应的.swf文件到你的工程即可(eg:若你想生成一张二维柱状图,那么在你的工程里就必须包含Column2D. ...

  4. Ionic开发-常用插件安装

      cordova plugin add cordova-plugin-nativestoragecordova plugin add cordova-plugin-devicecordova plu ...

  5. Servlet中文件上传的几种方式

    上传文件,因为上传的都是二进制数据,所以在Servlet中就不能直接用request.getParameter();方法进行数据的获取,需要借助第三方jar包对上传的二进制文件进行解析.常用的方式如下 ...

  6. CF1157D N Problems During K Days

    思路: 在1, 2, 3, ... , k的基础上贪心构造. 实现: #include <bits/stdc++.h> using namespace std; typedef long ...

  7. 《移动Web前端高效开发实战》笔记2——使用Gulp构建一个ECMAScript 6和Sass应用

    8.3.1 安装和配置 运行Gulp需要Node.js环境,请参看第二章内容搭建Node.js环境.使用NPM全局安装Gulp,命令如下: npm install gulp-cli –g 然后,在项目 ...

  8. python的subprocess模块(写的不错留作查询)

    python的subprocess模块 subprocess模块是python从2.4版本开始引入的模块.主要用来取代 一些旧的模块方法,如os.system.os.spawn*.os.popen*. ...

  9. css hack 浏览器携带自身特有的属性 (二)

    css hack 浏览器携带自身特有的属性,才是我们真正要解决的css 兼容问题. 这里只是分享思路. 举例子: 1 outline,尤其是一些 自带继承特性的属性.这里指的是 隐性的inherite ...

  10. css3实现钟表效果

    利用css3 transform属性刻画钟表的的刻度以及指针的角度,代码如下: <head> <meta charset="UTF-8"> <titl ...