Mudar a senha com o programador SQL do Oracle
Muitos dos meus utilizadores não utilizam SQLPlus. Não posso dar-lhes outro utilizador. Expomos senhas a cada 60 dias.
não consigo que o comando SQLPlus "password" funcione no programador SQL.
- quando carrego no run, recebo um erro de comando inválido Quando carrego no guião da corrida, não acontece nada.
13 answers
A sintaxe correcta para actualizar a senha usando o programador SQL é:
Alterar o utilizador utilizador identificado por "new_ password" Substituir "old_ password" ;
Pode verificar Mais opções para este comando aqui: http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_4003.htm#i2058207
Numa folha de cálculo SQL:
Escreva "senha" (sem as cotações) Realçar, carregar em CTRL+ENTER. Aparece o ecrã de mudança de senha.
O programador SQL tem uma opção de senha incorporada que pode funcionar para a sua situação. Ele requer a adição de Oracle Instant Client para a estação de trabalho também. Quando o cliente instantâneo estiver na localização, quando o programador SQL for lançado, você irá obter a seguinte opção activada:
Oracle Instant Client não precisa de privilégios de administração para instalar, apenas a capacidade de escrever num directório e adicionar esse directório ao caminho dos utilizadores. A maioria dos utilizadores tem os privilégios a fazer presente.
Recap: para usar a senha de Reset no programador SQL da Oracle:
- tens de desempacotar o cliente instantâneo da Oracle numa pasta
- tem de adicionar o directório do cliente instantâneo Oracle à localização dos utilizadores
- você deve então reiniciar o programador SQL da Oracle
Neste ponto, pode carregar com o botão direito numa fonte de dados e repor a sua senha.
Ver http://www.thatjeffsmith.com/archive/2012/11/resetting-your-oracle-user-password-with-sql-developer/{[22]para uma caminhada completa
Veja também o comentário no documento do oráculo: http://docs.oracle.com/cd/E35137_01/appdev.32/e35117/dialogs.htm#RPTUG41808 Uma configuração alternativa para que o programador SQL (testado na versão 4.0.1) reconheça e use o cliente instantâneo no OS X é: (OS X) remete para esta questão para resolver questões relacionadas com a variável de ambiente DYLD_ LIBRARY_PATH. Usei o seguinte comando e, em seguida, reiniciei o desenvolvedor SQL para pegar a mudança: $ launchctl setenv DYLD_ LIBRARY_ path / path / to / oracle / instantclient_11_2
Os seus utilizadores podem ainda alterar as suas senhas por "alterar o Utilizador apenas o seu nome de utilizador identificado pela nova palavra". Eles não precisam ter o privilégio de alterar o Usuário para alterar sua própria senha.
Dependendo da configuração da Administração, poderá ter de indicar a sua senha antiga com a opção de substituição
alter user <username> identified by <newpassword> replace <oldpassword>
Para deixar isto um pouco claro:
Se o nome de utilizador: abcdef e a antiga senha : a123b456, nova senha: m987n654
Alterar o utilizador abcdef identificado por m987n654 substituir a123b456;
Confirmei que isto funciona no programador SQL 3.0.04. As nossas senhas são necessárias para ter um carácter especial, por isso a cadeia de aspas duplas é necessária no nosso caso. Claro que isto só funciona se a senha ainda não tiver expirado e você estiver logado de momento.
ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"
Passos:
Conecte-se a uma base de dados usando um usuário válido e senha, no meu caso todos os meus usuários expiraram, exceto "sistema" e eu me lembro que senha
Encontrar o nó de" Outros_ utilizadores " dentro da árvore, à medida que a imagem abaixo mostra
3.na árvore "Outros_ utilizadores", Encontre os seus utilizadores que deseja repor a senha e carregue com o botão direito na nota e seleccione "Editar os utilizadores"
4.preencha a nova senha na janela de edição do utilizador e carregue em "Aplicar". Certifique-se de que a senha "expirou" foi desligada (o utilizador tem de mudar a seguinte sessao)".
E isso funcionou para mim, não é tão bom como outra solução porque você precisa ser capaz de login para pelo menos uma conta, mas funciona.
A opção de senha de reset incorporada pode não funcionar para o utilizador. Neste caso, a senha pode ser reposta usando a seguinte declaração SQL:
ALTER user "user" identified by "NewPassword" replace "OldPassword";
Você pode encontrar o utilizador na tabela DBA_USERS como
SELECT profile
FROM dba_users
WHERE username = 'MacsP'
Agora vá para o sistema / Sistema (Administrador) e use a consulta
ALTER USER PRATEEK
IDENTIFIED BY "new_password"
REPLACE "old_password"
Para verificar o estado da conta, basta passar por
SELECT * FROM DBA_USERS.
E pode ver o estado do seu utilizador.
Pode agora fazer isto em Desenvolvimento de SQL 4.1.0.17 , sem necessidade de PL / SQL, assumindo que tem outra conta com privilégios administrativos:
- criar uma ligação à base de dados no programador SQL 4.1.0.17 com um utilizador administrativo alternativo
- expanda a secção "outros utilizadores" uma vez ligado, e carregue com o botão direito no utilizador cuja senha expirou. Escolha "Editar O Utilizador".
- desligue a senha expirada..."checkbox, digite uma nova senha para a utilizador, e carregue em "Salvar". Trabalho feito! Você pode testar se conectar com o usuário cuja senha havia expirado, para confirmar que agora é válido novamente.
Existe outra forma de repor a senha através de comando prompt ...
1) Vá para a pasta da Base de Dados Oracle (no meu caso, a edição do Oracle Database 11g Express) no MENU Iniciar.
2) dentro dessa pasta Carregue em "Executar a linha de comandos SQL"
Imagem da pasta da Base de Dados Oracle
3) Tipo "ligar o utilizador / Senha "(o seu utilizador e senha antiga sem as aspas)
4) a mensagem exibida é ...
Erro: ORA-28001: a senha expirou
Mudar a senha para hr
--> nova senha:
Indique o nome do utilizador, a imagem da senha
5) Digite a nova senha
6) Retype a nova senha
7) a mensagem apresentada é ...
A senha foi alterada Ligado.
SQL>
8) GO TO Sql developer -- > type the new password -- > connected
Uma nota para pessoas que podem não ter a senha definida para o sysdba ou sys e que usam regularmente um cliente de terceiros. Aqui está algumas informações sobre entrar na linha de comando sqlplus sem uma senha que me ajudou. A propósito, estou a usar fedora 21.
locate sqlplus
No meu caso, o sqlplus está localizado aqui.
/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh
Agora corre.
cd /u01/app/oracle/product/11.2.0/xe/config/scripts
./sqlplus.sh / as sysdba
Agora precisa de se ligar à base de dados com as suas credenciais antigas.
Poderá encontrar o modelo fornecido pela Oracle na sua saída:
Use "connect username/password@XE" to connect to the database.
No meu caso, eu ... ter o utilizador "oracle" com a palavra-passe "oracle" para que a minha entrada pareça com
connect oracle/oracle@XE
Feito. Agora digite sua nova senha duas vezes.
Então se você não quiser que a sua senha expire mais você pode executar
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;