欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

ora-01940:cannot drop a user,该如何解决

更新时间: 2014-01-05 02:10:27 责任编辑: Author_N1

 

ORA-01940:cannot drop a user
前台删除用户是通过后台脚本实现的,其实已经实现了这个功能,但是由于反应有点慢导致前台的提示功能报错!应该怎么实现呢?
 ----删除此工程相关表数据
    SELECT DB_USERNAME INTO V_DB_NAME FROM SYS_SEC_PROJECT WHERE PROJECT_ID = p_project_id;
----删除该用户所有回话
   FOR C IN( SELECT count(sid) into v_session_count,username,sid,serial# FROM v\$session WHERE upper(username)=upper(V_DB_NAME))
 LOOP
   EXECUTE IMMEDIATE  'ALTER SYSTEM KILL SESSION '''
                   ||C.SID
   ||','
   ||C.SERIAL#
   ||'''';
 END LOOP;
   EXECUTE IMMEDIATE 'DROP USER ' || v_db_name || ' CASCADE';
   DELETE FROM SYS_SEC_PROJECT A WHERE A.PROJECT_ID = p_project_id;

--参考方法--
当前用户不能被删除
--参考方法--
当前有活动会话的用户当然不能删除了啊
--参考方法--
你当前要删除的用户还有会话连接。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:10:27
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6519/
本文WWW.DOC100.NET DOC100.NET版权所有。