首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从Oracle 10g数据库模式中删除连接的用户

从Oracle 10g数据库模式中删除连接的用户
EN

Stack Overflow用户
提问于 2008-09-17 17:49:33
回答 4查看 153.8K关注 0票数 70

有比重新启动Oracle数据库服务更好的方法来强制断开所有用户与Oracle 10g数据库模式的连接吗?

我们有几个开发人员使用SQL Developer连接到单个Oracle 10g服务器上的相同架构。问题是,当我们想要删除模式以重新构建它时,不可避免地会有人仍然连接,并且当有人仍然连接时,我们不能删除数据库模式或用户。

出于同样的原因,我们不希望丢弃到其他模式的所有连接,因为其他人可能仍在使用这些模式进行连接和测试。

有人知道解决这个问题的捷径吗?

EN

回答 4

Stack Overflow用户

发布于 2013-12-10 21:29:43

我的建议是这个简单的匿名块:

代码语言:javascript
复制
DECLARE
   lc_username   VARCHAR2 (32) := 'user-name-to-kill-here';
BEGIN
   FOR ln_cur IN (SELECT sid, serial# FROM v$session WHERE username = lc_username)
   LOOP
      EXECUTE IMMEDIATE ('ALTER SYSTEM KILL SESSION ''' || ln_cur.sid || ',' || ln_cur.serial# || ''' IMMEDIATE');
   END LOOP;
END;
/
票数 9
EN

Stack Overflow用户

发布于 2008-09-23 19:04:05

确保在杀死他们之前更改系统并启用受限会话,否则他们将在您完成工作之前快速重新登录到数据库中。

票数 1
EN

Stack Overflow用户

发布于 2012-02-24 00:37:34

只需使用SQL:

代码语言:javascript
复制
disconnect; 

conn tiger/scott as sysdba;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/85804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档