解决ORA-29857:表空间中存在域索引和/或次级对象 & ORA-01940:无法删除当前连接的用户问题

今天ArcGIS的SDE发生了一点小故障,导致系统表丢失,所以需要重建一下SDE数据库,在删除SDE用户和所在的表空间过程中遇到下面两个ORA错误,解决方法如下:

1)删除表空间时报错:ORA-29857:表空间中存在域索引和/或次级对象;


2)这个错误的原因很可能是因为这个表空间是某个用户默认的表空间,所以需要删除隶属于这个表空间的用户,才可以进行删除。

那么,怎样查询这个默认表空间中的用户呢,很简单,如下图:


3)根据查询后的结果,SDE用户的表空间为BaseMap,导致表空间无法删除,所以删除SDE用户。


4)ORA-01940:无法删除当前连接的用户!这个时候我们需要查看一下SDE用户的会话状态了,查询结果如下:

解决ORA-29857:表空间中存在域索引和/或次级对象 & ORA-01940:无法删除当前连接的用户问题_第1张图片

5)找到要删除用户的sid、serial,并删除。

解决ORA-29857:表空间中存在域索引和/或次级对象 & ORA-01940:无法删除当前连接的用户问题_第2张图片

6)删除SDE用户:

 

7)删除表空间



SDE用户和表空间删除后,就可以借助Desktop重建SDE空间数据库了。


---------------欢迎来访,拒绝转载------------------


你可能感兴趣的:(解决ORA-29857:表空间中存在域索引和/或次级对象 & ORA-01940:无法删除当前连接的用户问题)