转:oracle 删除表空间错误 提示:ora-02429:无法删除用于强制唯一

sql>drop tablespace zfxfzb; 
ora-01549:表空间非空,请使用INCLUDING CONTENTS 选项 
sql>drop tablespace zfxfzb INCLUDING CONTENTS and datafiles; 
ora-00604:递归sql层1出现错误。 
ora-02429:无法删除用于强制唯一/主键的索引。 
sql>drop tablespace zfxfzb including contents cascade constraints; 
ora-00604:递归sql层1出现错误。 
ora-02429:无法删除用于强制唯一/主键的索引。 
sql>select segment_name,partition_name,tablespace_name from   dba_extents    where tablespace_name=upper('zfxfzb');

显示出2个表的主键的表空间是:'zfxfzb'. 
sql>select 'alter table '||owner||'.'||table_name||' drop constraint '||constraint_name||' ;' 
from dba_constraints 
where constraint_type in ('U', 'P') 
   and (index_owner, index_name) in 
       (select owner, segment_name 
          from dba_segments 
         where tablespace_name = upper('zfxfzb'));

显示结果如下: 
alter table TEST.SYS_CODE drop constraint PK_CODEID ; 
alter table TEST.KS_WPYP_PWPLGX drop constraint PK_KS_WPYP_PWPLGX ; 
执行以上2条显示的结果 
sql>alter table TEST.SYS_CODE drop constraint PK_CODEID ; 
表已经更改 
sql>alter table TEST.KS_WPYP_PWPLGX drop constraint PK_KS_WPYP_PWPLGX ; 
表已经更改 
sql>drop tablespace zfxfzb;


表空间已经丢弃。 
记得修改上面2个被修改过的表。

posted @ 2018-01-18 10:04  绿水青山777  阅读(319)  评论(0编辑  收藏  举报