Oracle Enterprise Manager in Multibyte Umgebungen
von Jutta Adam-Fuss, ORACLE Deutschland B.V. & Co. KG
International agierende Unternehmen arbeiten sehr oft mit Multibyte Zeichensätzen (Unicode), um unterschiedlichste Zeichensymbole in der Datenbank abbilden zu können.
Mit Data Masking bietet Oracle die Möglichkeit, sensible Daten z.B. für Test- und Entwicklungsumgebungen zu anonymisieren. Die Konfiguration von Data Masking geschieht über
die graphische Oberfläche von Enterprise Manager Grid Control. Um eine Maskierung oder Anonymisierung von Daten in
Multibyte Zeichensätzen erfolgreich und korrekt durchzuführen muss auch die Umgebung von Grid Control entsprechend
aufgesetzt sein.
Im Folgenden wird an Hand eines Beispiels beschrieben, wie die Grid Control sowie die Agent-Umgebungen für die Maskierung von Daten mit Data Masking konfiguriert werden müssen.
Wir gehen davon aus, dass der Zeichensatz unserer Zieldatenbank UTF-8 ist. In dieser Datenbank werden in einem CRM-System internationale Kundendaten gespeichert. Der Zeichensatz UTF-8 ist in der Lage alle für unser Beispiel relevanten Zeichensymbole korrekt zu speichern.
Ursprünglich war das Grid Control Repository mit dem Zeichensatz WE8MSWIN1252 angelegt, was dazu führte, dass bestimmte Zeichen bei den Bedingungen (Conditions) eingegeben werden konnten, jedoch nicht korrekt im Grid Control Repository gespeichert werden konnten.
Bei der Eingabe wurde beispielsweise ein spezielles Zeichen verwendet, das im folgenden Screenshot zu sehen ist.
Für eine größere Ansicht auf das Bild klicken.
Speicherte man die Masking Definition jedoch ab und bearbeitete diese später weiter, wurde aus
dem im Screenshot dargestellten Sonderzeichen ganz einfach ein 'L', und damit veränderte sich
der Name zu 'Lazy'. Beim Export der Masking Definition sowie beim Generieren des Masking Skriptes
gingen alle Sonderzeichen, die vom Zeichensatz des Grid Control Repositories nicht unterstützt
wurden, verloren. In der Konsequenz führte das dazu, dass das Maskieren der Daten nicht wie
gewünscht durchgeführt wurde.
Beim erneuten Bearbeiten der Data Masking Definition ging das Sonderzeichen verloren, wie folgender Screenshot zeigt.
Für eine größere Ansicht auf das Bild klicken.
Der Lösungsansatz
Um dieses Problem zu lösen sind folgende Schritte erforderlich:
- Stoppen des Oracle Management Server (OMS) und Agent Prozesses auf dem OMS-Host:
- Definieren der Environment Variablen:
- Prüfen der Parameter
- Ändern des Grid Control Repository Database Character Set mit Hilfe von SQL*Plus
- Starten des OMS und des Agent Prozesses
Wichtiger Hinweis: Es wird dringend empfohlen, zuvor ein Backup der Grid Control Repository Datenbank durchzuführen!
Die gleiche Vorgehensweise ist für den Agent auf dem Host der Zieldatenbank erforderlich.
- Stoppen des Agent Prozesses auf dem Host der Zieldatenbank
- Definieren der Environment Variablen
- Prüfen der Parameter
- Starten des Agent Prozesses auf dem Host der Zieldatenbank
Die Verifikation
Um sicherzustellen, dass der Agent-Prozess mit den korrekten Parametern läuft, gehen Sie wie folgt
auf jedem Agent-Host vor:
Im Agent-Process-Output sollten Sie die oben gesetzten Werte für die Parameter NLS_LANG, LANG, LC_ALL sehen.
Um sicherzustellen, dass der OMS-Prozess mit den korrekten Parametern läuft, gehen Sie wie folgt auf dem OMS-Host vor:
Im Server-Process-Output sollten Sie die oben gesetzten Werte für die Parameter NLS_LANG, LANG, LC_ALL sehen.
Zurück zum Anfang des Artikels
Zurück zur Community-Seite
|