Oracle 11g: Case sensitive password
Questa funzione può essere abilitata modificando il parametro init.ora SEC_CASE_SENSITIVE_LOGON.
Per impostazione predefinita, questo parametro è impostato su false; impostando il parametro su TRUE tutte le nuove password faranno distinzione tra maiuscole e minuscole. Tutte le password esistenti, create in precedenza, rimarranno senza distinzione tra maiuscole e minuscole finché non vengono modificate.
Gli utenti importati da un database 10g hanno un valore PASSWORD_VERSIONS di “10G” e mantengono il caso password insensibili indipendenti dall’impostazione del parametro SEC_CASE_SENSITIVE_LOGON.
Per abilitare o disabilitare le password con distinzione tra maiuscole e minuscole è necessario modificare il parametro init.ora.
ALTER system SET SEC_CASE_SENSITIVE_LOGON=TRUE scope=spfile;
ALTER system SET SEC_CASE_SENSITIVE_LOGON=FALSE scope=spfile;
Esempio:
Possiamo vedere la funzionalità della password con distinzione tra maiuscole e minuscole in funzione se tentiamo di connetterci al nuovo utente sia con la password corretta che con quella errata.
CONN / AS SYSDBA
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = TRUE;
CREATE USER etica IDENTIFIED BY Etica;
GRANT CONNECT TO etica;
SQL> CONN etica/Etica
Connected.
SQL> CONN etica/etica
ERROR:
ORA-01017: invalid username/password; logon denied
Commutando il parametro di inizializzazione SEC_CASE_SENSITIVE_LOGON su FALSE siamo in grado di connetterci utilizzando entrambe le varianti della password.
CONN / AS SYSDBA
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;
SQL> CONN etica/etica
Connected.
SQL> CONN etica/Etica
Connected.
SQL>