今天删除SDE用户(GIS地图数据用户)报ORA-00604、 ORA-21700,详细处理步骤如下:
SQL> drop user SDE cascade;
ERROR at line 1:
ORA-00604:error occurred at recursive SQL level 2
ORA-21700:object does not exist or is marked for delete
1、在dba_users中查询user_id
SQL> select user_id,username from dba_users where username = 'SDE';
USER_ID USERNAME
---------- ------------------------------
123 SDE
2、根据上一步的结果查询用户对应的OBJ#
SQL> select o.name,a.* from association$ a,obj$ o where a.obj#=o.obj# and o.OWNER# = 123;
NAME OBJ# PROPERTY INTCOL# STATSTYPE# DEFAULT_SELECTIVITY DEFAULT_CPU_COST DEFAULT_IO_COST DEFAULT_NET_COST INTERFACE_VERSION# SPARE2
------------------------------ ---------- ---------- ---------- ---------- ------------------- ---------------- --------------- ---------------- ------------------ ----------
ST_GEOMETRY 114471 2 114478 2 0
3、在association$中删除本条记录
SQL> delete from association$ where obj#=114471;
1 row deleted.
SQL> commit;
4、删除SDE用户成功
SQL> drop user SDE cascade;
User dropped.