有一同事,早上上班的时候,头脑抽筋把测试数据库卸载了。但是在测试数据库中有10张表是很重要的表,并且正式环境无。所以做以下操作
1:检查oradata,以及db_1\dbs目录是否有删。(幸亏没有删除)
2:将oracle卸载干净
3:重新安装数据库
4:建立与之前一样的的实例
5:将oradata文件拷贝到新建的oracle目录下
6:新建db_1\dbs\pfileorcl.ora文件。拷贝之前的ora文件
7:启动数据库 startup pfile ='...db_1\dbs\pfileorcl.ora'
启动后检查原来orcl的用户名。表空间都还在。
于是马上查询出数据进行备份。
但是在pl\sql进行查询数据的时候总是出现:
内部错误 是PLS-801 内部错误 56319 此错误不会解决。
望求教。。

解决方案 »

  1.   

    有点类似冷备份。。  你的数据库版本跟原来的一致吗?  还有是  你的startup 成功了吗? 有没有报错。看看告警日志。
    如果都没错, 那就用plsqldev试试吧。。
      

  2.   

    可怜人啊。不过没我可怜,不信你去看我的帖子
    在你同事删除表的时候,你就要用闪恢进行恢复,而不是卸载数据库。
    我个人觉得,假如你现在数据库文件还在的话,就要先备份好这些文件,然后对数据进行恢复。
    貌似卸载了,数据库文件就不见了。这样的话用日志文件恢复???我是没试过。
    我现在就是用硬盘恢复文件来恢复,要是能恢复到日志文件都在了。就可以恢复数据了。
    希望你不要这么麻烦。
    我的帖子在这里。
    http://topic.csdn.net/u/20110728/17/bfc53805-4ce1-47a9-91bb-ffd7e948d7af.html
      

  3.   

    删除表之后不是还可以闪回么?为什么要卸载数据库呢
    oracle10g提供了闪回如下:flashback table tablename to before drop;