152 votes

Changer de mot de passe avec Oracle SQL Developer

Beaucoup de mes utilisateurs n'utilisent pas SQLPlus. Je ne peux pas leur donner la commande alter user. Nous expirons les mots de passe tous les 60 jours.

Je n'arrive pas à faire fonctionner la commande SQLPlus "password" dans SQL Developer.

  1. Quand je lance, j'obtiens une erreur de commande invalide
  2. Quand je lance le script, rien ne se passe.

Je ne veux pas leur écrire un package pour changer leurs mots de passe car nous avons beaucoup de bases de données. Ai-je une meilleure option?

4 votes

Vous ne pouvez pas changer un mot de passe expiré dans SQL Developer via une commande SQL. Ce n'est pas pris en charge dans la pile JDBC. Vous avez besoin des bibliothèques OCI pour cela. SQL Developer propose une option pour réinitialiser un mot de passe expiré via la pile OCI si elle a été correctement installée. Consultez ma réponse pour plus de détails.

0 votes

Tu peux le faire avec SQL Developer 4.1.0.17. Voir ma réponse ci-dessous.

210voto

Americo Savinon Points 794

La syntaxe correcte pour mettre à jour le mot de passe en utilisant SQL Developer est :

alter user user_name identified by new_password replace old_password ;

Vous pouvez vérifier plus d'options pour cette commande ici : ALTER USER-Oracle DOCS

34 votes

Aussi, vous devrez peut-être envelopper le(s) mot(s) de passe entre guillemets pour échapper à tout caractère spécial dans le mot de passe. Par exemple, alter user __nom_utilisateur__ identifié par "nouve@uM0tP@ss!!!" remplacer "anci@enM0tP@ss!!!" Plus d'infos sur asktom.oracle.com/pls/asktom/…

8 votes

Si votre mot de passe a expiré, bonne chance pour vous connecter afin d'exécuter ceci. Répond à une question, mais pas LA question.

0 votes

Donc je viens de lancer ceci. Pour les futurs lecteurs. Vous pouvez corriger un autre compte (si vous êtes un "super" avec un compte privilégié). Mais vous ne pouvez pas vous corriger VOUS-MÊME avec cette syntaxe SI VOUS (MÊME) êtes déjà expiré. Leçon apprise! Tenez compte des avertissements! Merci A.M. Je suis en train d'exécuter Sql Developer (Version 19.4.0.354) contre Oracle 18c .. FYI.

111voto

Niall Points 271

Dans une feuille de travail SQL :

  • Tapez "password" (sans les guillemets)

  • Surlignez, appuyez sur CTRL+ENTER.

  • L'écran de changement de mot de passe apparaît.

4 votes

Vous pouvez également faire "mot de passe someusername"

3 votes

Je suppose que vous voulez dire l'action "Exécuter l'instruction". Le raccourci par défaut semble être Ctrl+Entrée.

75voto

Frobbit Points 323

SQL Developer dispose d'une option de réinitialisation du mot de passe intégrée qui peut fonctionner dans votre situation. Il nécessite l'ajout d'Oracle Instant Client sur le poste de travail. Lorsque le client instantané est dans le chemin d'accès lors du lancement de SQL Developer, vous obtiendrez l'option suivante activée :

SQL Developer: Menu déroulant montrant l'option de réinitialisation du mot de passe

Oracle Instant Client n'a pas besoin de privilèges d'administration pour être installé, juste la capacité d'écrire dans un répertoire et d'ajouter ce répertoire au chemin d'accès des utilisateurs. La plupart des utilisateurs ont les privilèges pour le faire.

Résumé : Pour utiliser la réinitialisation du mot de passe dans Oracle SQL Developer :

  1. Vous devez décompresser Oracle Instant Client dans un répertoire
  2. Vous devez ajouter le répertoire d'Oracle Instant Client au chemin d'accès des utilisateurs
  3. Vous devez ensuite redémarrer Oracle SQL Developer

À ce stade, vous pouvez cliquer avec le bouton droit sur une source de données et réinitialiser votre mot de passe.

Voir http://www.thatjeffsmith.com/archive/2012/11/resetting-your-oracle-user-password-with-sql-developer/ pour un tutoriel complet.

Voir également le commentaire dans les docs d'oracle : http://docs.oracle.com/cd/E35137_01/appdev.32/e35117/dialogs.htm#RPTUG41808

Une configuration alternative pour que SQL Developer (testé sur la version 4.0.1) reconnaisse et utilise Instant Client sur OS X est :

  1. Définir le chemin vers Instant Client dans Préférences -> Base de données -> Avancé -> Utiliser le client Oracle
  2. Vérifier que l'Instance Client peut être chargée avec succès en utilisant les options Configurer... -> Tester... depuis la boîte de dialogue des préférences
  3. (OS X) Se référer à cette question pour résoudre les problèmes liés à la variable d'environnement DYLD_LIBRARY_PATH. J'ai utilisé la commande suivante et ensuite redémarré SQL Developer pour appliquer le changement :

    $ launchctl setenv DYLD_LIBRARY_PATH /path/to/oracle/instantclient_11_2

1 votes

Pas disponible pour tous les utilisateurs 80(

0 votes

Hmmm, ne semble pas fonctionner pour moi. Je me demande si mettre à jour le PATH est vraiment tout ce que vous avez à faire, sur un Mac.

0 votes

Je utilise un mac à la maison, mais un PC Windows au travail. Nous allons bientôt passer aux Mac. Si je trouve les détails, je les publierai.

24voto

dpbradley Points 7496

Vos utilisateurs peuvent toujours changer leur mot de passe en "alter user seulementLeurNomDUtilisateur identifié par nouveaumotdepasse". Ils n'ont pas besoin d'avoir le privilège ALTER USER pour modifier leur propre mot de passe.

10voto

spazzo Points 41

Pour que ce soit un peu clair :

Si le nom d'utilisateur : abcdef et l'ancien mot de passe : a123b456, le nouveau mot de passe : m987n654

alter user abcdef identified by m987n654 replace a123b456;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X