drop user xxx cascade无法成功,附初步诊断和跟踪文件
dbdao吧
全部回复
仅看楼主
level 4
环境:RHEL5.4 + Oracle 11.2.0.1
故障:drop user xxx cascade无法成功。
详细操作过程如下:
--1 删除用户报错信息:
drop user sde cascade;
drop user osl_gis cascade;
SQL> drop user sde cascade;
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
SQL> drop user osl_gis cascade;
drop user osl_gis cascade
*
ERROR at line 1:
ORA-01940: cannot drop a user that is currently connected
--2 尝试解决osl_gis删除问题
select username, sid, serial# from v$session where username='OSL_GIS';
目前OSL_GIS用户已经没有连接了,还是提示同样报错;ORA-01940: cannot drop a user that is currently connected
为了防止杀死会话还有新的连接,已经临时更改了要删除的用户密码为 123456
--3 删除sde用户过程的会话 跟踪文件
alter session set sql_trace=true;
drop user sde cascade;
alter session set sql_trace=false;
对应跟踪文件为:
/opt/oracle/diag/rdbms/irmsdb/irmsdb/trace/irmsdb_ora_21923.trc
--4 删除osl_gis用户过程的会话 跟踪文件
alter session set sql_trace=true;
drop user osl_gis cascade;
alter session set sql_trace=false;
对应跟踪文件为:
/opt/oracle/diag/rdbms/irmsdb/irmsdb/trace/irmsdb_ora_22566.trc
以上跟踪文件的下载地址:
链接: 百度网盘 密码: 1sb9
--5 跟踪文件初步分析
delete from sdo_geor_ddl__table$$ 这个删除在两个跟踪文件都有;
但是这个表不存在;
看命名像是空间组件的相关底层表,尝试重新初始化Oracle Spatial用到的表
@?/md/admin/catmd.sql
但结果依旧。
2016年09月09日 07点09分 1
1