Problema con el juego de caracteres de la base de datos Oracle con las tablas de auditoría en Debian

Problema con el juego de caracteres de la base de datos Oracle con las tablas de auditoría en Debian

Tengo Oracle XE instalado en Debian Linux y el juego de caracteres está configurado en AL32UTF8. Hay varias aplicaciones cliente que se conectan a una base de datos desde Windows con diferentes configuraciones regionales: francés, etc., no inglés. Eso está bien con todos los datos del cliente que estas aplicaciones colocan en la base de datos, nada se convierte y los datos de texto en francés se representan correctamente.

Pero los textos en las tablas de auditoría parecen '??????' si contiene algún carácter que no sea inglés. Supongo que esto se debe a que los registros de auditoría van a la base de datos en una configuración regional diferente y no depende de la configuración regional/globalización del cliente.

¿Cómo se puede solucionar este problema de la globalización? ¡gracias!

Respuesta1

La opción más probable es que los datos de auditoría se guarden correctamente en francés, pero SU cliente no los admite, por lo que su cliente de Oracle traduce las letras francesas a ???? para ti.

  1. ¿Cuál es el NLS_LANG de su cliente/entorno? (por ejemplo, de su entorno)
  2. Para verificar si los datos están almacenados correctamente en la tabla sys.aud$, ejecute:

SELECT username, ascii(username) from DBA_AUDIT_TRAIL; --opcionalmente con una cláusula WHERE para limitarlo a unas pocas filas sospechosas

Si todos los ??? Los caracteres tienen el mismo código ascii, Oracle almacena ???. Si cada ??? tiene un código ascii diferente, Oracle almacena letras francesas y la configuración NLS_LANG de su cliente no admite letras francesas.

Espero que te ayude a solucionar el problema...

información relacionada