1. 程式人生 > >oracle 刪除表空間錯誤 提示:ora-02429:無法刪除用於強制唯一/主鍵的索引

oracle 刪除表空間錯誤 提示:ora-02429:無法刪除用於強制唯一/主鍵的索引

sql>drop tablespace ksdm

ora-01549:表空間非空,請使用INCLUDING CONTENTS 選項

sql>drop tablespace ksdm INCLUDING CONTENTS and datafiles;

ora-00604:遞迴sql層1出現錯誤。

ora-02429:無法刪除用於強制唯一/主鍵的索引。

sql>drop tablespace ksdm 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('KSDM')

顯示出2個表的主鍵的表空間是:KSDM.

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 = 'KSDM');

顯示結果如下:

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 KSDM

表空間已經丟棄。

記得修改上面2個被修改過的表。