oracle 删除表空间

os: centos 7.6
db: oracle 19.3

如果表空间非空,就无法删除,所以在删除表空间时,需要删除相关的用户,或者移动对象到别的表空间.
老是忘记语法,记录一下.
强烈建议 sqlplus 实现 help drop tablespace

删除用户

SQL> drop user user_name cascade;

删除空的表空间,但是不包含物理文件

SQL> drop tablespace tbs_name;

删除非空表空间,但是不包含物理文件

SQL> drop tablespace tbs_name including contents;

删除空表空间,包含物理文件

SQL> drop tablespace tbs_name including datafiles;

删除非空表空间,包含物理文件

SQL> drop tablespace tbs_name including contents and datafiles;

如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上 CASCADE CONSTRAINTS

SQL> drop tablespace tbs_name including contents and datafiles cascade constraints;

参考:
https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/DROP-TABLESPACE.html#GUID-C91F3E94-4503-48DE-9BCA-42E495E6BE11

猜你喜欢

转载自blog.csdn.net/ctypyb2002/article/details/92657932