Ticket n°2
oracle-mdp.jpg

Mot de passe des comptes Oracle

Le 21 Jul 2015Thierry Valléeoracle

Comment changer un mot de passe d'un utilisateur Oracle

Pour changer un mot de passe, il suffit d'exécuter l'ordre suivant:
SQL> alter user scott identified by mypassword;

Changement temporaire de mot de passe

Pour le changer de façon temporaire, il faut lister sa valeur avant de la changer, avec la commande suivante :
SQL> select username,password from dba_users where username='SCOTT';
USERNAME    PASSWORD
--------    ----------------
SCOTT       F894844C34402B67
SQL> alter user scott identified by mypassword;
Vous pouvez à tout moments remettre l'ancien mot de passe avec la valeur donnée par la requête précédente avec la méthode 'by values' :
SQL> alter user scott identified by values 'F894844C34402B67';

Oracle 11g et les mots de passe 'case sensitive'

A partir de la version 11g, les mots de passe peuvent être sensible à la casse ou non. Cela dépend de la valeur de la variable système 'sec_case_sensitive_logon'.
Pour en connaitre sa valeur et éventuellement la changer, il suffit de taper :
SQL> SHOW PARAMETER SEC_CASE_SENSITIVE_LOGON
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
sec_case_sensitive_logon             boolean     TRUE
SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;
System altered.
Si la variable 'sec_case_sensitive_logon' est positionnée à 'TRUE', votre mot de passe devra être saisie de façon identique à sa création :
SQL> CREATE USER scott IDENTIFIED BY Tiger;
SQL> GRANT CONNECT TO scott;
SQL> CONNECT scott/Tiger
Connected.
SQL> CONNECT scott/tiger
ERROR:
ORA-01017: invalid username/password; logon denied
Attention, les mots de passe sont mémorisés en conservant les majuscules/minuscules. Si vous activer le mode 'case sensitive' après avoir créé un utilisateur, il faudra taper le mot de passe tel qu'il à été créé
Exemple :
SQL> CONNECT / AS SYSDBA
SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;
SQL> CREATE USER scott IDENTIFIED BY Tiger;
SQL> GRANT CONNECT TO scott;
SQL> CONNECT scott/Tiger
Connected.
SQL> CONNECT scott/tiger
Connected.
-- On passe en mode 'case sensitive'
SQL> CONNECT / AS SYSDBA
SQL> ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = TRUE;
SQL> CONNECT scott/Tiger
Connected.
SQL> CONNECT scott/tiger
ERROR:
ORA-01017: invalid username/password; logon denied
SQL>
---
Thierry Vallée