oracle表空间删除

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lcgskycby/article/details/73511277

   drop tablespace 表空间名称 including contents and datafiles; 


比如: drop tablespace NNC_DATA03 including contents and datafiles; 


如果你没有运行该语句直接找到相应DBF文件删除那么会无法删除。如下图

如果数据库建了两个用户a,b。

1、如果在a用户下建立了表空间 c,那么在a用户下直接删除表空间c,删除成功后磁盘上对应的DBF文件也会随之删除,那么无论在哪个用户下再次创建名字为c的表空间都可以创建成功。

2、如果在a用户下建立了表空间 c,如果在b用户下直接删除表空间c,结果会告诉你删除成功,但DBF文件不会删除,此时如果你直接去相应的磁盘去删除,那么也会报上图的错误。

此时有两个方法可以删掉该文件:

(1)在用户a下再次运行一下删除表空间语句,此时会输出

在行:7 上开始执行命令时出错 -
drop tablespace NNC_DATA02 including contents and datafiles
错误报告 -
SQL 错误: ORA-00959: 表空间 'NNC_DATA02' 不存在
00959. 00000 -  "tablespace '%s' does not exist"
*Cause:    
*Action:


虽然此时输出该语句,但此时到相应得磁盘可以删除DBF文件了

(2)在任意用户下再次创建表空间c,但为了创建成功需要修改  DATAFILE 'E:\tablespace\bi\c.dbf' ,比如修改路径或者修改c.dbf。再次创建表空间c后,到相应的磁盘就可以删除DBF文件了

没有更多推荐了,返回首页