Zeichensatzproblem mit den Audit-Tabellen der Oracle-Datenbank unter Debian

Zeichensatzproblem mit den Audit-Tabellen der Oracle-Datenbank unter Debian

Ich habe Oracle XE auf Debian Linux installiert und der Zeichensatz ist auf AL32UTF8 konfiguriert. Es gibt mehrere Client-Anwendungen, die sich mit einer Datenbank von Windows aus verbinden, mit unterschiedlichen Gebietsschemas – Französisch usw., nicht Englisch. Das ist in Ordnung, da diese Anwendungen alle Client-Daten in die Datenbank einspeisen, nichts konvertiert wird und Textdaten in Französisch korrekt dargestellt werden.

Texte in Audit-Tabellen sehen jedoch wie „??????“ aus, wenn sie nicht-englische Zeichen enthalten. Ich vermute, das liegt daran, dass Audit-Datensätze in die Datenbank mit unterschiedlichen Gebietsschemas gehen und nicht von den Globalisierungs-/Gebietsschemaeinstellungen des Clients abhängig sind.

Wie kann dieses Globalisierungsproblem behoben werden? Danke!

Antwort1

Die wahrscheinliche Option ist, dass die Prüfdaten korrekt auf Französisch gespeichert werden, IHR Client dies jedoch nicht unterstützt, sodass Ihr Oracle-Client französische Buchstaben für Sie in ???? übersetzt.

  1. Wie lautet die NLS_LANG Ihres Clients / Ihrer Umgebung? (z. B. aus Ihrer Umgebung)
  2. Um zu überprüfen, ob die Daten korrekt in der Tabelle sys.aud$ gespeichert sind, führen Sie Folgendes aus:

SELECT username, ascii(username) from DBA_AUDIT_TRAIL; --optional mit einer WHERE-Klausel, um es auf einige verdächtige Zeilen zu beschränken

Wenn alle ???-Zeichen denselben ASCII-Code haben, speichert Oracle ???. Wenn jedes ??? einen anderen ASCII-Code hat, speichert Oracle französische Buchstaben und Ihre Client-NLS_LANG-Konfiguration unterstützt keine französischen Buchstaben.

Ich hoffe, das hilft Ihnen bei der Fehlerbehebung ...

verwandte Informationen