(转)oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下:
1、先锁定用户、然后查询进程号,最后删除对应的进程、在删除对应的用户
SQL>alter user XXX account lock;
SQL>SELECT * FROM V$SESSION WHERE USERNAME='LGDB';
SQL>alter system kill session 'xx,xx'
SQL>drop user xx cascade
2.shutdown掉数据库,再重启
具体查询进程号,最后删除对应的进程步骤如下
1) 查看用户的连接状况
select username,sid,serial# from v$session
如下结果:
username sid serial#
NETBNEW 513 22974
NETBNEW 514 18183
NETBNEW 516 21573
NETBNEW 531 9
ts 532 4562
(2)找到要删除用户的sid,和serial,并删除
如:你要删除用户'ts',可以这样做:
alter system kill session'532,4562'
(3)删除用户
drop user ts cascade
(**)如果在drop 后还提示ORA-01940:无法删除当前已链接的用户,说明还有连接的session,可以通过查看session的状态来确定该session是否被kill 了,用如下语句查看:
select saddr,sid,serial#,paddr,username,status from v$session where username is not null
结果如下(以我的库为例):
saddr sid serial# paddr username status
564A1E28 513 22974 569638F4 NETBNEW ACTIVE
564A30DC 514 18183 569688CC NETBNEW INACTIVE
564A5644 516 21573 56963340 NETBNEW INACTIVE
564B6ED0 531 9 56962D8C NETBNEW INACTIVE
564B8184 532 4562 56A1075C WUZHQ KILLED
status 为要删除用户的session状态,如果还为inactive,说明没有被kill掉,如果状态为killed,说明已kill。
由此可见,ts这个用户的session已经被杀死。此时可以安全删除用户。
(转)oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”的更多相关文章
- oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQL>alter user XXX account l ...
- ORA-01940无法删除当前已连接用户
原文地址:ORA-01940无法删除当前已连接用户作者:1736188794 1)查看用户的连接状况 select username,sid,serial# from v$session ------ ...
- oracle中使用impdp数据泵导入数据提示“ORA-31684:对象类型已经存在”错误的解决
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47448751 本文出自[我是干勾鱼的博客] oracle中使用impdp数据泵导 ...
- ORACLE中通过SQL语句(alter table)来增加、删除、修改字段
1.添加字段: alter table 表名 add (字段 字段类型) [ default '输入默认值'] [null/not null] ; 2.添加备注: comment on ...
- GridView中的编辑和删除按钮,执行更新和删除代码之前的更新提示或删除提示
在GridView中,可以通过设计界面GridViewr任务->编辑列->CommandField,很简单的添加的编辑和删除按钮 在前台源码中,可以看到GridView自动生成了两个列. ...
- 系统中同时安装sql2005 和 sql2008 R2 提示要删除SQL Server 2005 Express
修改注册表:HKLM\Software\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM,把 ShellSEM重命名即可 如果是64位机器 在 HKL ...
- 查询oracle中所有用户信息 禁用用户
----查询oracle中所有用户信息 ----1.查询数据库中的表空间名称 ----1)查询所有表空间 select tablespace_name from dba_tablespaces; se ...
- Oracle中用户(User)和模式(Schema)的概念
数据库理论中数据库用户和数据库模式并没有必定的联系.具体的数据库模式解释能够在这里找到: http://stackoverflow.com/questions/2674222/what-is-purp ...
- 恢复oracle中误删除drop掉的表 闪回的方法
恢复oracle中误删除drop掉的表 查看回收站中表 --需要在其所在用户下查询 回收站对象 select object_name,original_name,partition_name,ty ...
随机推荐
- DAO跨事物调用---转账
第一步创建实体类:Entity package com.beiwo.epet.entity; public class Account { private int id; private String ...
- Linux 显示文件完整路径
原链接 http://blog.chinaunix.net/uid-25266990-id-3268759.html ls foo | sed "s:^:`pwd`/:"
- 英语学习app分析
以下数据分析由队员张波收集整理队员链接 队友的博客 一.数据统计 为了让统计数据更加准确可信,我们选取了三款android平台的应用市场软件作为数据的来源. 英语学习app下载量统计表: 序号 应用名 ...
- virt-manager管理整个云平台的instances
http://people.redhat.com/~rjones/virt-top/faq.html
- Find out files transfered via Bluetooth
The case was about business secret and forensic guy did a physical acquisition from a smart phone. H ...
- 修改tomcat应用日志默认编码格式
前言 今天开发跟我说tomcat日志中的中文不能正常显示,根据以往的经验,我觉得可能跟服务器的编码有关,于是尝试各种方法,但还是没能解决问题. 后来我突然想到会不会跟tomcat的设置有关呢,于是在网 ...
- 关于 Dev中的GridControl 中 GridView 的 PopulateColumns() 方法
最近使用Dev控件,Gridview绑定数据源后不能显示数据,于是在网上查询,说是使用PopulateColumns()方法,可以显示数据.试了一下,管用. 于是在所有更新数据源数据后,都用上了这句话 ...
- Python 3.6.0的sqlite3模块无法执行VACUUM语句
Python 3.6.0的sqlite3模块存在一个bug(见issue 29003),无法执行VACUUM语句. 一执行就出现异常: Traceback (most recent call last ...
- LinQ的组合+分页
前台代码: 名称:<asp:TextBox ID="Textname" runat="server"></asp:TextBox> 油耗 ...
- Linux下的tar压缩解压缩命令详解
转载自http://www.cnblogs.com/qq78292959/archive/2011/07/06/2099427.html tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压 ...