- 最后登录
- 2016-9-9
- 在线时间
- 5 小时
- 威望
- 0
- 金钱
- 32
- 注册时间
- 2013-10-31
- 阅读权限
- 10
- 帖子
- 6
- 精华
- 0
- 积分
- 0
- UID
- 1366
|
1#
发表于 2016-9-9 15:29:37
|
查看: 4535 |
回复: 2
环境: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
以上跟踪文件的下载地址:
链接: http://pan.baidu.com/s/1eS0qk98 密码: 1sb9
--5 跟踪文件初步分析
delete from sdo_geor_ddl__table$$ 这个删除在两个跟踪文件都有;
但是这个表不存在;
看命名像是空间组件的相关底层表,尝试重新初始化Oracle Spatial用到的表
@?/md/admin/catmd.sql
但结果依旧。 |
|