(ORA-01940)-数据库用户session连接到数据库导致无法删除此用户
现象描述
删除数据库用户失败,系统显示如下错误信息:
SQL> drop user username cascade;
ERROR at line 1: ORA-01940: cannot drop a user that is currently connected
username表示数据库用户名。
处理步骤
- 以oracle用户登录数据库所在机器。
- 以sysdba用户连接数据库。
% sqlplus / as sysdba
- 查询该用户的session。
SQL> select username, sid, serial# from v$session;
系统显示如下信息:USERNAME SID SERIAL# ------------------------------ ---------- ---------- 244 154 SYS 247 940 249 20 250 11 251 2 255 40 258 1 260 6 289 1 290 1 291 1 USERNAME SID SERIAL# ------------------------------ ---------- ---------- 292 1 293 1 294 1 295 1 296 1 297 1 298 1 299 1 300 1 301 1 302 1 USERNAME SID SERIAL# ------------------------------ ---------- ---------- 303 1 304 1 305 1 306 1 307 1 308 1 309 1 310 1 311 1 312 1 313 1 USERNAME SID SERIAL# ------------------------------ ---------- ---------- 314 1 315 1 316 1 317 2 319 5 320 5 321 1 322 1 323 1 324 1 325 1 USERNAME SID SERIAL# ------------------------------ ---------- ---------- 326 1 327 1 328 1 329 1 330 1 331 1 332 1 333 1 334 1 SYS 335 5 54 rows selected. - 删除该用户的session。
SQL> alter system kill session 'sid,serial#';
- 查看session的状态,验证session是否被删除。
SQL> select saddr, sid, serial#, paddr, username,status from v$session where username is not null;
- 如果用户的session状态status值为inactive,说明没有被删除。请执行4。
- 如果用户的session状态status值为killed,说明已经删除。
- 删除该用户。
SQL> drop user username cascade;
删除用户成功,系统显示如下信息:User dropped.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




