zoukankan      html  css  js  c++  java
  • 背景:表A数据误操作,被delete了,恢复。

    SELECT MAX(Scn) FROM Sys.Smon_Scn_Time WHERE Time_Dp < TO_DATE('2015-09-18', 'YYYY/MM/DD')
     
     
     
    select
    b.file_name 物理文件名,
    b.tablespace_name 表空间,
    b.bytes/1024/1024 大小M,
    (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,
    substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率
    from dba_free_space a,dba_data_files b
    where a.file_id=b.file_id
    group by b.tablespace_name,b.file_name,b.bytes
    order by b.tablespace_name
     
     
     
    select name from v$tablespace;
    select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'UNDOTBS1';
     
    alter   database  UNDOTBS1 datafile   '/home/app/oracle/oradata/HHDEV/datafile/o1_mf_undotbs1_bcgv649d_.dbf'   resize   4000M;
     
     
     
     
    select * from web_org_sales
     
     
    flashback table web_org_sales to timestamp to_timestamp('2015-09-22 00:00:01','yyyy-mm-dd hh24:mi:ss')  --闪回时间
    alter table web_org_sales enable row movement;   --设置表为行闪回
     
     
     
     
    SELECT MAX(Scn) FROM Sys.Smon_Scn_Time WHERE Time_Dp < TO_DATE('2015-09-19', 'YYYY/MM/DD');
     
    --547577607
     
     
    SELECT * FROM web_org_sales AS OF SCN '550594210';
     
    alter system set undo_retention =216000;
     
     
     
     
    背景:表A数据误操作,被delete了,恢复。
    
    --1.先备份A表当前数据。
    
    --2.查询某时间点前的SCN号码
    
    SELECT MAX(Scn) FROM Sys.Smon_Scn_Time WHERE Time_Dp < To_Date(某时间点, 'YYYYMMDD hh24:mi:ss');
    
    --3.查看某时间点的A表数据
    
    SELECT * FROM A AS OF SCN '步骤2的SCN号';
    
    --4.如果查看数据是想要的数据,则恢复
    
    SELECT row_movement FROM user_tables WHERE table_name = 'A';
    
    --5.步骤4结果如果为DISABLE ,则执行下面这句话,否则跳过
    
    ALTER TABLE A  ENABLE ROW MOVEMENT;
    
    --6.执行
    
    FLASHBACK TABLE A TO SCN '步骤2的SCN号';
    
    --7.如果原来为enable则不用执行,否则执行
    
    ALTER TABLE A DISABLE ROW MOVEMENT;
    
    --8.如果权限不够,就换个DBA用户进行上述操作
    
     
     
     
     
     
    alter table Aenable row movement;   --设置表为行闪回
    flashback table A to timestamp to_timestamp('2015-03-17 00:00:01','yyyy-mm-dd hh24:mi:ss')  --闪回时间
     
     
    flashback table A to timestamp to_timestamp('2015-09-01 20:40:00','yyyy-mm-dd hh24:mi:ss')
     
     
    alter table A enable row movement;   --设置表为行闪回
    
    truncate table A;
     
     
    使用truncate 表记录无法闪回。
     
    

      

     
    生如夏花之绚烂,死如秋叶之静美。
  • 相关阅读:
    CodeForces 1059B
    CodeForces 714A
    浅析母函数
    CodeForces 816C 思维
    CodeForces 816B 前缀和
    CodeForces
    Java项目读取resources资源文件路径那点事
    原型模式
    一次给女朋友转账引发我对分布式事务的思考
    连续最大字段和问题
  • 原文地址:https://www.cnblogs.com/joyblabla/p/4831999.html
Copyright © 2011-2022 走看看