视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
删除表空间报错ORA-00604ORA-02429解决过程
2020-11-09 08:14:33 责编:小采
文档


今天在删除表空间时遭遇报错ORA-00604ORA-02429,下面分享一下解决问题的过程。

今天在删除表空间时遭遇报错ORA-00604&ORA-02429,,下面分享一下解决问题的过程。

测试环境
我在Oracle 10g+Windows Server 2008 Standard R2进行操作。

SQL>

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - bi

PL/SQL Release 10.2.0.4.0 - Production

CORE 10.2.0.4.0 Production

TNS for -bit Windows: Version 10.2.0.4.0 - Production

NLSRTL Version 10.2.0.4.0 - Production

SQL>


1.删除表空间报错
我在执行drop tablespace语句时,数据库报错,提示:
“ORA-00604: 递归 SQL 级别 1 出现错误
ORA-02429: 无法删除用于强制唯一/主键的索引”。
根据报错,我添加了cascade constraints选项,依然报错。过程如下:

SQL> drop tablespace HOEGH;

drop tablespace HOEGH

*

第 1 行出现错误:

ORA-01549: 表空间非空, 请使用 INCLUDING CONTENTS 选项

SQL> drop tablespace HOEGH including contents;

drop tablespace HOEGH including contents

*

第 1 行出现错误:

ORA-00604: 递归 SQL 级别 1 出现错误

ORA-02429: 无法删除用于强制唯一/主键的索引

SQL>

SQL> drop tablespace HOEGH including contents cascade constraints;

drop tablespace HOEGH including contents cascade constraints

*

第 1 行出现错误:

ORA-00604: 递归 SQL 级别 1 出现错误

ORA-02429: 无法删除用于强制唯一/主键的索引

SQL>


2.查找唯一/主键索引
通常来说,同时报多个错误都是由其中一个引起的。接下来,我们要查一下存储在HOEGH表空间的唯一/主键索引。如下所示:

SQL> select 'alter table '||owner||'.'||table_name||' drop constraint '||constraint_name||' ;'

2 from dba_constraints

3 where constraint_type in ('U', 'P')

4 and (index_owner, index_name) in

5 (select owner, segment_name

6 from dba_segments

7 where tablespace_name = 'HOEGH');

'ALTERTABLE'||OWNER||'.'||TABLE_NAME||'DROPCONSTRAINT'||CONSTRAINT_NAME||';'

-----------------------------------------------------------------------------------------------------

alter table HOEGH.HOEGH drop constraint PK_HOEGH ;

alter table HOEGH1.HOEGH drop constraint PK_HOEGH ;

alter table HOEGH2.HOEGH drop constraint PK_HOEGH ;

SQL>
从查询结果来看,该表空间包含3个主键索引。

3.删除唯一/主键索引
根据上面的查询结果,删除唯一/主键索引。如下所示:

SQL> alter table HOEGH.HOEGH drop constraint PK_HOEGH ;

表已更改。

SQL> alter table HOEGH1.HOEGH drop constraint PK_HOEGH ;

表已更改。

SQL> alter table HOEGH2.HOEGH drop constraint PK_HOEGH ;

表已更改。

SQL>


4.成功删除表空间
再次执行drop tablespace语句,成功。

SQL>

SQL> drop tablespace HOEGH including contents cascade constraints;

表空间已删除。

SQL>

本文永久更新链接地址:

下载本文
显示全文
专题