RSS Feed
Apr 28

Como hago para que el password de un Usuario en Oracle nunca expire

Posted on Tuesday, April 28, 2009 in Bases De Datos, Oracle

En Dias anteriores mi amigo Alejandro Jimenez, me hizo la consulta acerca de como evitar que la contraseña de un usuario en la base de Datos Oracle expire. Le ayude con el requerimiento y a continuación describo la solución.

Primero que todo hay que aclarar, que no hay algúna opción que permita indicarle a Oracle cuando el password debe vencer mediante el usuario de Base de datos directamente, este tipo de parametros viene asociado es al PERFIL que si esta relacionado con el usuario.

Entonces lo primero que se debe hacer es crear un perfil en la base de datos que tenga estipulado que el password de los usuarios a los que se le establezca el perfil nunca expira.

Para crear este perfil se debe ejecutar la siguiente sentencia (OJO el usuario debe tener los permisos necesarios para crear el perfil ya sea CREATE PERFIL O DBA)

CREATE PROFILE perfil_nunca_expire_password LIMIT
  FAILED_LOGIN_ATTEMPTS 3
  PASSWORD_LIFE_TIME UNLIMITED
  PASSWORD_REUSE_MAX 10
/

Explico un poco la sentencia.

CREATE PROFILE perfil_nunca_expire_password --> Es la sentencia que crea un perfil en base de datos, en esta caso con el nombre perfil_nunca_expire_password.  Esta sentencia tiene asociado muchos parametros que determinan para los usuarios valores para uso de la CPU, tiempo maximo de inactividad, número de sessiones simultaneas, valor del SGA, complejidad de la contraseña, historial de contarseñas entre otros, para nuestro caso usamos

FAILED LOGIN ATTEMPTS num > Indica el num de veces que el usuario puede errar la contraseña, antes de que esta se bloquee.

PASSWORD_LIFE_TIME num > Indica el tiempo de vida en Dias del password, aca esta la clave, si se desea que nunca expire se coloca UNLIMITED

PASSWORD_REUSE_MAX num > Indica el num de veces que se debe haber cambiado el password antes de poder reutilizarlo.

Ahora lo que sigue es asignar el perfil al usuario que deseamos su clave nunca le expire

ALTER USER NOM_USUARIO  PROFILE perfil_nunca_expire_password;

Con esto el usuario no deberá nunca más cambiar el password, por que Oracle se lo solicite.

La sentecnai de create PROFILE tiene además de esos 3 paramtros otro más, que pueden resultar muy utiles para la administración no solo de contraseñas, sino de uso de CPU tambien.

La sintaxis completa de la sentencia CREATE PROFILE es

create

profile

password

Enlaces