ORA-01940: cannot drop a user that is currently co

用删除某个用户,可是删除时有用户链接sql

SQL> conn /as sysdbasession

Connected.spa

SQL> drop user test cascade;进程

drop user test cascadeio

*test

ERROR at line 1:select

ORA-01940: cannot drop a user that is currently connected查询

 

经过查看用户的进行,并kill用户进程,而后删除用户db

SQL> select sid,serial# from v$session where username='test'; dba

 

no rows selected

 

SQL> select sid,serial# from v$session where username='TEST';

 

       SID    SERIAL#

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

       150       9019

 

SQL> alter system kill session '150,9019';

 

System altered.

注:这里有点怪,我明明经过kill杀掉了TEST的链接会话,可是我还能够经过test用户行sql的查询,因此形成了我继续查询出现了两条信息。

SQL> select sid,serial# from v$session where username='TEST';

 

       SID    SERIAL#

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

       138       2947

       150       9019

这里我很纳闷,为何ORACLEkill命令并不能真正杀掉进程吗?

SQL> alter system kill session '150,9019';

 

System altered.

 

SQL> alter system kill session '138,2947';     

 

System altered.

可是我在kill掉进程后,立刻删除用户,用户就直接被删除了。难道ORACLEkill命令并不真正的杀掉用户进程,而只是表面上的一直现象,后面的操做才是真正的起做用?

SQL>  drop user test cascade;

 

User dropped.

相关文章
相关标签/搜索