oracle里 delete 了数据怎么恢复。急啊
展开全部
/*1.FLASHBACK QUERY*/
--闪回到15分钟前
select * from orders as of timestamp (systimestamp - interval ''15'' minute) where ......
这里可以使用DAY、SECOND、MONTH替换minute,例如:
SELECT * FROM orders AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL ''2'' DAY)
--闪回到某个时间点
select * from orders as of timestamp to_timestamp (''01-Sep-04 16:18:57.845993'', ''DD-Mon-RR HH24:MI:SS.FF'') where ...
--闪回到两天前
select * from orders as of timestamp (sysdate - 2) where.........
/*2.FLASHBACK DROP*/
1.flashback table orders to before drop;
2.如果源表已经重建,可以使用rename to子句:
flashback table order to before drop rename to order_old_version;
/*3.FLASHBACK TABLE*/
1.首先要启用行迁移:
alter table order enable row movement;
2.闪回表到15分钟前:
flashback table order to timestamp systimestamp - interval ''15'' minute;
闪回到某个时间点:
FLASHBACK TABLE order TO TIMESTAMP TO_TIMESTAMP('2007-09-12 01:15:25 PM','YYYY-MM-DD HH:MI:SS AM')
--闪回到15分钟前
select * from orders as of timestamp (systimestamp - interval ''15'' minute) where ......
这里可以使用DAY、SECOND、MONTH替换minute,例如:
SELECT * FROM orders AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL ''2'' DAY)
--闪回到某个时间点
select * from orders as of timestamp to_timestamp (''01-Sep-04 16:18:57.845993'', ''DD-Mon-RR HH24:MI:SS.FF'') where ...
--闪回到两天前
select * from orders as of timestamp (sysdate - 2) where.........
/*2.FLASHBACK DROP*/
1.flashback table orders to before drop;
2.如果源表已经重建,可以使用rename to子句:
flashback table order to before drop rename to order_old_version;
/*3.FLASHBACK TABLE*/
1.首先要启用行迁移:
alter table order enable row movement;
2.闪回表到15分钟前:
flashback table order to timestamp systimestamp - interval ''15'' minute;
闪回到某个时间点:
FLASHBACK TABLE order TO TIMESTAMP TO_TIMESTAMP('2007-09-12 01:15:25 PM','YYYY-MM-DD HH:MI:SS AM')
展开全部
Oracle DBA神器:PRM灾难恢复工具,Schema级别数据恢复。PRM For Oracle Database – schema级别oracle数据库数据恢复特性 ,PRM即ParnassusData Recovery Manager是企业级别Oracle数据库灾难恢复工具。PRM可以在无备份的情况下恢复被truncated/drop掉的表,也可以恢复无法打开的Oracle数据库(Alter Database Open失败)中的数据。 PRM是图形化增强版的Oracle DUL工具,同时具备很多Oracle DUL不具备的特性
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DELETE 以后, Commit了么?
如果还没有 Commit, 那么简单 ROLLBACK 就可以了。
如果已经 COMMIT 了, 那么尝试用 Oracle Flashback Query, 把错误删除的数据,查询出来,然后再尝试恢复。
http://hi.baidu.com/wangzhiqing999/blog/item/224f2c35f6f684b85fdf0e72.html
如果还没有 Commit, 那么简单 ROLLBACK 就可以了。
如果已经 COMMIT 了, 那么尝试用 Oracle Flashback Query, 把错误删除的数据,查询出来,然后再尝试恢复。
http://hi.baidu.com/wangzhiqing999/blog/item/224f2c35f6f684b85fdf0e72.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用户删除恢复的方法
用oracle em进行管理,即菜单中的database control -数据库名,进入后,建立表空间,建立用户,指定用户的权限即可,是可视化的界面,呵呵。
服务器-->安全性-->用户
用oracle em进行管理,即菜单中的database control -数据库名,进入后,建立表空间,建立用户,指定用户的权限即可,是可视化的界面,呵呵。
服务器-->安全性-->用户
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果没有Commit 使用RollBack .恢复
如果Commit了,从事务日志中查询恢复了
如果Commit了,从事务日志中查询恢复了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询