3

I forget hr's password, but I have sysdba role.

Can I use su hr like in linux.

I don't hope alter hr's password.

1
  • 1
    Depending on what task you want to achieve you can do alter session set current_schema=hr; for example. – stee1rat Jan 28 '16 at 12:45
6

It is really easy to log in as another user, just use the proxy user feature that is available since 8i. Unfortunately it does not work with SYS, but works with any other user. Basically you can grant the privilege to users to connect as another user.

SQL> alter user system identified by Oracle123;

User altered.

SQL> alter user hr identified by password account unlock;

User altered.

So the password of SYSTEM is Oracle123, and the password of HR is password. Now allow SYSTEM to connect as HR:

SQL> alter user hr grant connect through system;

User altered.

Finally, connect with SYSTEM and its password, providing HR in the brackets:

SQL> connect system[hr]/Oracle123
Connected.
SQL> show user
USER is "HR"

You can use any user for this, except SYS:

SQL> alter user hr grant connect through sys;
alter user hr grant connect through sys
                                    *
ERROR at line 1:
ORA-28154: Proxy user may not act as client 'SYS'
0
0

you can use below command to change the password

alter user username identified by newpassword;

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.