首页 > 其他 > 详细

ORA-29857: domain indexes and/or secondary objects

时间:2015-12-25 11:37:33      阅读:325      评论:0      收藏:0      [点我收藏+]
dmp导入的时候出了问题,想把表空间和用户删除重建,然后再重新导入,却在删除表空间时报错:
 
> ORA-29857: domain indexes and/or secondary objects exist in the tablespace
 
看样子是域索引或者是还有其他用户引用了这个表空间的原因,首先检查一下域索引,用要表空间所属用户登录,执行语句:
 
>  select index_name, table_owner, table_name, tablespace_name from user_indexes where index_type=‘DOMAIN‘;
 
查出所有的当前表空间的域索引,将这些域索引删除之后便可继续drop表空间,但是在删除其中一个索引的时候报错:
 
> ORA-29868: cannot issue DDL on a domain index marked as LOADING
 
看样子这个就是导入时报错的地方,导致这个索引仍旧处在读取的状态,执行强制删除语句:
 
> DROP INDEX <index_name> FROCE;
 
如果这样还不行,就重启数据库后再强制删除,然后再使用DROP语句删除表空间重建即可。
 
上述是域索引导致删除报错的问题,如果是表空间同时被其他用户引用了的话,可以通过下面语句查出:
 
> select distinct owner from dba_tables where tablespace_name=‘<tablespace_name>‘
 

 

如果有其他用户的话,可以将其他用户的表空间改为其他或删除用户,这样就可以继续执行表空间的删除和重建了
dmp导入的时候出了问题,想把表空间和用户删除重建,然后再重新导入,却在删除表空间时报错:
1
> ORA-29857: domain indexes and/or secondary objects exist in the tablespace
看样子是域索引或者是还有其他用户引用了这个表空间的原因,首先检查一下域索引,用要表空间所属用户登录,执行语句:
1
select index_name, table_owner, table_name, tablespace_name from user_indexes where index_type=‘DOMAIN‘;
查出所有的当前表空间的域索引,将这些域索引删除之后便可继续drop表空间,但是在删除其中一个索引的时候报错:
1
> ORA-29868: cannot issue DDL on a domain index marked as LOADING

看样子这个就是导入时报错的地方,导致这个索引仍旧处在读取的状态,执行强制删除语句:

 

1
> DROP INDEX <index_name> FROCE;

 

 

如果这样还不行,就重启数据库后再强制删除,然后再使用DROP语句删除表空间重建即可。

 

上述是域索引导致删除报错的问题,如果是表空间同时被其他用户引用了的话,可以通过下面语句查出:
1
> select distinct owner from dba_tables where tablespace_name=‘<tablespace_name>‘

 

 

如果有其他用户的话,可以将其他用户的表空间改为其他或删除用户,这样就可以继续执行表空间的删除和重建了

ORA-29857: domain indexes and/or secondary objects

原文:http://www.cnblogs.com/baiyangcao/p/5075211.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!