ALLSTARS_ORACLE 发表于 2017-4-17 11:01:10

紧急求助(误删数据字典记录)

有一个新同事今天想删除一个表空间,由于他对oracle不大熟,竟然执行了以下命令:
delete from dba_tablespaces where tablespace_name='×××';

晕死,现在有办法恢复吗?

删除的是一个普通的用户表空间,没有归档,已经提交了。


问题是怎么恢复啊??

在dba_tablespaces视图中看不到这个表空间,但是在dba_data_files视图中可以看到这个表空间的数据文件!

问题的关键是有没有办法把dba_tablespaces中的这条记录恢复回去。

我刚才看了一下ts$视图,发现被删除的表空间的记录还在,只不过online$值为3。
我尝试去把online$值改为1:
update ts$ set online$=1 where ts#=44;

但是这条语句一执行就挂住了,查看v$session_wait视图,发现一个等待事件"transaction",等待的对象好象是回滚段的某个数据块。


数据库版本是:  oracle8.1.7.4
页: [1]
查看完整版本: 紧急求助(误删数据字典记录)