如何删除损坏的表空间?

stm*_*ius 4 oracle oracle-11g-r2 tablespaces

问题:
在 Oracle 11.2g DB 上;我们有一个损坏的 TS,它不允许在装载状态之上启动数据库实例。无法使用标准方法(即企业管理器)删除 TS。

我们可以做什么?
诊断问题还需要哪些其他信息?

(我们同时检查了文件系统,没问题,但是表空间的 DBF 文件丢失了。)

Joh*_*yle 6

如果您只想删除表空间,您是否尝试过以身份登录sys并删除它?

DROP TABLESPACE <tablespace>
INCLUDING CONTENTS 
CASCADE CONSTRAINTS; 
Run Code Online (Sandbox Code Playgroud)

如果是这样,您会收到什么错误消息?(我假设您此时已经对数据库进行了冷备份,以防需要表空间。)

或者,如果您可以确定哪个数据文件已损坏,您可以将其从表空间中删除:

ALTER DATABASE DATAFILE '<filename>' OFFLINE DROP; 
Run Code Online (Sandbox Code Playgroud)

确保 <filename> 是Oracle已知的文件名,尤其是在磁盘上可能涉及任何链接的情况下!否则,您将收到有关不存在文件的误导性错误。