Suppose you want to do some activity under another user, But you don’t know the password of that user. Then how you will do it?
There is a way you can do it. See the below demo.
Suppose a user TEST1 wants to connect to TEST2 user and create a table and we don’t know the password of TEST2.
For this TEST1 user need one privilege i.e grant connect through
Conn / as sysdba
SQL >alter user TEST2 grant connect through TEST1;
SQL >conn TEST1[TEST2]
Enter password:< Give password for TEST1>
SQL >show user
USER is "TEST2"
SQL >create table emp_test as select * from emp;
SQL > conn / as sysdba
SQL > select owner from dba_tables where table_name='EMP_TEST';
This method is usually helpful, when you want to drop/create a private db_link and you don’t know the password of that db_link owner.
Once activity is done, revoke the privilege as below.
SQL >conn / as sysdba
SQL> alter user TEST2 revoke connect through TEST1;