Dropping connected users in Oracle database

后端 未结 12 1771
执念已碎
执念已碎 2020-12-12 21:49

I want to drop some users in Oracle DB using sqlplus but I am getting error:

SQL> DROP USER test CASCADE;
DROP USER test CASCADE
*
ERROR at line 1:
ORA-01         


        
12条回答
  •  抹茶落季
    2020-12-12 22:23

    Basically I believe that killing all sessions should be the solution, but...

    I found similar discussion - https://community.oracle.com/thread/1054062 to my problem and that was I had no sessions for that users, but I still received the error. I tried also second the best answer:

    sql>Shutdown immediate;
    
    sql>startup restrict;
    
    sql>drop user TEST cascade;
    

    What worked for me at the end was to login as the user, drop all tables manually - select for creating drop statements is

    select 'drop table ' || TABLE_NAME || ';'  from user_tables;
    

    (Needs to be re-run several times because of references)

    I have no idea how is that related, I dropped also functions and sequences (because that was all I had in schema)

    When I did that and I logged off, I had several sessions in v$session table and when I killed those I was able to drop user.

    My DB was still started in restricted mode (not sure if important or not).

    Might help someone else.

    BTW: my Oracle version is Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

提交回复
热议问题