zoukankan      html  css  js  c++  java
  • 开发之没沟通误删客户数据库数据之找数据路

    很悲催,以为在客户那边的数据有问题删掉就行了,结果告诉我那是客户的正常使用的数据,我也是一脸懵逼。特此警戒自己和大家,开发的沟通很重要很重要很重要。然后就开始了找回丢失数据的漫长(一天)道路。

    1.首先我使用的是plsql的oracle可视化界面的空间,我先查看了下历史执行的语句记录Ctrl+e,可以看到所有近期执行的sql语句,发现并没有使用语句做删除的,是直接在数据库进行操作的,还是用语句操作的好,整还是得整规范的。另寻他路;

    2.使用 Oracle Database 10g 中的闪回表特性。 

            2.1alter table 表名 enable row movement;   允许移动

            2.2 查询删除数据的时间点的数据(也就是闪回至该时间点之前的数据)  

                  select * from WMS_TEST as of timestamp to_timestamp('2016-02-26 12:10:00','yyyy-mm-dd hh24:mi:ss');  (如果不是,则继续缩小范围)  

           2.3 恢复删除且已提交的数据  

      flashback table wms_out_end_product_item to timestamp to_timestamp('2016-04-1 14:30:00','yyyy-mm-dd hh24:mi:ss');  

           2.4  alter table 表名 disable row movement;   使用完之后关闭

     操作了这个方法之后,确实发现在昨天晚上8点左右删的数据中的一步,在执行的过程中则报了个快照过久的异常。OMG,发现时间是过得差不多一天了,去查了一下了解到,如果oracle没有设置过快照保存的时间,最多也就一天可以,有些还没一天,看具体的环境。用这个方法找回了两天数据。

    3.没退路了。只好找到原来的系统设置好的每天自动更新数据库的位置,取出了当天凌晨数据库自动的备份文件.dbm,创建一个新的 数据库,把数据导过来,再找到当时删除的记录,说干就干,做事情,解决问题,你一下解决不了,就不要多想 了,感觉改变策略执行下一个问题,这样处理问题的效率比较高,人的想法也会比较积极(跑偏了),继续先拿着他们的压缩包搭建一个数据库。导出数据库的脚本语句:

    Expdp zjshnew/zjshnew@ZJSHNEW directory=dir_dp dumpfile=ZHSH20171213.dmp logfile=ZJSHNEW20171213.log schemas=zjshnew

         3.1先创建数据库, 数据库的名称和用户名称密码 以及表空间名与客户那边的最好保持一致,以免出错。

         3.2创建表空间语句:

    create tablespace zczg 
    logging  
    datafile 'D:appAdministratororadatazczgzczg.dbf' ---实际实例目录
    size 50m  
    autoextend on  
    next 50m maxsize 20480m  
    extent management local;  

        3.3创建数据库日志文件语句:

    create temporary tablespace zczg_temp  
    tempfile 'D:appAdministratororadatazczgzczg_temp.dbf'---实际实例目录
    size 50m  
    autoextend on  
    next 50m maxsize 20480m  
    extent management local; 

        3.4创建用户语句:

    create user zczg identified by zczg  
    default tablespace zczg  
    temporary tablespace zczg_temp;

        3.5授权给用户语句:

    grant connect,resource to zczg; 
    grant dba to zczg;

        3.6做一个脚本.bat,数据库导入文件:

    Impdp zhgh/zhgh@zhgh directory=dir_dp dumpfile=ZHGH_DB_20170913.DMP remap_schema
    =zhgh:zhgh transform=segment_attributes:n logfile=zhgh.log
  • 相关阅读:
    第八周上机
    第七周作业
    第七周上机练习
    第六周作业
    第六次上机
    第五次上机
    第四周作业
    第四周上机练习
    第三次作业
    第二次作业
  • 原文地址:https://www.cnblogs.com/JHubery-code/p/9103313.html
Copyright © 2011-2022 走看看