oracle 23515,ORA-23515错误

在删除表空间的时候碰到这个错误。

具体错误信息如下:

SQL> DROP TABLESPACE CENTER INCLUDING CONTENTS AND DATAFILES;

DROP TABLESPACE CENTER INCLUDING CONTENTS AND DATAFILES

*第1行出现错误:

ORA-23515:实体化视图和/或它们的索引存在于表空间中

检查Oracle的错误描述文档:

ORA-23515: materialized views and/or their indices exist in the tablespace

Cause: An attempt was made to drop a tablespace which contains materialized views and/or their indices.

Action: Drop the materialized views in this tablespace. Also, find indices belonging to materialized views in this tablespace and drop then. Then trydropping the tablespace.

莫非表空间中包含了物化视图,就无法直接删除表空间了。

尝试模拟一下错误:

SQL> CREATE TABLESPACE TEST DATAFILE '/data1/oradata/testrac/test01.dbf' SIZE 10M;

表空间已创建。

SQL> CONN TEST/TEST已连接。SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY)

2  TABLESPACE TEST;

表已创建。

SQL> CREATE MATERIALIZED VIEW MV_T

2  TABLESPACE TEST

3  AS SELECT * FROM T;

实体化视图已创建。

SQL> CONN / AS SYSDBA已连接。SQL> DROP TABLESPACE TEST INCLUDING CONTENTS AND DATAFILES;

DROP TABLESPACE TEST INCLUDING CONTENTS AND DATAFILES

*第1行出现错误:

ORA-23515:实体化视图和/或它们的索引存在于表空间中

物化视图和表相比,并没有太多的特殊之处,为什么不能在删除表空间的同时删除物化视图呢。怀疑Oracle删除表空间的时候只能删除存储在表空间之内的对象,比如表、索引、CLUSTER等,但是不能删除表空间以外的对象,比如存储过程、触发器、物化视图。这些源数据是存储在SYSTEM表空间的数据字典中的,它们不属于这个表空间的CONTENTS,因此删除会报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值