Datenbank-Cloning - Snapclones mit Cloud Control
von Ralf Durben, Oracle Deutschland B.V. & Co. KG
|
|
Das Kopieren (Klonen) von Datenbanken kann aus verschiedenen Gründen notwendig sein. Vor allem bei der Erstellung von Test- und Entwicklungsumgebungen wird gerne auf die existierenden Datenbanken zurückgegriffen. Dabei können sogenannte "Full Clones" erstellt werden, bei denen die Datenbankdateien vollständig kopiert werden. Moderne Storagetechnologien erlauben aber auch ein sogenanntes "Snapcloning", bei dem eine virtuelle Kopie per "Copy on Write" erstellt wird. Physisch wird dabei nur eine Verwaltungsstruktur erzeugt, die auf die Speicherbereiche der zu kopierenden Datenbank verweisen, sowie ein Speicherbereich in dem alle Datenänderungen separat abgelegt werden.
Mit dieser Technik können Sie viel Plattenplatz einsparen, vor allem wenn Sie große Datenbanken klonen und die Kopie nur in Teilbereichen verändern. Denn je mehr Datenänderungen Sie vornehmen, desto mehr Plattenplatz wird auf dem Storage verbraucht. Auch ist der Zeitfaktor nicht unerheblich: Eine Kopie per Snapcloning ist auf Storage-Ebene schnell erstellt. Allerdings ist für Oracle Datenbanken darauf zu achten, dass die reine Kopie der Datenbankdateien auf der Storage-Ebene nicht ausreichend ist, um eine neue Datenbank per Kloning zu erstellen. Vielmehr muß der Datenbank-Klon noch individualisiert werden, indem zum Beispiel die Datenbank-ID (DBID) und der Datenbankname neu gesetzt werden.
Mit Oracle Enterprise Manager Cloud Control können Sie derartige Snapclones einfach erstellen. Dabei benötigen Sie eine Lizenz für das "Cloud Management Pack for Oracle Databases" und möglichst ein aktuelles Release von Cloud Control. In Release 12cR4 werden die folgenden Storage-Hersteller unterstützt:
- Oracle ZFS Storage Applicance
- NetApps
- EMC VMAX und VNX
- Software-Lösung über ZFS Dateisystem und CloneDB
Seit Release 12cR5 wird hier auch ACFS unterstützt.
Das Klonen per Snapclone kann als Administrationstask in der allgemeinen Konsole ausgeführt oder als Service in einer privaten Datenbank-Cloud angeboten werden. Dieser Tipp zeigt Ihnen die erstgenannte Anwendung. Ein später erscheinender Tipp wird Ihnen zeigen, wie Sie Snapclone-Services für eine private Cloud-Umgebung vorbereiten können.
Wie schon oben beschrieben basiert das Feature Snapcloning auf den Möglichkeiten des Storage, den Sie in Cloud Control registrieren müssen. Dazu müssen Sie zunächst das passende Plug-in auf der OMS-Seite installieren, falls noch nicht geschehen. Für diesen Tipp habe ich als Storage die Oracle ZFS Storage Appliance verwendet, für die im OMS das Plug-in "Oracle ZFS Storage Appliances" deployed sein muß. Des Weiteren benötigen Sie als Storage-Abstraktionsschicht das Plug-in "Oracle Storage Management Framework". Sie sollten immer die jeweils aktuelle Version dieser Plug-ins verwenden. Durch die Abstraktionsschicht erscheinen die Funktionalitäten in Cloud Control in einer einheitlichen Form, egal, welcher Storagetyp von Ihnen verwendet wird. Nachdem das für Ihren Storage passende Plug-in installiert ist, fügen Sie Ihren Storage in Cloud Control als Zielsystem (Target) hinzu, falls noch nicht geschehen.
Nach diesen Vorbereitungen können Sie Ihren Storage für Provisionierungsaktionen registrieren, indem Sie wie folgt navigieren: Setup -> Provisioning and Patching -> Storage Registration
Im Pull-Down Menü werden die Systemtypen angezeigt, für die Sie die passenden Plug-ins installiert haben. Nachdem der Storage registriert ist,
führen Sie eine Aktualisierung der Konfigurationsdaten sowohl für die zu klonende Datenbank als auch deren Host durch. Dieses gilt, falls die Datenbank schon existiert. Bei neuen Umgebungen navigieren Sie zum Reiter "Contents"
und erstellen über "Create Storage Volumes" ein neues Volume für Ihre Datenbankdateien.
Sie wählen den Pool in Ihrem Storage aus und vergeben Größe und Mountpoint des neuen Volumes. Des Weiteren geben Sie den passenden Verwendungszweck an, hier "Oracle Datafiles for Single Database". Die Mountoptionen werden automatisch gesetzt und sollten so auch übernommen werden. Sie fügen dann noch die Server als "Host" hinzu, die auf dieses Volume zugreifen sollen. Nachdem Sie dieses per "Submit" bestätigt haben, erscheint nach einer kurzen Zeit (Sie können den Vorgang, der als Job ausgeführt wird, genau verfolgen) das neue Volume als Mointpoint auf dem angegebenen Server. Sie können zum Beispiel nun eine neue Datenbank erstellen, die alle Datendateien (Datenbankdateien, Controldateien, Redo-Log Dateien) in diesem Volume speichert. Nachdem die Konfigurationsdaten für diese Datenbank und deren Server in Cloud Control aktualisiert wurden, erscheint die Datenbank auf der Seite der "Storage Registration" unter dem Reiter "Databases".
Mit dem Button "Enable Snap Clone" aktivieren Sie für diese Datenbank die Möglichkeit zur Erstellung von Snapclones.
Wenn Sie jetzt zu der Homepage der zu klonenden Datenbank navigieren, finden Sie im Menü "Oracle Database -> Cloning" den Menüpunkt "Create Snapclone". Dieser Punkt erscheint nur, wenn die Datenbank auch für Snapclones aktiviert wurde. Mit dem Menüpunkt "Clone Management" gelangen Sie zur Übersicht aller Möglichkeiten zum Thema Cloning.
Wenn Sie einen neuen Klon per Snapcloning erstellen möchten, klicken Sie auf "Create" in der Box "Snap Clone Databases".
Sie wählen den Server aus, auf dem die Klon-Datenbank betrieben werden soll. Das Datenbanksystem, also Prozesse und Hauptspeicherbereiche der Klon-Datenbank können also auf einem anderen Server bzw. in einem anderen ORACLE_HOME laufen. Die Datendateien verbleiben natürlich zentral auf dem Storage. Sie können auch ein ORACLE_HOME verwenden, welches im Gegensatz zur Original-Datenbank zusätzliche Patches enthält. Im Rahmen des Cloning-Prozesses werden dann die notwendigen SQL-Skripte ausgeführt. So können Sie Snapclone-Datenbanken auch gut nutzen, um Patches vor deren Einspielung zu testen.
Natürlich müssen Sie noch die Zugangsinformationen, am besten per Named Credentials, angeben. Auch geben Sie den Namen der neuen Datenbank an. Beachten Sie im linken unteren Bereich des Screenshots auch, dass ein Profil für dieses Cloning erstellt wird. Mit diesem Profile können Sie später noch schneller Datenbank-Klone erstellen.
Im nächsten Schritt geben Sie die Größe des beschreibbaren Storage an, der für Änderungen an Daten verwendet wird. Auch bekommt der Snapclone wieder ein neues Volume mit eigenem Mointpoint.
Sie können jetzt noch diverse Anpassungen für den Klon vornehmen, wie zum Beispiel Instanzparameter verändern,
oder auch Anonymisierungsdefinitionen, die im Rahmen des Data Masking Packs erstellt werden können, einbinden oder eigene Veränderungsskripte starten. Beachten Sie dabei immer, dass der Vorteil der Storageersparnis am größten ist, je weniger Datenänderungen Sie durchführen.
Das Kloning wird per Deployment Prozedur ausgeführt, die Sie natürlich auch für einen späteren Zeitpunkt planen können.
Sie bekommen noch eine Übersicht angezeigt und mit "Submit" geht es dann wirklich los.
Wenn die Prozedur beendet ist, erscheint der neue Klon auf der Seite "Clone Management". Die neue Datenbank ist dabei vollständig individualisiert und erscheint automatisch auch in Cloud Control als Zielsystem.
Wenn Sie auf die Homepage der Klon-Datenbank navigieren, finden Sie wieder die Seite "Clone Management". Hier können Sie die Klon-Datenbank wieder mit der Originaldatenbank synchronieren und Datenänderungen rückgängig machen. Dieses ist besonders interessant, wenn Sie mehrere Tests hintereinander durchführen möchten.
Lizenzhinweis
Die Nutzung von Snapcloning in Oracle Enterprise Manager Cloud Control muß im Rahmen des Cloud Management Packs for Database lizenziert werden. Das in diesem Tipp angesprochene Data Masking Pack für eine Anonymisierung von Testdaten ist seinerseits ein separat zu lizenzierendes Produkt, falls Sie eine derartige Anonymisierung vornehmen möchten.
Weitere Informationen
Zurück zum Anfang des Artikels
Zurück zur Community-Seite
|