zoukankan      html  css  js  c++  java
  • Oracle 闪回 找回数据的实现方法

    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;

  • 相关阅读:
    CentOS7防火墙开启与关闭以及开放6379,3306,80等端口
    Linux 安装PHP PECL 百分百成功
    NSIS 无边框移动问题总结笔记
    Flask项目下的app下的settings.py配置
    django excel xlsx 中文编码
    django admin TabularInline raw_id_fields 添加查询 搜索小图标显示
    m3u8文件解密
    python3 tensorflow 试玩
    python3 tensorflow 安装
    Numpy&Pandas 学习
  • 原文地址:https://www.cnblogs.com/scwbky/p/9767560.html
Copyright © 2011-2022 走看看