加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 14:37:20 所属栏目:百科 来源:网络整理
导读:是否有更好的方法强制断开所有用户与Oracle 10g数据库模式,而不是重新启动Oracle数据库服务? 我们有几个开发人员使用SQL Developer连接到单个Oracle 10g服务器上的同一个模式。问题是,当我们想删除模式重建它,不可避免的有人仍然连接,我们不能删除数据
是否有更好的方法强制断开所有用户与Oracle 10g数据库模式,而不是重新启动Oracle数据库服务?

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

出于同样的原因,我们不想删除所有连接到其他模式,因为其他人仍然可以连接和测试这些模式。

任何人都知道一个快速的方法来解决这个问题?

要找到会话,作为DBA使用

select sid,serial# from v$session where username = '<your_schema>'

如果你想确保只得到使用SQL Developer的会话,你可以添加和program =’SQL Developer’。如果只想杀死属于特定开发人员的会话,则可以在os_user上添加限制

然后用他们杀死他们

alter system kill session '<sid>,<serial#>'

(e.g. alter system kill session '39,1232')

生成现成的kill语句的查询可以

select 'alter system kill session ''' || sid || ',' || serial# || ''';' from v$session where username = '<your_schema>'

这将为该用户的每个会话返回一个kill语句 – 类似:

alter system kill session’375,64855′;

alter system kill session’346,53146′;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读