Muitas vezes precisamos conectar na base de dados com usuários específicos para serem realizadas atividades de manutenção, por exemplo. Ai vem o problema, “Qual a senha mesmo?”.
A primeira coisa que precisamos saber é que não iremos descobrir a senha mas sim identificar a string criptografada para posteriormente voltar a senha como estava antes de ser alterada para nossa conexão.
Vejamos o exemplo,
Iremos criar o usuáro anderson com a senha anderson1234
[oracle@orcl ~]$ sqlplus "/ as sysdba" SQL*Plus: Release 10.2.0.5.0 - Production on Thu Sep 8 16:15:23 2011 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> create user anderson identified by anderson1234; User created.
Vamos conceder ao usuário o privilégio para iniciar um sessão com o banco de dados:
SQL> grant create session to anderson; Grant succeeded.
Maravilha, agora partimos da ideia proposta de que precisamos conectar com o usuário anderson e não sabemos a senha. Vamos identificar a senha criptografada do usuário:
SQL> select NAME, PASSWORD from sys.user$ where NAME = 'ANDERSON'; NAME PASSWORD ------------------------------ ------------------------------ ANDERSON F41842A6C0E16CE7
Na versão 10G podemos identificar o password (senha criptografada) tambem na visão dinâmica DBA_USERS porem na versão 11G o password estará sendo apresentado em branco sendo necessário então utilizar a SYS.USER$ proposta acima.
Agora que já sabemos a senha criptografa deste usuário, vamos alterar a senha para podermos conectar:
SQL> alter user anderson identified by teste123; User altered.
Conectando com o usuário anderson atraves da nova senha definida:
SQL> conn anderson/teste123 Connected. SQL> show user USER is "ANDERSON"
Agora que nossa conexão com o usuário foi estabelecida podemos voltar a senha antiga utilizando o IDENTIFIED BY VALUES:
SQL> alter user anderson identified by values 'F41842A6C0E16CE7'; User altered.
Vamos testar se a senha anterior está OK:
SQL> conn anderson/anderson1234 Connected. SQL> show user USER is "ANDERSON"
ANTENÇÃO: Antes de sair alterando as senhas dos usuários visando voltá-las depois tome cuida pois você pode afetar o funcionamento de varias rotinas do seu sistema.

Autor: Anderson Graf
Bacharel em Sistemas de Informação e MBA em Gestão de Banco de Dados Oracle. Entusiasta da tecnologia Oracle, ACE Associate ♠, autor em vários blogs e OTN. Consultor Oracle Senior na Exímio Soluções em TI
Envolvido em soluções de:
– Implementação, migração, gerenciamento e suporte a produtos Oracle, multiplataforma
– Monitoramento de ambientes 24×7
– Backup e Recovery
– Performance e Tuning
– Alta disponibilidade (HA) – RAC, Data Guard
– EM database/grid/cloud control
– Particionamento & Advanced Compression
– Oracle Engineered Systems – ODA, Exadata
Blog pessoal: http://www.andersondba.com.br
Articulista na Oracle Technology Network (OTN) – https://goo.gl/99R6yW
ACE Associate – https://goo.gl/MBB51b
Articulista GPO – http://profissionaloracle.com.br