web-dev-qa-db-fra.com

Changer le mot de passe avec Oracle SQL Developer

Beaucoup de mes utilisateurs n'utilisent pas SQLPlus. Je ne peux pas leur donner un autre utilisateur. Nous expirons les mots de passe tous les 60 jours.

Je ne parviens pas à utiliser la commande SQLPlus "mot de passe" dans SQL Developer.

  1. Lorsque je clique sur Exécuter, une erreur de commande non valide s'affiche.
  2. Quand je frappe le script, rien ne se passe.

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

128
Bob

La syntaxe correcte pour la mise à jour du mot de passe à l'aide de SQL Developer est la suivante:

modifier l'utilisateur user_name identifié par "new_password" remplacer "old_password" ;

Vous pouvez vérifier plus d'options pour cette commande ici: http://docs.Oracle.com/cd/B28359_01/server.111/b28286/statements_4003.htm#i2058207

175
Americo Savinon

Dans une feuille de calcul SQL:

tapez "mot de passe" (sans les guillemets) Mettez en surbrillance, appuyez sur CTRL + ENTRÉE. L'écran de changement de mot de passe apparaît.

94
Niall

SQL Developer dispose d'une option de réinitialisation du mot de passe intégrée qui peut convenir à votre situation. Il faut également ajouter Oracle Instant Client au poste de travail. Lorsque le client instantané est dans le chemin lorsque le développeur SQL est lancé, l'option suivante est activée:

SQL Developer: Drop Down menu showing reset password option

Oracle Instant Client n'a pas besoin de privilèges d'administrateur pour installer, mais simplement de la possibilité d'écrire dans un répertoire et de l'ajouter au chemin des utilisateurs. La plupart des utilisateurs ont les privilèges pour le faire.

Récapitulation: Pour utiliser Réinitialiser le mot de passe sur Oracle SQL Developer:

  1. Vous devez décompresser Oracle Instant Client dans un répertoire
  2. Vous devez ajouter le répertoire Oracle Instant Client au chemin 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 aperçu complet

Voir également le commentaire dans la documentation 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 la suivante:

  1. Définissez le chemin d'accès à Instant Client dans Préférences -> Base de données -> Avancé -> Utiliser le client Oracle
  2. Vérifiez que le client d'instance peut être chargé avec succès à l'aide des options Configurer - - Tester ... de la boîte de dialogue des préférences.
  3. (OS X) Reportez-vous à cette question pour résoudre les problèmes liés à la variable d'environnement DYLD_LIBRARY_PATH. J'ai utilisé la commande suivante puis redémarré SQL Developer pour prendre en charge la modification:

    $ launchctl setenv DYLD_LIBRARY_PATH/chemin/vers/Oracle/instantclient_11_2

64
Frobbit

Vos utilisateurs peuvent toujours changer leurs mots de passe en "alter user onlyTheirUserName identifié par newpassword". Ils n'ont pas besoin du privilège ALTER USER pour changer leur propre mot de passe.

23
dpbradley

Selon les paramètres de l'administrateur, vous devrez peut-être utiliser votre ancien mot de passe à l'aide de l'option REPLACE.

alter user <username> identified by <newpassword> replace <oldpassword> 
14
Gerry Gurevich

Pour être un peu clair:

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

modifier l'utilisateur abcdef identifié par m987n654 remplacer a123b456;

10
spazzo

Je me rends compte qu'il y a beaucoup de réponses, mais j'ai trouvé une solution qui pourrait être utile à certains. J'ai rencontré le même problème, j'utilise Oracle sql develop sur mon ordinateur local et j'ai beaucoup d'utilisateurs. Je me souviens du mot de passe d’un de mes utilisateurs et je l’ai utilisé pour réinitialiser le mot de passe d’autres utilisateurs.

Pas:

  1. se connecter à une base de données en utilisant un utilisateur et un mot de passe valides, dans mon cas, tous mes utilisateurs ont expiré, à l'exception de "système" et je me souviens de ce mot de passe

  2. trouvez le nœud "Other_users" dans l'arborescence comme le montre l'image ci-dessous

enter image description here

3.Dans l'arborescence "Other_users", recherchez les utilisateurs dont vous souhaitez réinitialiser le mot de passe, cliquez avec le bouton droit sur la note et sélectionnez "Modifier les utilisateurs".

enter image description here

4.mettez le nouveau mot de passe dans la boîte de dialogue d'édition d'utilisateur et cliquez sur "Appliquer". Assurez-vous que vous avez décoché "Mot de passe expiré (l'utilisateur doit modifier la prochaine connexion)".

enter image description here

Et cela a fonctionné pour moi. Ce n’est pas aussi efficace que les autres solutions, car vous devez être capable de vous connecter à au moins un compte mais cela fonctionne.

7
Saad A

J'ai confirmé que cela fonctionne dans SQL Developer 3.0.04. Comme nos mots de passe doivent comporter un caractère spécial, la chaîne entre guillemets est nécessaire dans notre cas. Bien sûr, cela ne fonctionne que si le mot de passe n'a pas encore expiré et que vous êtes actuellement connecté.

ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"
7
pgs

L'option de réinitialisation du mot de passe intégrée peut ne pas fonctionner pour l'utilisateur. Dans ce cas, le mot de passe peut être réinitialisé à l'aide de l'instruction SQL suivante:

ALTER user "user" identified by "NewPassword" replace "OldPassword";
2
user2689487

Essayez cette solution si l'option Réinitialiser le mot de passe (de SQL Developer) ne fonctionnait pas :

Étape 1: Ouvrez la ligne de commande Exécuter SQL (à partir du menu Démarrer, fourni avec le package d'installation de SQL Developer)

Étape 2: Exécutez les commandes suivantes:

enter image description here

Remarque: Si le mot de passe a déjà expiré, l'option Changing password for <user> apparaîtra automatiquement.

1
Leo

Il existe un autre moyen de réinitialiser le mot de passe en passant par la commande Invite ...

1) Accédez au dossier de la base de données Oracle (dans mon cas, Oracle Database 11g Express Edition) dans le menu Démarrer.

2) Dans ce dossier , cliquez sur "Exécuter la ligne de commande SQL".

image du dossier de la base de données Oracle

3) Tapez " connectez-vous nom d'utilisateur/mot de passe " (votre nom d'utilisateur et votre ancien mot de passe sans les guillemets)

4) Le message affiché est ...

ERREUR: ORA-28001: le mot de passe a expiré

Changer le mot de passe pour hr

-> Nouveau mot de passe:

Entrez le nom d'utilisateur, le mot de passe image

5) Tapez le nouveau mot de passe

6) Retapez le nouveau mot de passe

7) Le message affiché est ...

Mot de passe modifié Connecté.

SQL>

8) ALLER À développeur SQL -> tapez le nouveau mot de passe -> connecté

1
Suchitra Phadke

vous pouvez trouver l'utilisateur dans la table DBA_USERS comme

SELECT profile
FROM dba_users
WHERE username = 'MacsP'

Maintenant, allez au sys/system (administrateur) et utilisez la requête

ALTER USER PRATEEK
IDENTIFIED BY "new_password"
REPLACE "old_password"

Pour vérifier le statut du compte, passez simplement par

SELECT * FROM DBA_USERS.

et vous pouvez voir le statut de votre utilisateur.

1
user2538100

Vous pouvez maintenant le faire dans SQL Developer 4.1.0.17 , aucun PL/SQL n'est requis, en supposant que vous disposiez d'un autre compte disposant de privilèges administratifs:

  1. Créez une connexion à la base de données dans SQL Developer 4.1.0.17 avec un autre utilisateur administratif
  2. Développez la section "Autres utilisateurs" une fois connecté et cliquez avec le bouton droit de la souris sur l'utilisateur dont le mot de passe a expiré. Choisissez "Edit User".
  3. Décochez la case "Mot de passe expiré ...", saisissez un nouveau mot de passe pour l'utilisateur et cliquez sur "Enregistrer".
  4. Travail accompli! Vous pouvez tester en vous connectant à l'utilisateur dont le mot de passe a expiré pour confirmer qu'il est à nouveau valide.
1
Fuzzy Analysis

Une note pour les personnes qui pourraient ne pas avoir le mot de passe défini pour sysdba ou sys et utiliser régulièrement un client tiers. Voici quelques informations sur la connexion à la ligne de commande sqlplus sans mot de passe qui m’a aidé. J'utilise Fedora 21 au fait.

locate sqlplus

Dans mon cas, sqlplus se trouve ici:

/u01/app/Oracle/product/11.2.0/xe/config/scripts/sqlplus.sh

Maintenant courir

cd /u01/app/Oracle/product/11.2.0/xe/config/scripts
./sqlplus.sh / as sysdba

Maintenant, vous devez vous connecter à la base de données avec vos anciennes informations d'identification. Vous pouvez trouver le modèle fourni par Oracle dans votre sortie:

Use "connect username/password@XE" to connect to the database.

Dans mon cas, j'ai l'utilisateur "Oracle" avec le mot de passe "Oracle" donc mon entrée ressemble à

connect Oracle/oracle@XE

Terminé. Maintenant, tapez votre nouveau mot de passe deux fois. Ensuite, si vous ne voulez plus que votre mot de passe expire, vous pouvez exécuter

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
1
Sorokin Andrey