2010-09-22 20 views
7

En WebSphere 6.1 he creado una fuente de datos para una instancia de Oracle 11g utilizando el cliente JDBC delgado.WebSphere a Oracle: no acepta la contraseña correcta

En Oracle tengo dos usuarios, uno existente y otro recién creado.

El origen de datos de mi websphere está bien si uso el alias de autenticación administrada por componente del usuario existente, pero falla con el mensaje "usuario/contraseña no válido" si uso el alias del nuevo usuario. El mensaje de error es:

The test connection operation failed for data source MyDB (Non-XA) on 
server nodeagent at node MY_node with the following exception: 
java.sql.SQLException: ORA-01017: invalid username/password; 
logon denied DSRA0010E: SQL State = 72000, Error Code = 1,017. 
View JVM logs for further details. 

No hay nada en los registros de JVM. He agotado todos los registros de websphere y no mencionan mi conexión en absoluto.

Puedo confirmar que el nombre de usuario y la contraseña son correctos ingresando a través de SQLPlus o (para comprobar que la conexión JDBC es correcta) a través de SQuirreL.

He comprobado en Oracle que el nuevo usuario tiene todos los privilegios del sistema que tiene el usuario existente.

¿Alguna idea de lo que está pasando o cómo puedo depurar esto aún más?

Respuesta

25

Just FYI. Supongo que está ejecutando WebSphere en el modo de Implementación de red. Este comportamiento que estás experimentando es en realidad por diseño.

El motivo es que el botón "Probar conexión" que ve en la consola de administración invoca la prueba de conexión JDBC desde el proceso del agente de nodo . No hay forma de que la información J2C Alias ​​se propague al Agente de nodo sin reiniciarlo; algunos objetos de configuración surten efecto en WebSphere tan pronto como guarde la configuración en el repositorio principal, y algunos solo tienen efecto en un reinicio. Los alias de J2C tienen efecto en los reinicios.

En una topología de implementación de red, puede tener cualquier cantidad de instancias de servidor controladas por el mismo agente de nodo. Puede reiniciar sus instancias de servidor como desee, pero a menos que reinicie el Agente de Nodo, el botón de "conexión de prueba" nunca funcionará.

Es una limitación conocida de WebSphere ... que también existe en la versión 7.0, así que no se sorprenda cuando la pruebe durante su próxima migración. :-)

3

Si esto le sucede a alguien más, reinicié WebSphere y todos mis problemas desaparecieron. Es un verdadero sello distintivo del software de calidad.

+0

Si cambia la configuración en WAS (lo está haciendo ya que está cambiando las credenciales de un alias JAAS) es probable que tenga un reinicio del servidor para que surta efecto. – Manglu

+0

@Manglu que depende del alcance del cambio de configuración y del alcance en el que desea que los cambios sean visibles. Si cambió algo en el nivel de la celda, pero solo está interesado en ver los cambios de inmediato en dos instancias del servidor, no hay motivo para reciclar toda la topología. Esta distinción puede no ser importante en entornos no productivos, pero sí en producción. – Isaac

1

A menudo, cuando las personas me dicen que no pueden iniciar sesión en Oracle 11g con la contraseña correcta, sé que han sido atrapados por las contraseñas y distinguen entre 10g y 11g de mayúsculas y minúsculas.

+2

¿Antes no eran sensibles a las mayúsculas? ** ¡guau! ** – Synesso

+0

¡No! Recuerde que Oracle data del pasado cuando ni siquiera podía suponer que su cliente sería capaz de combinar casos. Incluso en 11g es opcional. – Gaius

1

Prueba esto: definición de origen de datos de seguridad utilizar el alias J2C ambos autentication administrados por componente y autentication gestionadas por contenedor

-2

tengo mi punto de origen de datos a componenet-administrar la autenticación, así como de contenedores authentication.Its autogestionadas de trabajo bien ahora ........

1

IBM WAS 8.5.5 Knowledge Center -
Managing Java 2 Connector Architecture authentication data entries for JAAS

Si crear o actualizar una fuente de datos que apunta a un alias de datos de autenticación de J2C de nueva creación, la conexión de prueba no se puede conectar hasta que reinicie el gestor de despliegue.

Después de reiniciar el administrador de despliegue, los datos de autenticación J2C se reflejan en la configuración del tiempo de ejecución. Cualquier cambio en los campos de datos de autenticación J2C requiere un reinicio del administrador de despliegue para que los cambios surtan efecto.

El agente de nodo también debe reiniciarse.

Cuestiones relacionadas