Error ORA-28001: The password has expired. Weblogic 10.3.5 y SOA 11.1.1.5


¡Hola!

El post de este día es referente a un error que me encontré recientemente al querer levantar mi ambiente local de la SOA Suite 11.1.1.5, y en especial al levantar el Weblogic del Admin Server… ORA-28001: the password has expired. La traza de la excepción es:


<Error> <Deployer> <BEA-149205> <Failed to initialize the application 'wlsbjmsrpDataSource' due to error weblogic.application.ModuleException: .

weblogic.application.ModuleException:

        at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:302)

        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)

        at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)

        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)

        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159)

        Truncated. see log file for complete stacktrace

Caused By: weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: ORA-28001: the password has expired



        at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:278)

        at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1249)

        at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1166)

        at weblogic.common.resourcepool.ResourcePoolImpl.start(ResourcePoolImpl.java:249)


Al analizar el mensaje podemos ver que el problema se genera al querer inicializar el datasource interno de SOA llamado 'wlsbjmsrpDataSource' debido a que la contraseña del usuario con el que generamos los esquemas de BD cuando instalamos y configuramos la SOA Suite, ha caducado y es necesario resetearla. Entonces el primer paso para resolverlo es ubicar el archivo donde está configurado este datasource, en mi caso es:

%OracleHome%\Middleware\user_projects\domains\base_domain\config\jdbc\wlsbjmsrpDataSource-jdbc.xml 




En este archivo podemos ver que el usuario con el que se conecta es DEV5_SOAINFRA. Espero que se acuerden de la contraseña que usaron durante la instalación, en realidad no estoy segura si funciona ponerle otra, pero en mi caso usé la misma que tenía anteriormente y no tuve ningún problema. Para resetear la contraseña es necesario conectarse a la base de datos de SOA, puede ser con sql plus en línea de comando, o bien con algún otro cliente de BD. Si es en línea de comando, abrir una ventana de cmd (en Windows) y escribir algo como esto:


pc_local>sqlplus sys/elpassword@XE as sysdba 
SQL> Alter user DEV5_SOAINFRA identified by elpassword; 


XE es el nombre de nuestro SID de la base de datos que configuramos durante la instalación, y elpassword es el nuevo password que se asignará al usuario.

El siguiente paso es hacer lo mismo para los demás esquemas de BD que usan los managed servers de SOA y OSB. Como pueden ver en el directorio de datasources hay otros más que requieren ser modificados debido a que tienen configurados diferentes usuarios y passwords, tal es el caso de mds-owsm-jdbc.xml y OraSDPMDataSource-jdbc.xml.


De igual forma que el anterior, ejecutar los siguientes comandos en sql plus:

Alter user DEV5_MDS identified by elpassword;
Alter user DEV5_ORASDPM identified by elpassword;

Listo, ya podemos iniciar de manera normal nuestros servidores… En caso de que tengan otros Managed Servers y un error similar aparezca, el proceso es el mismo, deben averiguar que usuario de la BD usa y resetear el password.


Gracias.
¡Nos leemos pronto!


Si te interesa conocer más de ésta y otras tecnologías de Oracle, te recomiendo que visites la página de Oracle Technology Network Latinoamerica http://www.oracle.com/technetwork/es/index.html. Aquí podrás encontrar artículos, información, actividades y muchas otras cosas más, además de poder acercarte a los expertos en varios idiomas.


Comentarios

  1. tengo problemas con ese datasource, por defecto es creado con la BD Derby, pensaba que al iniciar el servidor lo puebla automaticamente, pero no es así, ese datasource se cae por el rechazo de la conexión. Mi pregunta es quien levanta el Derby? o es que lo cambiastes a XE?

    ResponderEliminar
    Respuestas
    1. Hola Paul

      Supongo que estás usando la versión Quickstart ya que hablas de que la base de datos es Derby, en el caso de este post se trata de una versión instalada por separado, es decir, cada uno de los componentes de la suite manualmente instalado en su nodo y un dominio que los contiene, así mismo, una base de datos estándar de Oracle, en la cual se creó un esquema llamado XE donde se crearon las tablas necesarias para la instalación.

      Eliminar

Publicar un comentario

Entradas más populares de este blog

OWSM and WS-Security: Username Token Authentication for SOAP and REST Services in OSB 12c.