scn恢复oracle数据

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

insertintoaaa(a,b)values(1,1)insertintoaaa(a,b)values(2,2)insertintoaaa(a,b)values(8,3)select*fromaaacreateorreplacefunctioncount_rows(table_nameinvarchar2,ownerinvarchar2defaultnull)returnnumberauthidcurrent_userISnum_rowsnumber;stmtvarchar2(2000);beginifownerisnullthenstmt:='selectcount(*)from'||table_name||'';elsestmt:='selectcount(*)from'||owner||'.'||table_name||'';endif;executeimmediatestmtintonum_rows;returnnum_rows;end;/selecttable_name,count_rows(table_name)nrowsfromuser_tablesorderbycount_rows(table_name)desc;一、通过scn恢复删除且已提交的数据1、获得当前数据库的scn号selectcurrent_scnfromv$database;(切换到sys用户或system用户查询)查询到的scn号为:14992232、查询当前scn号之前的scnselect*from表名asofscn1499220;(确定删除的数据是否存在,如果存在,则恢复数据;如果不是,则继续缩小scn号)3、恢复删除且已提交的数据flashbacktable表名toscn1499220;4、开启行移动altertableaaaenablerowmovemen二、通过时间恢复删除且已提交的数据1、查询当前系统时间selectto_char(sysdate,'yyyy-mm-ddhh24:mi:ss')fromdual;2、查询删除数据的时间点的数据select*from表名asoftimestampto_timestamp('2013-05-2915:29:00','yyyy-mm-ddhh24:mi:ss');(如果不是,则继续缩小范围)3、恢复删除且已提交的数据flashbacktable表名totimestampto_timestamp('2013-05-2915:29:00','yyyy-mm-ddhh24:mi:ss');注意:如果在执行上面的语句,出现错误。可以尝试执行altertable表名enablerowmovement;//允许更改时间戳

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功