Datentyp umstellen
Viele „alte“ Oracle Datenbanken laufen noch mit der Kodierung WE8MSWIN1252. Im Zuge der Internationalisierung werden schnell die Grenzen deutlich, da viele Sprachen ihre Sonderzeichen mit der Kodierung WE8MSWIN1252 nicht in der Datenbank abbilden können.
Die heute übliche Lösung ist die Umstellung der Datenbank (DB) auf Unicode (AL32UTF8).
1 Scripte ausführen
Zuerst müssen alle Spalten vom Datentyp BYTE auf CHAR umgestellt werden. Außerdem muss das generelle Spaltenhandling in der DB von BYTE auf CHAR gestellt werden.
Dazu die Skripte 1 + 2 ausführen.
Mit Skript 1 generiert man im Prinzip Skript 2. Beim Ausführen von Skript 1 erhält man eine Skriptausgabe, die man über Klick auf Skriptausgabe als Skript ausführen in ein SQL Fenster übernimmt.
Das ist dann Skript 2, in dem man nur noch Zeile 1 (anomyner Block abgeschlossen) löschen kann.
Nach Ausführen von Skript 2 muss die DB einmal neu gestartet werden (oder der ganze Server).
Zum Schluss mit Skript 4 die DB einmal komplett „neu kompilieren“,
dann mit PAT_Wartung, PATImpExpEinstellungen einen DMP erstellen.
Anschließend im SQL-Developer prüfen, ob alle Prozeduren und Trigger kompiliert sind, sonst die rot markierten manuell neu kompillieren.
2 Neue DB installieren
Die neue Datenbank mit dem Zeichensatz UTF8 installieren. Der Button >>Alle Initialisierungsparameter…<< ist nicht erforderlich, weil nur die PAT-Daten geändert werden.
DB vorbereiten wie gewohnt und dann den DMP der alten DB importieren.