问题描述
我不小心删了一张公司的表,没有备份,里面数据很多,很难录入,别人说用logMiner可以恢复,但是这东西我从来没有用过,请问有没有人可以帮忙,我已经把那天oracle的日志导出来了可是就不知道怎么弄了,赶紧帮忙下,急啊!!万分感谢。。。现在已经不能把表还原了,所以只能用这个方法了!求帮忙!!!! 网上有很多,只是看不懂,能不能有手把手教下的或者指点下的!本人万分感激!!!!logMiner可以用于恢复吗?还是只能做为查看日志用呢?能不能恢复表呢?主要是表里面的数据 问题补充:czmmiao 写道
解决方案
一、LogMiner的几点说明1、LogMiner可以帮你确定在某段时间所发的各种DML,DDL操作的具体时间和SCN号,它所依据的是归档日志文件及联机日志文件。2、它只能在Oracle8i及以后的版本中使用,不过它可以分析Oracle8的日志。3、Oracle8i只能用于分析DML操作,到Oracle9i则可以分析DDL操作了。4、LogMiner不支持索引组织表、Long、LOB及集合类型。5、MTS的环境也不能使用LogMiner. 根据上面的资料,利用logminer也只是查找到相应的错误操作时间点,然后进行不完全恢复。目前你应该确认如下几点。1、数据库是否有进行归档2、数据库最近的备份是什么时候,恢复大概需要多久3、是否有开闪回功能如果都没有,如实跟你领导上报情况,让他来决定该怎么做
解决方案二:
select flashback_on from v$instance;不对就desc v$instance下,看下flashback是否开启如果开启就show recyclebin看下表是否在如果不行就是用logminer查看你执行删除操作的时间,然后做基于时间点的不完全恢复。基于scn的不完全恢复也是可以的,感觉你好像不熟悉oracle,建议最好不要自己来做不完全恢复的操作,让熟悉的人来。还有,提醒一句不完全恢复全库级别的,要考虑清楚,是否能容忍数据库回到指定时间点。