您现在的位置是:群英 > 数据库 > 关系型数据库
oracle中如何删除当前连接的用户,方法是怎样
Admin发表于 2022-05-10 11:22:491304 次浏览
在实际案例的操作过程中,我们可能会遇到“oracle中如何删除当前连接的用户,方法是怎样”这样的问题,那么我们该如何处理和解决这样的情况呢?这篇小编就给大家总结了一些方法,具有一定的借鉴价值,希望对大家有所帮助,接下来就让小编带领大家一起了解看看吧。

 

方法:1、用“select sid,serial# from v$session where username=''”语句查询会话信息;2、用“alter system kill session ''”语句kill会话;3、重新删除用户。

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle无法删除用户怎么办

测试环境的oracle数据库,随着软件开发的版本升级,需要重新刷数据库,因为随着测试环境使用一段时间之后,里面的数据会越来越多,有时候为了功能测试的方便,测试环境下的数据库里的数据会出现不一致的情况,这样对后续版本的测试会有一定的影像和干扰。为了避免以上情况的发生,一般会先清除当前数据库用户下面的所有对象,然后重新创建。但删除一个用户下面所有的对象及数据,需要先找出当前用户下有哪些对象,然后再删除,使用删除用户级联删除的方式,非常简单方便,但当前要删除的用户被使用连接,则不能删除,需要先杀掉会话,再删除。

首先需要使用xshell工具连接上oracle数据库服务器(这里介绍的是linux环境下的,windows环境更为简单点),如果不是当前linux用户不是oracle用户,需要切换都oracle用户下,输入命令,su - oracle进行切换

在oracle用户下执行,sqlplus / as sysdba,即以管理员sys身份登录数据库,删除用户一般只有管理员账户才有的权限,如果只是查询数据库表以及数据的话,则只需要使用普通账户登录即可。连接上之后会提示Connected to: oracle databases等提示信息,并且出现的输入提示符变成了SQL>

然后输入删除用户的语句,DROP USER cqt CASCADE; CASCADE表示级联删除该用户下所有对象信息的意思。如图提示了,ORA-01940的错误,不能删除当前正在被连接的用户

如果还想继续删除的话,需要先查询出当前连接该用户的会话信息,然后杀掉,再执行删除操作。查询语句为:select sid,serial# from v$session where username='CQT';注意大小写的区别。如图查询出了多个连接该用户的会话信息,需要将以上查询到的用户会话都kill掉

kill掉会话的语句为:alter system kill session '15,19095';多个会话的,可以分别执行多次kill掉就可以了

以上会话被清除之后,再次执行删除用户的命令,如图所示,这次可以成功的删除了。因为此语句添加了级联删除的关键字,所以该用户下的所有对象和数据都会被删除的。

以上就完成了用户及对象的删除操作,如果是刷库操作,则可以开始重新创建用户然后在分配权限,执行数据库脚本,即可进行新的一轮版本的测试了。

注意事项

级联删除用户对象的时候一定要谨慎操作,防止删错用户或信息,可以在操作之前先行备份再操作。


关于“oracle中如何删除当前连接的用户,方法是怎样”的内容就介绍到这,感谢各位的阅读,相信大家对oracle中如何删除当前连接的用户,方法是怎样已经有了进一步的了解。大家如果还想学习更多知识,欢迎关注群英网络,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

相关信息推荐
2022-04-28 14:13:49 
摘要:给大家带来一篇关于深入理解mysql数据库和oracle数据库之间互相导入备份的相关教程文章,内容涉及到mysql、oracle数据库、mysql数据库和oracle数据库之间互相导入备份等相关内容,已被89人关注,更多关于mysql数据库和oracle数据库之间互相导入备份的内容希望能够帮助到大家。
2022-08-13 17:51:17 
摘要:MySQL中如何查询字段注释?下面本篇文章给大家盘点和对比下查询 MySQL 字段注释的 5 种方法,并介绍一下修改表注释和字段注释的方法,希望对大家有所帮助。
2022-11-03 17:56:38 
摘要:mysql与oracle有区别:1、Oracle是一个对象关系数据库管理系统(ORDBMS),而MySQL是一个关系数据库管理系统(RDBMS);2、Oracle是闭源的(收费),MySQL是开源的(免费);3、Oracle是大型数据库,而MySQL是中小型数据库;4、Oracle可设置用户权限、访问权限、读写权限等,而MySQL不行;5、Oracle有表空间,MySQL没有。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部