26.02.2014 Aufrufe

ADMIN Magazin Gestapelt - Schneller und sicherer mit RAID (Vorschau)

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Know-how<br />

Unicode-Migration<br />

grafischen Werkzeuge schnell<br />

erkennbar sind.<br />

Die Migration<br />

Die eigentliche Migration erfolgt<br />

in vier Schritten (Abbildung<br />

2):<br />

n Aufbau einer neuen Datenbank.<br />

Die neue Datenbank<br />

wird entsprechend<br />

den Vorgaben des<br />

Unternehmens <strong>und</strong> von Oracle <strong>mit</strong><br />

dem neuen Zeichensatz (in der Regel<br />

»AL32UTF8«) aufgebaut. Als angenehmer<br />

Nebeneffekt ergibt sich dabei,<br />

dass sich die Datenbank komplett<br />

reorganisieren lässt, das heißt<br />

überflüssige Daten, die etwa durch die<br />

Installation von Beispielschemata in<br />

die Datenbank gelangten, kann man<br />

jetzt eliminieren.<br />

n Exportieren der Schemadefinitionen<br />

als ASCII-Datei. Danach exportiert<br />

man die Schemadefinitionen (Abbildung<br />

3) ohne Längensemantik als<br />

ASCII-Datei. Dadurch ergibt sich die<br />

Möglichkeit, anschließend eine Bereinigung<br />

vorzunehmen. Oracle bietet<br />

hierfür ein Package <strong>mit</strong> dem Namen<br />

»dbms_metadata« an. Der Autor hat<br />

sehr gute Erfahrungen <strong>mit</strong> Toad for<br />

Oracle gemacht, da das Tool über eine<br />

grafische Schnittstelle ganz einfach<br />

die komplette Definition auch mehrerer<br />

Schemata als ASCII-Datei erstellt<br />

Abbildung 2: Schematische Darstellung einer Migration.<br />

<strong>und</strong> in den Editor kopiert. Über »find«<br />

<strong>und</strong> »replace« lassen sich dann gegebenenfalls<br />

Änderungen (zum Beispiel<br />

Umstellung von »NVARCHAR2« auf<br />

»VARCHAR2«) durchführen.<br />

n Importieren der Schemadefinitionen.<br />

Das eben erstellte Skript <strong>mit</strong> der Schemadefinition<br />

wird dann in der neuen<br />

Datenbank ausgeführt. Vorher setzt<br />

man allerdings für die gesamte Session<br />

den Parameter »NLS_LENGTH_<br />

SEMANTICS«:<br />

SQL> ALTER SESSION U<br />

SET NLS_LENGTH_SEMANTICS=CHAR;<br />

Da<strong>mit</strong> wird dafür gesorgt, dass allen<br />

Zeichen-Spalten (also »CHAR«, »VAR-<br />

CHAR2«, etc.), die keine explizite Längensemantik<br />

verwenden, »CHAR« als<br />

Längensemantik zugewiesen wird. Da<strong>mit</strong><br />

passen die Umlaute auch wieder in<br />

die Felder.<br />

n Datensätze importieren. Als Letztes<br />

werden die Datensätze, also die<br />

Inhalte der Tabellen einfach<br />

per Export / Import oder Data<br />

Pump übertragen. Beim Importieren<br />

der Daten ist darauf<br />

zu achten, dass die Befehle<br />

ignoriert werden, die die Tabellen<br />

erstellen würden, denn<br />

die gibt es ja schon. Außerdem<br />

müssen die Foreign-Key-<br />

Contraints ausgeschaltet werden,<br />

da die Reihenfolge des<br />

Einfügens der Daten nicht<br />

festgelegt werden kann. Ansonsten<br />

könnte es dazu kommen, dass ein<br />

Detail-Datensatz (zum Beispiel die<br />

Adresse einer Person) nicht eingefügt<br />

werden kann, weil die Daten der Person<br />

selbst (also Vorname, Nachname,<br />

etc.) noch nicht vorhanden sind. Beim<br />

Importieren interessieren wir uns aber<br />

nur dafür, dass ganz am Ende alle<br />

Daten eingefügt sind, dann sollten die<br />

Personen zu den Adressen passen.<br />

Nötige Auszeiten<br />

Sicherlich ist die Auszeit für eine solche<br />

Migration nicht zu vernachlässigen. Bei<br />

kritischen Datenbanken wird daher empfohlen,<br />

eine Replikationssoftware zu nutzen,<br />

die die Änderungen der alten Datenbank<br />

protokolliert <strong>und</strong> nachdem die neue<br />

Datenbank aufgesetzt wurde, in die neue<br />

Datenbank nachträgt. Mit dem Werkzeug<br />

SharePlex for Oracle von Dell (vormals<br />

Quest) wurde so bei einem großen deutschen<br />

Automobilhersteller im Jahr 2010<br />

eine r<strong>und</strong> 10 Terabyte große Datenbank<br />

<strong>mit</strong> einer Auszeit von weniger als zwei<br />

St<strong>und</strong>en migriert, <strong>und</strong> 2011 wurde eine<br />

kleinere Datenbank, die allerdings höchst<br />

kritisch war, ohne jede Downtime von<br />

einem ISO-Zeichensatz auf Unicode umgestellt.<br />

Bei beiden Datenbanken gab es<br />

zudem den Nebeneffekt, dass man noch<br />

mehrere Wochen zum alten System hätte<br />

zurückkehren können. (jcb)<br />

n<br />

Abbildung 3: Export eines Datenbankschemas als ASCII-Datei.<br />

Der Autor<br />

Johannes Ahrends beschäftigt sich seit r<strong>und</strong> 20<br />

Jahren <strong>mit</strong> der Oracle Datenbank <strong>und</strong> den zugehörigen<br />

Tools. Seit 2011 hat er sein eigenes Unternehmen:<br />

CarajanDB – spezialisiert auf Themen<br />

r<strong>und</strong> um Oracle. Johannes Ahrends ist Co-Autor<br />

des Standardwerks „Oracle für den DBA“ <strong>und</strong><br />

wurde <strong>mit</strong> dem Oracle ACE Award geehrt.<br />

66 Ausgabe 06-2012 Admin www.admin-magazin.de

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!