Hoy vamos a ver algunos cambios sobre el fichero de contraseñas en la nueva versión 12c
Cifrado ( ORA-28017 )
Uno de los cambios que ha llevado a cabo Oracle en la versión 12c es el de haber mejorado los hashes del cifrado de sus contraseñas usando un algoritmo SHA512 basado en PBKDF2 para generar los hases en ved del SHA1 que utilizaba antes.
Este cambio no nos afecta solamente a las estructuras de almacenamiento interno de la base de datos, sino que provoca que el fichero en el que se almacenan las contraseñas en el disco (passwd file) tenga una estructura distinta, pasándose a llamar el fichero antiguo como «LEGACY».
Si intentamos cambiar una contraseña de uno de los usuarios de sistema (sys) y el fichero de passwd es «antiguo» tendremos el error
ORA-28017: El archivo de contrase±as estß en el formato heredado.
Cuyo equivalente en inglés es
ORA-28017:The password file is in the legacy format.
Para comprobar el tipo de fichero de passwd que tenemos Oracle nos ofrece la funcionalidad del orapasswd que es «describe»
orapwd describe file=SPFILEDESA.ora Password file Description : format=LEGACY ignorecase=N
Para solucionar este problema simplemente tenemos que borrarlo y crearlo de nuevo, o bien regenerarlo con el nuevo orapasswd o bien recrearlo con el comando
orapwd file=< fname > entries=< users> force=< y/n> password=< SYS password> force=y format=12 input_file=< input-fname>
Depreciación de IGNORECASE
Otro de los puntos importantes de la 12c es que se ha quitado la línea de compatibilidad con las versiones 10g y anteriores en lo que a passwords se refiere.
Si recordamos la entrada Contraseñas case sensitive y Oracle 11g había un parámetro que permitía esa compatibilidad, en esta nueva versión 12c esa opción ha sido eliminada.
Ubicación del fichero en ASM
En la versión 12c ya es posible tener el fichero de password dentro del ASM.
Nuevos usuarios en el fichero de passwd
Con la segregación de funciones introducida por Oracle en la 12c tenemos nuevos usuarios/roles pare segregar algunas funciones como backup,dataguard o TDE (Transparent Data Encryption)
Estos usuarios son:
- SYS
- SYSBACKUP Es el usuario que se usará para llevar a cabo las operaciones de backup/recovery bien sea desde rman o sqlplus.
- SYSDG Creado para separar las actividades relaccionadas con dataGuard
- SYSKM Creado para las acciones administrativas de Transparent Data Encryptiony Data Vault
Como siempre, tenemos mas información en la web de soporte oracle
- ORA-28017: The password file is in the legacy format (Doc ID 2112456.1)
- Depreciación de IGNORECASE and SEC_CASE_SENSITIVE http://docs.oracle.com/cd/E16655_01/server.121/e17642/deprecated.htm#UPGRD60022
- Depreaciación de IGNORECASE en ORAPWD ://docs.oracle.com/cd/E16655_01/network.121/e17607/release_changes.htm#DBSEG420