-- drop tablespace PLANDERUSER including contents and datafiles;
-- 报错: “ORA-02429: 无法删除用于强制唯一/主键的索引”
-- 1.查看该表空间下有哪些索引
SELECT I.INDEX_NAME, I.INDEX_TYPE, I.TABLESPACE_NAME, I.TABLE_OWNER
FROM DBA_INDEXES I
WHERE I.TABLESPACE_NAME = 'TBS1';
-- 发现有个索引'ID'是主键约束'P'
-- 2.查看索引ID对应的约束信息
SELECT C.CONSTRAINT_NAME, C.CONSTRAINT_TYPE, C.TABLE_NAME, C.INDEX_NAME
FROM DBA_CONSTRAINTS C where index_name='ID';
-- 发现索引'ID'在表'T1'上
-- 3.查看索引对应的约束信息
SELECT * FROM DBA_OBJECTS T1 WHERE T1.OBJECT_NAME = 'T1';
-- 发现对应的约束是'ID'
-- 4.查看表所在的表空间
select t1.Table_Name, t1.OWNER, t1.Tablespace_Name From Dba_Tables t1 Where t1.Table_Name = 'T1';
-- 它在USERS表空间下,不是TBS1
-- 5.解决方法:删除表上的约束即可(根据第1、2步中的查询结果)
alter table 表所属用户[I.TABLE_OWNER].表名称[C.TABLE_NAME] drop constraint 约束名称[C.CONSTRAINT_NAME] cascade;
alter table owner.T1 drop constraint ID cascade;
-- 再次删除表空间就可以了。