ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-23515错误

ORA-23515错误

原创 Linux操作系统 作者:yangtingkun 时间:2009-03-24 22:05:06 0 删除 编辑

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

 

 

具体错误信息如下:

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,因此删除会报错。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-578192/,如需转载,请注明出处,否则将追究法律责任。

上一篇: ORA-16146错误
请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10542045