WARNING
=======
The method described in this article is not officially supported by development,
therefore when you get errors using this procedure support cannot file a bug for it.
Please make no mistakes when setting the HEX value with the VALUES keyword as bad
values may cause internal errors. This undocumented feature exists to support
export / import and retain the original passwords.
Problem Description:
====================
How can you restore a users original password ?
Solution Description:
=====================
With the output of dba_users you can restore a user's old password by
issuing the following:
alter user <name> identified by values '<original_encrypted_password>';
For example:
============
SQL> create user test identified by test
2 default tablespace users temporary tablespace temp;
User created.
SQL> select username, password from dba_users where username= 'TEST';
USERNAME PASSWORD
---------- ------------------------------
TEST CDC423BEB32B1812
SQL> alter user test identified by test1;
User altered.
SQL> select username, password from dba_users where username= 'TEST';
USERNAME PASSWORD
---------- ------------------------------
TEST 22F2E341BF4B8764
SQL> alter user test identified by values 'CDC423BEB32B1812';
User altered.
SQL> connect test/test
Connected.
Solution Explanation:
=====================
To do this you would need a spool of dba_users taken before the password was
changed.