ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Ora-01940用户不能删除

Ora-01940用户不能删除

原创 Linux操作系统 作者:zl_funlove 时间:2013-03-02 13:21:49 0 删除 编辑
今天接到用户电话,说我们服务器工具删除用户时报错“不是你创建的用户,不能删除“。通过跟踪发现执行Drop user AJ cascade;时报错,oracle的错误为ora-01940。解决办法如下:

1.查看用户的连接状况

select username,sid,serial# from v$session


username          sid                serial#

----------------------------------------
Aj             92              8652

2.找到要删除用户的sid,和serial,并删除

-------------------------------------------

如:你要删除用户'Aj',可以这样做:

alter system kill session'532,4562'

3.删除用户

--------------------------------------------

drop user username 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。

由此可见,Aj这个用户的session已经被杀死。此时可以安全删除用户。      

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/99436/viewspace-755130/,如需转载,请注明出处,否则将追究法律责任。

下一篇: ORA-04031错误解决
请登录后发表评论 登录
全部评论

注册时间:2008-08-09

  • 博文量
    11
  • 访问量
    38353