oracle做过个rman备份。3号是完整备份,然后4、5、6、7、8都增量备份。现在有个 sys_user表的行,被delete了几行。是今天8号发现的。现在就想恢复sys_user这个表的 7月6日18点之前的数据。应该怎么操作。rman可以查看某个表的内容吗?flashback的配置只是24小时。急需大家的帮助。
解决方案 »
- Oracle DBLink操作表权限问题
- oracle 经常报Fatal NI connect error 12537,connecting to:和TNS-12537:TNS:connecti
- RMAN and EXPORT about the database consistency
- 遇到很长的sql怎么处理
- 如何让一月份的本期值和一月份的年累计值相等,但是到二月份的时候年累计值自动累计增加?
- 初学oracle,关于oracle分页问题,请高手指教。
- 改变默认表空间后,数据是全部转到新的默认表空间吗??
- 请教:关于在linux上安装oracle设置环境变量的问题
- 求思路、方案:组合表中的每个字段内容成一个长的字符串?
- 立刻给分:请问Oracle9i的表最多可以有多少列?
- 急急急TT~菜鸟求助
- 求统计语句
c参考..
http://www.eygle.com/archives/2005/06/eoaoracle9iaeai.html
先用flashback去试图恢复下。然后不行,就在测试机上面做个全库恢复,然后导出sys_user表。
可否先看看就这个表 sys_user 的内容呢
看下flashback query。 可以在另一张表里把数据恢复到删除到时间点,然后找出删除的数据在插入到当前表里面。
1、As of timestamp 的示例:
SQL> alter session set nls_date_format='YYYY-MM-DD hh24:mi:ss';
会话已更改。
SQL> select sysdate from dual;
SYSDATE
-------------------
2009-10-15 19:04:16
SQL> select * from A;
ID
----------
2
1
3
4模拟用户误操作,删除数据
SQL> delete from A;
已删除4行。
SQL> commit;
提交完成。
SQL> select * from A;
未选定行查看删除之前的状态:
假设当前距离删除数据已经有5 分钟左右的话:
SQL> select * from A as of timestamp sysdate-5/1440;
ID
----------
2
1
3
4
或者:
SQL>select * from A as of timestamp to_timestamp('2009-10-15 19:04:16','YYYY-MM-DD hh24:mi:ss');
ID
----------
2
1
3
4用Flashback Query恢复之前的数据:
SQL>Insert into A select * from A as of timestamp to_timestamp('2009-10-15 19:04:16','YYYY-MM-DD hh24:mi:ss');
已创建4行。
SQL> COMMIT;
提交完成。
SQL> select * from A;
ID
----------
2
1
3
4
Oracle Flashback 技术 总结
http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4677378.aspx要抓紧时间,这些信息是从undo 里读出来,undo保存数据是有时间限制的,过期可能就覆盖了,那是就恢复不出来了. ------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977
DBA3 群:63306533; 聊天 群:40132017