重新创建用户,及表空间,删除用户时候,出现错误提示,被删除的目标用户处于连接状态。
删除用户语句:drop user amhdgf cascade;
删除表空间语句:drop tablespace amhdgf including contents and datafiles;
方法1.先锁定用户、然后查询进程号,先杀死对应的进程、再删除对应的用户:
查询数据库所有当前连接的用户:select user name, sid, serial# from v$session;从视图中查找,如下图:
杀死 kill 目标用户,语句如下:alter
system kill session '69,11660' ;
执行完以后,就可顺利drop掉想要删除的用户,进行重新创建用户了!
如果在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