通过OEM或者SQLPLUS 删除用户ORACLETEST没反应,强行结束后,再删除也不行.加 cascade也不行.其他用户也是一样.
环境:AIX5.2,ORACLE 9i
下面是相关检查步骤,但还是找不到原因,请专家帮忙解决为谢!
SQL> drop user oracletest;
drop user oracletest
*
ERROR at line 1:
ORA-01940: cannot drop a user that is currently connectedSQL> select username,sid,serial# from v$session where username='oracletest';no rows selectedSQL> select username,sid,serial# from v$session where username='oracletest'
  2  ;no rows selectedSQL> select username,sid,serial# from v$session where username='airmate2007';no rows selectedSQL> select username,sid,serial# from v$session where username='amt2007';no rows selectedSQL> drop user oracletest;
drop user oracletest
*
ERROR at line 1:
ORA-01940: cannot drop a user that is currently connected
SQL> select job from dba_jobs where log_user='oracletest';no rows selectedSQL> select queue_table, qid from dba_queues where owner='oracletest';no rows selectedSQL> select capture_name, queue_name, from dba_capture where queue_owner='oracle
test';
select capture_name, queue_name, from dba_capture where queue_owner='oracletest'
                                 *
ERROR at line 1:
ORA-00936: missing expression
SQL> select propagation_name from dba_propagation where source_queue_owner='orac
letes' or destination_queue_owner='^CSQL> select propagation_name from dba_propagation where source_queue_owner='orac
letest' or destination_queue_owner='oracletest';no rows selectedSQL> select apply_name from dba_apply where queue_owner=''oracletest';
ERROR:
ORA-01756: quoted string not properly terminated
SQL>

解决方案 »

  1.   

    用户oracletest正处于连接状态,不能被删除,而在ORACLE中,不论是什么权限的用户,都不能删除处于连接状态的用户.另外,在ORACLE中,在查找时,字符串是区分大小写的.所以,在查找时,用户名"oracletest"要大写,才能在V$SESSION中找到记录.
      

  2.   

    用户名是小写的,"oracletest" .重启系统都是这个情况.所以很怪.
      

  3.   

    ORA-01940:   cannot   drop   a   user   that   is   currently   connected 说的就是用户oracletest正处于连接状态,不能被删除,
      

  4.   

    STARTUP RESTRICT  再试试。
      

  5.   

    你要用超级用户权限才能把这个用户删掉啊。
    在问问题的时候,自己先思考下
    cannot       drop       a       user       that       is       currently       connected   
    很明显的错误提示,那自己再去看下这个用户在那里还处于连接状态呢
      

  6.   


    --先用sys or system 登录 
    --drop user username cascade; --用户名要大写,如果不行的话就用下面的
    --oracle 正在连接的用户不能删除,确实要删除的话
    --第一步 用户名要大写 
    select sid,serial#,username from v$session where user='USERNAME';
    --第二步
    alter system kill session 'sid,serial#';
    --第三步
    drop user username cascade;