Vamos ver como podemos alterar uma senha de usuário no Oracle.
Alterando a senha do usuário pode ser muito fácil, mas o que, quando queremos redefinir a senha do usuário bloqueado para a senha antiga, mesmo que você não sabe disso! Isso é útil no caso de usuários Db_links bloqueadas ou usuários de gestão de idade.
select 'alter user "'||d.username||'" identified by values '''||u.password||''';' c
from dba_users d, sys.user$ u
where d.username = upper('&&username')
and u.user# = d.user_id;
Exemplo:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select 'alter user "'||d.username||'" identified by values '''||u.password||''';' Run
from dba_users d, sys.u 2 ser$ u
where 3 d.username = upper('&&username')
and u. 4 user# = d.user_id;
Enter value for username: dbsnmp
old 3: where d.username = upper('&&username')
new 3: where d.username = upper('dbsnmp')
Run
--------------------------------------------------------------------------------
alter user "DBSNMP" identified by values '03C6C5879738E60F';
SQL> alter user "DBSNMP" identified by values '03C6C5879738E60F';
User altered.
Isso irá redefinir a senha para o usuário "DBSNMP" para a última senha.
Isto pode ser útil quando chegarmos "ORA-28000: a conta está bloqueada". erro