专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Oracle管理

勿操作,怎样恢复(急)?解决方法

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
勿操作,怎样恢复(急)?
环境:oracle 10 归档模式

今天上午对一张业务表部分数据进行更新,后发现更新语句有问题(当初测试不到位)。
导致业务停止。
最后没有办法,把该业务表delete,然后有最初备份的数据进行了覆盖,虽然现在业务可以正常进行,
但这期间的数据都丢失了,现在想找回这些数据,应该怎么办?

本人数据库水平不高,还请高人指点!

------解决方案--------------------
探讨
环境:oracle 10 归档模式

今天上午对一张业务表部分数据进行更新,后发现更新语句有问题(当初测试不到位)。
导致业务停止。
最后没有办法,把该业务表delete,然后有最初备份的数据进行了覆盖,虽然现在业务可以正常进行,
但这期间的数据都丢失了,现在想找回这些数据,应该怎么办?

本人数据库水平不高,还请高人指点!

------解决方案--------------------
事情已经悲剧了,用LogMiner找到那段时间的操作,然后手工弥补
------解决方案--------------------
回3楼,闪回查询并不是你理解的覆盖,而是能查询到过去一个时间点时表的内容。
------解决方案--------------------
-------先创建一张表,把数据闪回到你操作失误之前的时间点
SQL> create table scott.emp_bak as select * from scott.emp as of timestamp to_timestamp('2010-12-17 14:10:20','yyyy-mm-dd hh24:mi:ss');

Table created
-----删除原表数据
SQL> truncate table scott.emp;

Table truncated

----把数据从备份表还原过来
SQL> insert into scott.emp select * from scott.emp_bak;

----删除备份表
SQL> drop table emp_bak;
------解决方案--------------------
以前我们也遇到过类似情况.
是按归档回复表,然后让前台根据票根把丢失用户交费数据再次做了录入.
------解决方案--------------------
探讨
试试这个看看~
FLASHBACK TABLE 表名 TIMESTAMP
TO_TIMESTAMP('时间', 'YYYY-MM-DD HH24:MI:SS');
ps:直接执行FLASHBACK,可能不行,先要更改一下设置:
ALTER TABLE occ_cef ENABLE ROW MOVEMENT;

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: