在某一台机器上有两个数据库, 简称A库和B库. 有一天向A库加数据文件时, 用了B库中的某一个文件, 因此B库坏了, 某个表空间坏了, 有些表不能访问了. 其他情况如下:
- 没有任何数据文件备份.
- 有最近一年的归档日志.
- 那个文件是在最近一年之内(2007年9月份之前)新建的.
- 2007年10月26号的某一个日志坏了, Oracle恢复不运去了.
- 在这个坏的文件上有Extent的表有25个.
- 2007年10月26后到现在的归档日志大约有几百个.
依我个人意见, 我直接地告诉他们不可能完全(100%)恢复了, 当然可能其他人还有办法了, 他们的领导说了, Oracle一定能全部恢复就能100%恢复. 人家在QQ上不时地问了我三天有关这个恢复的问题了, 解释来解释去, 嫌烦了, 因为我做不到100%恢复, 所以将这个机会共享出来给大家.
有兴趣的可以问我要他们的QQ号, 正急着呢! 估计这几天如果不搞定, 再过几天就过年去了, 没有心思去搞了.
留言 (4)
那么多日志文件。需要恢复多久呀!
恢复到是可以恢复。可是成本就。。。。
呵呵.
Posted by 阿飞 | Jan 24, 2008 5:56 PM
无法完全恢复的, update语句从日志中解出来时, 是根据rowid去更新的, 初步地说来是没有好办法的.
结合SQL_UNDO和SQL_REDO花上两三个星期或更多时间, 是有可能的.
Posted by anysql | Jan 24, 2008 6:19 PM
eygle不是一直都在开展业务吗?
Posted by fire9 | Jan 24, 2008 10:52 PM
理论上这样的问题是可以恢复的
就是相当的麻烦
归档日志就坏了一个,完全恢复是不可能的
恢复时间是一个问题
一些细节问题还需要测试,如lob类型的logminer等问题。
Posted by hrb_qiuyb | Jan 25, 2008 10:37 AM