数据库-Oracle-数据恢复(删除数据恢复、存储过程恢复)

2016-12-28  本文已影响120人  georgekaren

复杂的故事简单说,复杂的问题简单做,您好,这里是简露一手,欢迎浏览。

概述


1:数据不小心删除怎么办?
2:存储过程、函数多次编译错了怎样办?

删除

关键点


闪回。

方法


sysdate-1/24 可以写具体的时间,如找回2016-12-28 22:10:01的数据则select * from User as of timestamp to_timestamp('2016-12-28 22:10:01','yyyy-mm-dd hh24:mi:ss');

create table tmp_161228_sp_up_addr as
SELECT * FROM ALL_SOURCE AS OF TIMESTAMP TO_TIMESTAMP ('2016-12-28 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
WHERE OWNER='TEST' AND NAME ='SP_UP_ADDR'

存储过程一般编译次数频繁,可以取多个时间段的存储过程数据来得到准确的结果。

注:ALL_SOURCE是系统视图,针对其恢复需要DBA权限,如果没有DBA权限账号 , 可以找管理员在后台用SYS账户执行, 然后查询 SYS.tmp_161228_sp_up_addr表得到相应时间点的存储过程数据。

提点


失误:凡人操作,总有失误。而数据操作的删除失误往往是致命的,导致的结果大到能使整个系统瘫痪。
防范:通常的防范手段是备份,误删后从备份中取数据进行恢复,但备份需要额外的消耗和额外的程序处理,备份需要考虑的情况多,需要专业的人专业处理才有效果。
或许:不是专业的人,误删的时候,若能默默的恢复,弥补过错,总是好的。

简单应用,希望对你有用。

<small>条件:Oracle10或以上版本且打开了闪回。</small>

上一篇 下一篇

猜你喜欢

热点阅读