Posted by: Monish | October 10, 2008

Lock/Unlock Oracle Users

In spite of deleting an oracle user, we can LOCK it. In that way the user won’t be accessible. In future if we want we can UNLOCK it.

create a user named JACK which is LOCKED:

SQL> create user jack identified by jack account lock;

User created.

Now grant him the CONNECT & RESOURCE privilege:

SQL> grant connect, resource to jack;

Grant succeeded.

Now, try to connect the user:

SQL> conn jack/jack;
ERROR:
ORA-28000: the account is locked

Warning: You are no longer connected to ORACLE.

Now, connect to the SYS accout:

SQL> conn sys as sysdba
Enter password:
Connected.
SQL>

Now, see the account status:

SQL> select USERNAME,ACCOUNT_STATUS,LOCK_DATE from dba_users where USERNAME=’JACK’;

USERNAME                       ACCOUNT_STATUS                   LOCK_DATE
------------------------------ -------------------------------- ---------
JACK                           LOCKED                           10-OCT-08

To, unlock the Jack:

SQL> alter user jack account unlock;

User altered.

SQL>
SQL> conn jack/jack;
Connected.

==================

Otherwise we can do one thing, we can revoke its CONNECT privilage. In that way the user can’t connect to the db.

SQL> revoke connect from jack;

Revoke succeeded.

SQL> conn jack/jack;
ERROR:
ORA-01045: user JACK lacks CREATE SESSION privilege; logon denied


Warning: You are no longer connected to ORACLE.

SQL> conn sys as sysdba
Enter password:
Connected.
SQL>
SQL> grant connect to jack;

Grant succeeded.

SQL>
SQL> conn jack/jack;
Connected.

>>>Please leave your commant on the post.


Responses

  1. ALTER USER USERNAME ACCOUNT UNLOCK/LOCK NOT WORKING IN ORACLE 9I
    SO PLEASE PROVIDE A ANSWER THAT MATCH THE ORACLE 9I

    THE ERROR IS OCCURED WHEN WE RUN THIS COMMAND “INSUFFICIENT PRIVILIGES.

    • # Start SQL*Plus:
      $ sqlplus /NOLOG

      # Connect as SYSDBA:
      SQL> CONNECT / AS SYSDBA

      Change the password according to SQL commands indicated below:

      Unlock a password
      ALTER USER username ACCOUNT UNLOCK;

      Lock a password
      ALTER USER username ACCOUNT LOCK;

      Change password of an unlocked account
      ALTER USER username IDENTIFIED BY password;

      Change password of a locked account
      ALTER USER username IDENTIFIED BY password ACCOUNT UNLOCK;

  2. alter user username identified by password;
    this command worked but the second ithink have some problem i.e. alter user username account unlock;
    it display the message INSUFFICIENT PRIVILIGES

    what to do…?

    • you can use OS authentication to login as sysdba

      sqlplus / as sysdba

      the OS user need to be in dba group or ORA_DBA group if Windows.

  3. when i connect as sysdba in SQL*Plus ,
    it is accepting any username and password .
    i.e it is accepting any word for username and any word for password.
    so what is the solution?

  4. unlock me

  5. Mostly thankes my dear I


Leave a response

Your response:

Categories