您的位置: 翼速应用 > 业内知识 > 数据库 > 正文

删除oracle当前连接的用户之详细教程

本文为大家带来了删除oracle当前连接的用户之详细教程,具体内容如下:1、利用“v$session”找出连接当前用户的session;2、利用“alter system kill session ‘sid,serial#’”杀掉会话;3、利用“drop user...cascade;”删除当前用户即可。


删除oracle当前连接的用户之详细教程



本文适用于Windows10系统、Oracle 11g版、Dell G3电脑。


删除oracle当前连接的用户之详细教程


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


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


使用xshell工具连接上oracle数据库服务器


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


以管理员sys身份登录数据库


然后输入删除用户的语句,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掉就可以了


分别执行多次kill掉


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


再次执行删除用户的命令


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



以上就是这篇文章的全部内容了,感谢您的观看!

我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题