比较简单的操作,如有更好的方法欢迎补充 一.查询到某个时间点删除的数据select * from table_name as of timestamp to_timestamp('2019-11-13 11:26:00', 'yyyy-MM-dd HH:mi:ss'); 二.表结构已修改,上面的方法就不适用了1)select * from recyclebin;找到ORIGINAL_NAME是原来的表名的那一行的OBJECT_NAME=xxx2)flashback table "xxx"…
执行如下SQL将test_temp表中的数据恢复到 2013-04-26 21:06:00 注意,这里一定要先删除全部数据,否则可能会导致数据重复 delete from test_temp; insert into test_temp select * from test_temp as of timestamp to_timestamp('2013-04-26 21:06:00', 'yyyy-mm-dd HH24:mi:ss') commit; 附:truncate后的数据是无法恢复的…
操作数据库,经常会出现误操作,昨天执行的更新操作之后发现更新错了,只能想办法数据恢复了,现在整理一下 第一步:查询执行更新操作的时间 select r.FIRST_LOAD_TIME,r.* from v$sqlarea r order by r.FIRST_LOAD_TIME desc ; 执行上面那条SQL语句,在下图的SQL_TEXT字段找到你执行更新操作的那条更新语句,找到更新操作时间…
利用Oracle 数据回闪机制进行恢复,当一个表被drop掉,表会被放入recyclebin回收站,可通过回收站做表的闪回.表上的索引.约束等同样会被恢复不支持sys/system用户表空间对象,可通过alter system set recyclebin=off;关闭回收站功能. Retrieving a Dropped Table: Example If you accidentally drop the pm.print_media table and want to retrieve i…
1.根据时间点查系统版本号scn: select timestamp_to_scn(to_timestamp('2013-01-07 11:20:00','YYYY-MM-DD HH:MI:SS')) from dual 2.查看被误删数据的表scn时间点的数据是否要恢复的数据:select count(*) from ct_sal_orderToSaleIssue as of scn 44482681 3.创建临时保存数据的表:create table temp1 as select * f…
今天不小心把系统用户表给drop掉了,正在运行的系统正式库啊,还好可以恢复 一.查看数据库回收站,看删除的表是否还在回收站select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin; 二.恢复表结构和数据 FLASHBACK TABLE 表名 TO BEFORE DROP;…
select * from table_name as of timestamp trunc(sysdate)-10; 数字部分可以调整到最近时间内 复制表内容 insert into res_product select * from res_product as of timestamp trunc(sysdate)-2…