首页 > 其他分享 >Orcale-利用闪回恢复数据方法 flashback table 误删,表数据恢复到之前的某一时刻

Orcale-利用闪回恢复数据方法 flashback table 误删,表数据恢复到之前的某一时刻

时间:2023-05-09 09:03:32浏览次数:49  
标签:数据恢复 闪回 -- timestamp 误删 表名 table flashback

Orcale-利用闪回恢复数据方法
原文链接:https://www.cnblogs.com/caster-xzn/p/8686376.html

一.delete误删

  方法1:如果表结构没有改变,直接闪回整个表,具体步骤:

  --首先需要表闪回权限,开启行移动功能
  alter table 表名 enable row movement;

  --执行闪回恢复表数据到某个时间点
  flashback table 表名 to timestamp to_timestamp(‘恢复的时间点','yyyy-mm-dd hh24:mi:ss');

  --关闭行移动功能

  alter table 表名 disable row movement;

  方法2:查询被删除数据,再执行insert

  insert into 表名 (select * from 表名 as of timestamp to_timestamp('恢复的时间点','yyyy-mm-dd hh24:mi:ss'));

二.drop误删 

原理:由于oracle在删除表时,没有直接清空表所占的块,oracle把这些已删除的表的信息放到了一个虚拟容器“回收站”中,而只是对该表的数据块做了可以被覆写的标志,所以在块未被重新使用前还可以恢复。

  1.如果记得被删的表名,直接闪回 

  flashback table 原表名 to before drop;

  2.不记的表明,先从“回收站”找到呗删除的表,再执行恢复:

  -- 查询被删除的表,table_name或者object_name就是删除后在回收站中被重新命名的表名

   select table_name,dropped from user_tables;

   select object_name,original_name,type,droptime from user_recyclebin;

  -- 执行恢复

  flashback table "回收站中的表名" to before drop rename to 新表名;

三.闪回整个数据库

  alter database flashback on;
  flashback database to scn SCNNO;
  flashback database to timestamp to_timestamp('恢复的时间点','yyyy-mm-dd hh24:mi:ss');

 

对于一:可执行先查询出想要的数据验证一下数据正确性,再恢复到某个时间点。比如: -- 查询2017-11-06 13:00:00 时间点,表xxxx_input 的数据

select * from xxxx_input as of timestamp to_timestamp('2017-11-06 13:00:00', 'yyyy-mm-dd hh24:mi:ss') where kino_id = 'test'

标签:数据恢复,闪回,--,timestamp,误删,表名,table,flashback
From: https://www.cnblogs.com/sunny3158/p/17383745.html

相关文章

  • Linux下面误删除文件使用extundelete工具恢复介绍
    操作系统版本:CentOSrelease6.4(Final)   软件版本:extundelete-0.2.4.tar.bz2PS:该软件恢复文件系统仅支持ext2/ext3/ext41.创建文件系统[root@zw_test_26_74/]# mkfs-text4/dev/sdb32.查看文件系统类型[root@zw_test_26_74/]#blkid/dev/sdb3 --查看文件系......
  • Linux下面误删除文件使用extundelete工具恢复介绍
    1.使用rz命令上传extundelete-0.2.4.tar.bz2到/tmp文件夹下并解压软件。1[root@localhosttmp]#tar-jxvfextundelete-0.2.4.tar.bz22.进入到extundelete解压的目录下面,执行编译安装。1234567891011[root@localhost test]#cd/tmp[r......
  • Oracle ORA-01033: ORACLE initialization or shutdown in progress(误删了DBF数据库
    先声明一下前期的一些手欠欠儿的操作导致oracl登录不进去了,起先是清理磁盘空间的时候误删除了orcleDBF数据文件后无法进入系统,plsql登录报错如下:一般情况下,删除表空间的正确方法是:DROPTABLESPACEBDCDJINCLUDINGCONTENTSANDDATAFILES;如果没有通过以上命令删除而直接删除......
  • 闪回表(Flashback table)运用
    上一回演示了运用闪回表查询恢复delete删除的数据以及其原理,今天了解下闪回表。原理: 闪回表(Flashbacktable)与闪回查询(Flashbackquery)的原理大致相同,也是利用undo信息来恢复表对象到以前的某一个时间点(一个快照),因此也要确保AUM有足够的Retention值。但闪回表不等于闪回查询,其区别......
  • oracle数据恢复 - dbrecover-for-oracle2009
    软件可以使用社区版,限制行数未一万行直接使用向导,默认配置执行即可需要注意选择数据文件的时候如果不知道表空间在哪个文件中就选择所有的文件最后导入的时候需要注意指定数据库服务名称sqlldruserid=user/password@servicenamecontrol=C:\Users\Administrator\Desktop\ba......
  • RAC中多实例开启归档和闪回
    下面是针对其中一个实例的步骤记录注意事项:0、参数修改只在一个节点执行即可,记得sid='*'1、每个实例需切换环境变量2、开归档需先关闭DB再mount来开启3、闪回区开启需先设置大小再设置位置以下操作只在节点1执行1、设置环境变量、关闭DB之前先设置下归档路径[oracle@mydb1~]\$......
  • 【数据库数据恢复】ORACLE常见数据灾难&数据恢复可能性分析
    Oracle数据库常见数据灾难:1、ORACLE数据库无法启动或无法正常运行。2、ORACLEASM存储破坏。3、ORACLE数据库数据文件丢失。4、ORACLE数据库数据文件损坏。 5、ORACLEDUMP文件损坏。  Oracle数据库常见数据灾难的数据恢复可能性分析:1、ORACLE数据库无法启动或无法正......
  • linux中误删掉/tmp目录后,怎么办?
    chmod1777/tmp或mkdir/tmp&&chmod1777/tmp在Linux系统中TMP目录比较特殊,所有用户都能创建属于自己的文件。我们需要使用特殊权限粘滞位(stickybit)来授权:drwxrwxrwt表示1777......
  • vscode误删文件后如何恢复
    数据结构实验课检查实验时,不知道怎么回事,运行vscode时可能碰到了哪个按钮,跳出来一个问题,英语不好没有仔细看就输入了yes,然后成功地把实验文件夹里面所有文件都删了,检查完实验再删也就算了,实验没有检查就删了,下次检查会扣分,加上我把后面一个实验也做好了,我冷汗都吓出来了,是真的体会......
  • 32 31 | 误删数据后除了跑路,还能怎么办?
    今天我要和你讨论的是一个沉重的话题:误删数据。在前面几篇文章中,我们介绍了MySQL的高可用架构。当然,传统的高可用架构是不能预防误删数据的,因为主库的一个droptable命令,会通过binlog传给所有从库和级联从库,进而导致整个集群的实例都会执行这个命令。虽然我们之前遇到的大多数的......