zoukankan      html  css  js  c++  java
  • 无法删除用户的解决办法

    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已经被杀死。此时可以安全删除用户。

  • 相关阅读:
    LAMP
    监控和安全运维 1.8 zabbix服务端安装
    监控和安全运维 1.7 nagios配置邮件告警
    易道用车-拿什么说爱你
    unix exec族函数 关于参数的疑惑
    关于 Unix 用户权限及进程权限及 Saved set-user-id
    ANSI C中关于FILE流的一些
    Filco minila 的蛋疼。
    IIS32位,64位模式下切换
    Gvim+Emmet.vim 那些事。
  • 原文地址:https://www.cnblogs.com/pscc/p/9130235.html
Copyright © 2011-2022 走看看