El cambio de una password expirada con SQL*plus es rápido y seguro. El escenario que utilizado para desarrollar está guía es el siguiente:
- PC con Windows XP 32 bits y Oracle Client 10g R2 para Windows 32 bits instalado.
- Servidor Linux 64 bits con Oracle Database Server 11g R2 instalado y BBDD ORADB001 creada para desarrollar la guía.
- Usuario ‘Prueba’ creado en la BBDD ORADB001 con la password expirada.
1 - Introducción
Los usuarios Oracle con la contraseña expirada requieren que se realice el cambio de password en la primera conexión. Hay muchas herramientas que no están preparadas para capturar el error ORA-28001: the password has expired (Error que devuelve Oracle si la password del usuario está expirada) y solicitar el cambio.
La forma más rápida y fiable de realizar el cambio de password de un usuario expirado es usar la herramienta SQL*Plus. SQL*Plus esta incluida en el Cliente Oracle instalado en el PC, si tienes acceso a la Servidor de BBDD también puedes usar SQL*Plus desde el propio Server.
El Oracle Client instalado en el PC contiene dos herramientas SQL*Plus, ambas se encuentran en el directorio $ORACLE_HOME/BIN, cuadro verde en la Imagen 1. Los ejecutables son, sqlplus.exe y sqlplusw.exe, cuadro azul en la Imagen 1.
Imagen 1
*Nota: Es necesario tener introducidas las cadenas de conexión de las BBDD a las que se quiera conectar en el tnsnames.ora.
2 - Cambio de password expirada con SQL*Plus.
Hacer doble clic sobre el ejecutable sqlplus.exe, nos aparecerá una ventana del interprete de comandos (conocida comúnmente como pantalla negra) y contenido en está ventana aparecerán los creaditos de Oracle SQL*Plus junto con el prompt para que introduzcamos el usuario, Imagen 2.
Imagen 2
Introducimos el usuario seguido de la @ y el alias tnsname de la base de datos a la que queramos conectarnos, la password inicial que se haya proporcionado, a continuación nos aparecerá el error ORA-28001: the password has expired y nos solicita la nueva contraseña, tendremos que confirmarla y si todo ha ido bien la contraseña se habrá cambiado, ver Imagen 3.
Imagen 3
3 - Cambio de password expirada usando sqlplusw.exe.
Hacer doble clic sobre el ejecutable sqlplusw.exe, este SQL*Plus esta desarrollado como aplicación Windows, nos aparece una ventana principal, en segundo plano, y una segunda ventana donde nos solicita el usuario, password y cadena de Host, Imagen 4.
Imagen 4
Introducir el usuario, password inicial proporcionada y el alias tnsnames de la BBDD a la que queramos conectarnos, Imagen 5.
Imagen 5
Nos aparecerá una nueva ventana para que introduzcamos, password antigua, nueva password y la confirmación, Imagen 6.
Imagen 6
Ya tenemos cambiada la password y en el prompt de SQL*Plus, Imagen 7.
Imagen 7