Logo Oracle DeutschlandDatenbank & Cloud Community  -  Februar 2016 - Update: März 2017
Public Database as a Service - Konzepte und Grundlagen
von Manuel Hoßfeld, Oracle Deutschland B.V. & Co. KG

[Update Hinweis: Die in diesem Artikel gezeigten Screenshots zeigen eine ältere Version der Oberfläche - das Grundprinzip hat sich jedoch nicht geändert.]

Neben den bereits seit Jahren verfügbaren SaaS (Software-as-a-Service) Angeboten gibt es inzwischen auch Public Cloud Plattformdienste für Datenbanken und Middleware von Oracle. Ohne Investitionen in Lizenzen oder gar eigene Infrastruktur kann die "Datenbank auf Knopfdruck" also auch als fertiger Dienst bezogen werden. Der Markenname für die Public Cloud Angebote lautet übrigens einfach nur "Oracle Cloud".

Ausprägungen und Nomenklatur der Datenbank Dienste in der Oracle Cloud

Zunächst ist es wichtig zu verstehen, dass verschiedene Ausprägungen von Datenbankdiensten in der Oracle Cloud zur Verfügung stehen:

  • Database Schema Service
  • Exadata Express Service
  • Database as a Service
  • Exadata Service

Der "Database Schema Service" steht derzeit in drei festen Größenordnungen zur Verfügung (5GB, 20GB und 50GB Storage.) Dieser bietet den Nutzern wie der Name bereits suggeriert lediglich ein Schema einer Oracle Datenbank, in dem Entwickler oder Power User mittels APEX kleinere bis mittlere Anwendungen für ihr Unternehmen bauen und betreiben können. Abgesehen von den zusätzlich auch über eine RESTful API möglichen Datenzugriffen verfügt dieser Dienst jedoch über keinerlei direkten Einfluss auf die Datenbank selbst oder gar das zugrundeliegende Betriebssystem.

Im Gegensatz dazu gibt es auch einen Database Cloud Service, der als "Database as a Service" im wörtlichen Sinn eine komplette Datenbank in der Cloud darstellt - d.h. vollständig inklusive allen Konfigurations- und Zugriffsmöglichkeiten. Technisch gesehen handelt es sich hierbei um eine VM auf Basis von Oracle Linux, in der eine Oracle Datenbank installiert ist. Neben den bekannten Editionen wie z.B. der Enterprise Edition stehen auch Bundles zur Verfügung, welche die Nutzung einiger oder aller Datenbankoptionen ermöglicht.

Der "Exadata Service", manchmal auch "Exadata Cloud Service" genannt, bietet letztlich die gleichen Möglichkeiten wie der gerade genannte Database as a Service, aber im Gegensatz zu diesem auf einer dedizierten, für den Kunden reservierten Exadata-Umgebung. Man "mietet" hier gewissermaßen ein virtualisiertes Exadata Quarter-, Half- oder Full-Rack in der Cloud und kann alle Vorteile von Exadata nutzen - wie z.B. beschleunigte Abfragen über intelligenten Storage ("Smart Scan") usw.

Diese Artikelreihe behandelt im Folgenden ausschließlich die mittlere der drei erwähnten Varianten, d.h. Database as a Service als virtuelle Maschine, welche der Einfachkeit halber sowohl im weiteren Verlauf dieser Artikelriehe sowie in vielen Oracle-Dokumenten ohne weitere Differenzierung nur mit dem Oberbegriff Database Cloud Service, kurz DBCS, bezeichnet wird.

Voraussetzungen

Den Zugang zu den Datenbankdiensten in der Oracle Cloud können Sie wahlweise als "Metered Service" (basierend auf einem nutzungsabhängigen Preismodell) oder aber als "Non-metered Service" (im Sinne eines nutzungsunabhängigen Abonnements zu monatlichen Fixpreisen) erwerben. Wenden Sie sich dazu an Ihre(n) Oracle Vertriebsbeauftragte(n) oder den Oracle Store.

Alternativ können Sie zunächst auch nur einen kostenfreien, zeitlich beschränkten Trial-Account über den "Try It"-Knopf auf https://cloud.oracle.com/database erhalten.

Ihre Cloud Ressourcen sind organisatorisch alle mit der "Identity Domain" verknüpft, deren Namen sie bei der initialen Aktivierung Ihres Cloud Accounts vergeben können. Da Sie diesen zum Login und für administratorische Tätigkeiten benötigen, sollten Sie hier eine für Sie sinnvolle und leicht zu merkende Buchstaben/Zahlenkombination wählen.

Außerdem benötigen Sie neben einem Browser noch einen SSH-Client (dazu gleich mehr) sowie einen beliebigen Datenbank-Client (z.B. Oracle SQLDeveloper.)

Technische Vorarbeiten (einmalig)

Der Zugriff auf die DBCS Datenbanken ist grundsätzlich zum einen über die klassischen Zugriffsmethoden wie z.B. SQL*Net möglich, zum anderen aber auch direkt auf Systemebene über das Einloggen in die VM welche die Datenbank beherbergt. Aus Sicherheitsgründen ist letzteres nur über eine mittels Public & Private Key verschlüsselte SSH Verbindung möglich. Außerdem sind initial außer SSH alle anderen Netzwerk-Ports der VM gesperrt.

[Update Hinweis: Der Wizard zum Erzeugen von DBCS-Instanzen erlaubt mittlerweile auch, neue SSH-Schlüsselpaare zu erzeugen. Sollten Sie diese Fähigkeit nutzen wollen oder bereits ein Schlüsselpaar besitzen, können Sie den folgenden Abschnitt überspringen.]

Exkurs: SSH Schlüsselpaare

Wer sich bisher ausschließlich mit Username/Passwort auf Datenbankservern eingeloggt hat wird sich an dieser Stelle vielleicht fragen, was es mit den Begriffen "Private Key" und "Public Key" im Kontext von SSH auf sich hat.
Vereinfacht gesagt handelt es sich hierbei um zwei "Hälften" eines Schlüssels: Der Private Key ist geheim und verbleibt ausschließlich in Ihrem Besitz, wohingegen der Public Key frei an mögliche Kommunikationspartner bzw. Gegenstellen verteilt werden kann, da er keine Rückschlüsse auf den Private Key erlaubt. Beim SSH-Schlüssel-basierten Login wird also nicht nur die Verbindung verschlüsselt, sondern durch den auf dem Server hinterlegten Schlüssel auch sichergestellt, dass nur der Inhaber des dazu passenden Private Keys sich einloggen kann.

Daraus folgt, dass man zunächst ein solches SSH Schlüsselpaar erzeugen muss, da sonst gar keine DBCS Instanz angelegt werden kann. Unter Windows kann man hierzu z.B. das zum grafischen SSH-Client "PuTTY" gehörende "PuTTY Key Generator" (PuTTYgen) verwenden. Unter Linux und MacOS wird man eher auf das meist ohnehin schon installierte Kommandozeilentool "ssh-keygen" zurückgreifen. Die genaue Vorgehensweise entnehmen sie bitte der Dokumentation.
Bei Verwendung des PuTTY Key Generators sollte das Fenster nach erfolgreichem Erzeugen des Schlüssels in etwa so aussehen:


Der rot markierte Bereich stellt Ihren Public Key im OpenSSH-Format dar. Achten Sie wie in der Dokumentation beschrieben darauf, nicht nur den angezeigten, sondern den kompletten Inhalt des Felds in einen Texteditor zu kopieren und diesen ohne weitere Zeichen oder Zeilenumbrüche abzuspeichern. Dies resultierende Datei ist auch diejenige, welche wir gleich zum Erzeugen einer DBCS Instanz verwenden.

Nicht zwingend erforderlich, aber sehr empfehlenswert:

  • Die Vergabe einer sog. Passphrase für Ihren Key. Dieses Passwort schützt Ihren Key vor der Verwendung durch Unbefugte.
  • Die Vergabe einer sinnvollen Bezeichnung im Kommentarfeld (z.B. mit Ihrem Namen oder dem Ihres Projekts / Ihres Servers), damit Sie den Schlüssel ggf. auch nach längerer Zeit noch "wiedererkennen". Das gleiche gilt natürlich sinngemäß auch für die Wahl des Dateinamens.

Vergessen Sie nicht Ihren Private Key ebenfalls abzuspeichern, und bewahren Sie diesen sicher auf, da Sie ohne diesen KEINEN Zugang zur Betriebssystem-Ebene Ihrer DBCS Instanz haben!

Erstellen einer DBCS / Database as a Service Instanz

Hat man die oben genannten einmaligen technischen Vorarbeiten erledigt, geht das Beantragen einer neuen DBCS Instanz sehr einfach mittels eines mehrstufigen Wizards, der sich nach Klick auf "create instance" in der Database Cloud Service Console öffnet.
Die ersten drei Schritte dieses Wizards sind weitgehend selbsterklärend:

  • Sie wählen zunächst die DBCS Variante die Sie erzeugen möchten. Empfehlenswert ist immer die Variante "mit Cloud Tooling", also einigen von Oracle bereits in der VM installierten sowie in der Cloud-Oberfläche bereitgestellten Werkzeugen für z.B. Backup und Patching. Diese trägt keinen Zusatz "Virtual Image" hinter dem Namen. (Die "Virtual Image" Variante erfordert außerdem die Installation und Konfiguration der Datenbank von Hand.)
    Außerdem wählen Sie auf dieser Seite die Abrechnungsfrequenz (stündlich oder monatlich)
  • Im nächsten Schritt entscheiden Sie sich für ein Release (11.2.0.4 oder 12.1.0.2 stehen derzeit zur Auswahl)
  • Im dritten Schritt geht es um die Wahl einer Datenbank Edition bzw. eines Bundles an Datenbankoptionen. Für Oracle 12c z.B. stehen neben der "reinen" Enterprise Edition außerdem noch die Bundles "Enterprise Edition – High Performance" sowie "Enterprise Edition – Extreme Performance" zur Verfügung. Letztere ermöglicht die Nutzung aller DB Optionen, die vorletzte hingegen schließt unter anderem RAC aus. (Die verfügbaren Editions/Bundles und deren Konditionen erfahren Sie vom Oracle Vertrieb oder auf der entsprechenden Seite von cloud.oracle.com.

Interessant wird es nun im vierten und wichtigsten Schritt des Wizards:



Hier vergibt man unter "Service Configuration" zunächst einen Namen und eine optionale Beschreibung für die zu erstellende DBCS Instanz.

Hinweis: In diesem Zusammenhang ist es wichtig zu verstehen, dass die Begriffe "Service" und "Instance" sich hier wie auch meist generell im DBCS-Umfeld auf das "Gesamtkonstrukt" beziehen. D.h. es geht nicht um die "Database Instance" oder den "Database Service" im klassischen Sinne, sondern um die VM in der Datenbank läuft. Man vergibt hier also keine Oracle SID, sondern den Namen der VM (welcher gleichzeitig auch der Hostname wird.)

Außerdem entscheidet man sich für ein "Compute Shape" – letztlich eine Bezeichnung für eine vordefinierte Größe der VM, bestehend aus einer bestimmten Menge RAM und Rechenleistung. Letztere wird in OCPUs gemessen. Diese abstrakte Metrik wird lediglich deshalb verwendet, um unabhängig von den konkret in der Cloud verwendeten CPUs zu sein. Letztlich entspricht eine OCPU einem Core einer Intel Xeon CPU (mit eingeschaltetem Hyperthreading), also zwei Threads/virtuellen CPUs.
Im letzten Feld der DBCS Instanz-Konfiguration wird nun der zuvor von Ihnen erzeugte SSH Public Key hochgeladen. (Wahlweise können Sie diesen auch per Copy&Paste einfügen, sollte er noch in Ihrer Zwischenablage sein.)

Unter "Database Configuration" findet man Felder für die Eigenschaften der eigentlichen Datenbank: Neben der SID für die Oracle Datenbankinstanz und (im Falle von 12c) dem Namen der darin zu erzeugenden Pluggable Database (PDB) wird hier die Menge an (Netto-) Speicherplatz eingestellt, den man für die Datenbank benutzen möchte. Das hier ebenfalls festzulegende "Administration Passwort" gilt gewissermaßen als "Masterkennwort" sowohl für die Datenbank (SYS und SYSTEM) als auch für das Login in diverse Administrationstools der DBCS Instanz. Stellen Sie sicher dass es den beim Klick auf das Fragezeichen-Symbol erscheinenden Regeln genügt, und merken Sie es sich gut.
Rechts unter "Backup and Recovery Configuration" wird eingestellt, wie das automatisch konfigurierte Backup funktionieren soll.
Zur Wahl stehen nebem dem kompletten Verzicht ("None") die beiden Optionen "Block Storage only" sowie "Both Cloud Storage and Block Storage". Im letzteren Fall wird das Backup so konfiguriert, dass nur die letzten sieben Tage an RMAN Backups in der VM selbst vorgehalten werden, alle älteren Backups werden in den "Database Backup Service" (ebenfalls ein Plattform-Dienst der Oracle Cloud) ausgelagert.
Um den Rahmen dieses ersten Artikelteils nicht zu sprengen wird die Konfiguration dieses Features in einem weiteren Artikel beschrieben. Wählen Sie daher hier "None".

Last but not least können Sie sich rechts unten außerdem durch Klick auf die entsprechende Checkboxen, ob sie eine zusätzliche PDB mit Demo-Daten installiert bekommen und ob Sie statt einer Single Instance Datenbank einen Zwei-Knoten-RAC erzeugen wollen.
Für letzteres müssen Sie allerdings zum einen im vorigen Screen "Enterprise Edition Extreme Edition" als Bundle ausgewählt haben, zum anderen muss die eingestellte VM Größe ("Shape Size") mindestens vier OCPUs (bei Trials: zwei OCPUs) entsprechen.

Nach einem letzten Klick auf "Next" wird eine Zusammenfassung angezeigt, deren Bestätigung dann zum Starten des Provisionierungsvorgangs Ihrer Cloud Datenbank führt.
In der Database Cloud Service Console können Sie jederzeit erkennen, ob die Provisionierung noch läuft oder ob die DBCS Instanz bereits fertig ist.

Überblick über die erzeugte DBCS Instanz

Sobald der Provisionierungsvorgang abgeschlossen ist, können Sie durch Klick auf den Namen Ihrer soeben erzeugten DBCS Instanz eine Detailseite erreichen. Auf dieser sehen sie u.a. deren IP-Adresse und die Connect-Informationen der darin laufenden Datenbank:

Neben den offensichtlichen Informationen die Sie bereits im Erstellungsdialog gesehen haben (wie z.B. die Namen der Datenbank sowie der VM), finden Sie dort auch die zugewiesene Public IP-Adresse sowie den Connect String, mit dem Sie sich von beliebigen Datenbank-Clients aus zu Ihrer Datenbank verbinden können. "Out-of-the-box" ist dies jedoch aufgrund der bereits eingangs erwähnten Sicherheitseinstellungen nicht möglich. Wie Sie dennoch möglichst einfach auch ohne Konfigurationsänderungen Ihrer Datenbankcloud-Instanz mit dieser arbeiten können, ist Thema des nächsten Artikels.

Auch weitere Details und Nutzungsmöglichkeiten (wie z.B. die Konfiguration für das automatische Backup) werden zukünftig in separaten Artikeln behandelt.

Weitere Informationen zum Thema:

Zurück zum Anfang des Artikels

Zurück zur Community-Seite