oracle 删除 queue,删除oracle用户出现的某些问题

1、该用户仍然有连接。

select username,sid,serial# from v$session where

username=用户名;

好吧,我是属于坏人一类的,查到了就无情的KILL掉它。

alter system kill session

'138,10332'; ---前是sid,后是serial#

2、删除用户时出现:ORA-24005: must use DBMS_AQADM.DROP_QUEUE_TABLE to

drop queue tables 错误。

select OWNER,QUEUE_TABLE from USER_QUEUE_TABLES where

OWNER=用户名;

好吧查到了吗?一般是DEF$_AQCALL,DEF$_AQERROR这两个小坏蛋,呵呵,删除吧。

alter session set events'10851 trace name context forever,level

2';

begin

DBMS_AQADM.DROP_QUEUE_TABLE('用户名.DEF$_AQCALL',TRUE,true);

end;

begin

DBMS_AQADM.DROP_QUEUE_TABLE('用户名.DEF$_AQERROR',TRUE,true);

end;

好吧,你再试一下看能删除不?一般就OK了。

注:当然,我可勤劳的做了一个事,就是把该用户下所有的对象删除后,再删除用户,这个唯一就是麻烦点而已。

先删除该用户所有东西,请用该用户登录:

select 'drop table ' || table_name ||';'||chr(13)||chr(10) from

user_tables; --delete tables

select 'drop view ' || view_name||';'||chr(13)||chr(10) from

user_views; --delete views

select 'drop sequence ' || sequence_name||';'||chr(13)||chr(10)

from user_sequences;--delete seqs

select 'drop function ' || object_name||';'||chr(13)||chr(10) from

user_objects where object_type='FUNCTION';--delete functions

select 'drop procedure ' || object_name||';'||chr(13)||chr(10) from

user_objects where object_type='PROCEDURE';--DELETE PROCEDURE

select 'drop package ' || object_name||';'||chr(13)||chr(10) from

user_objects where object_type='PACKAGE';--delete pags

把脚本拷出来,运行就OK了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值