Info2soft verwendet Cookies, um Ihnen ein besseres und angenehmeres Surferlebnis auf unserer Website zu ermöglichen. Datenschutzerklärung
Wird geladen...
Das Erstellen einer neuen Oracle-Datenbank unterscheidet sich deutlich von der Einrichtung einer Datenbank unter MySQL oder PostgreSQL. Bei Oracle umfasst die Datenbank die physische Speicherstruktur, Hintergrundprozesse, Steuerdateien, Redo-Logs, System-Tabellenräume sowie interne Metadaten, die die gesamte Instanz betreiben.
Aus diesem Grund erfordert die Erstellung einer Oracle-Datenbank mehr Planung und Konfiguration als ein einfacher Befehl CREATE DATABASE bei anderen Datenbanksystemen.
Vor der praktischen Umsetzung: Wenn Sie lediglich Tabellen in einer vorhandenen Oracle-Instanz erstellen möchten, benötigen Sie diesen Befehl nicht. Bei Oracle ist ein Schema an einen Benutzer gebunden. Mit dem Befehl CREATE USER erhalten Sie einen benannten Arbeitsbereich, der dem entspricht, was MySQL als Datenbank bezeichnet. Die folgenden Schritte richten sich an Datenbankadministratoren, die eine völlig neue Oracle-Instanz von Grund auf bereitstellen.
Die Anweisung CREATE DATABASE initialisiert die physische Dateistruktur auf dem Datenträger: Datendateien, Steuerdateien und Redo-Log-Dateien. Zusätzlich erstellt sie das Datenwörterbuch, das interne Verzeichnis von Oracle, das alle Benutzer, Objekte und Metadaten im System verwaltet.
CREATE DATABASE ist ein einmaliger Vorgang pro Instanz. Nach der Ausführung existiert die Datenbank dauerhaft auf dem Speichermedium. Eine erneute Ausführung auf derselben Instanz erfordert das Löschen aller vorhandenen Dateien und eine vollständige Neuerstellung.
Zum Erstellen einer Oracle-Datenbank müssen Sie vor der Ausführung jeglicher Befehle die Speicherstruktur, Instanzparameter und Architektur planen. Nach Abschluss der Erstellung fallen weitere Konfigurationsschritte an. Im Folgenden werden vier Vorgehensweisen vorgestellt – von manuellen Skripten bis hin zu vollständig verwalteten Cloud-Diensten.
Die gewählte Methode hängt von Ihrer Umgebung und dem gewünschten Grad an Kontrolle ab. Vor der Ausführung einer der Methoden sollten Sie alle nachfolgenden Planungsschritte abgeschlossen haben.
Einige dieser Einstellungen lassen sich nach der Erstellung nicht mehr ändern – planen Sie daher vor dem Ausführen von Befehlen.
Die manuelle Vorgehensweise gewährt Ihnen uneingeschränkte Kontrolle über alle Aspekte der Datenbankstruktur. Für herkömmliche Produktivumgebungen wird sie heute selten verwendet, doch das Verständnis dieses Ablaufs verdeutlicht, welche Vorgänge Tools wie der DBCA im Hintergrund durchführen.
Schritt 1: Festlegen von ORACLE_SID und Erstellen von Verzeichnissen
Legen Sie die Umgebungsvariable ORACLE_SID zur Identifizierung Ihrer Instanz fest und erstellen Sie anschließend die benötigten Verzeichnisse auf Ihrem Server.
export ORACLE_SID=testdb
mkdir -p $ORACLE_BASE/admin/testdb/adump
mkdir -p $ORACLE_BASE/oradata/testdb
Schritt 2: Erstellen und Bearbeiten der Parameterdatei (init<SID>.ora)
Die Initialisierungsdatei definiert das Verhalten der Instanz. Konfigurieren Sie vor dem Start folgende zentrale Parameter:
CREATE DATABASE verwendet wird.Schritt 3: Starten der Instanz im Modus NOMOUNT
Im Modus NOMOUNT liest Oracle die Parameterdatei und initialisiert die Speicherstrukturen, sucht jedoch nicht nach einer vorhandenen Datenbank auf dem Datenträger. Dies ist der erforderliche Zustand vor der Ausführung von CREATE DATABASE.
sqlplus / as sysdba
STARTUP NOMOUNT;
Schritt 4: Ausführen der Anweisung CREATE DATABASE
Prüfen Sie vor der Ausführung die installierte Oracle-Version. Ab Oracle 21c ist der Parameter ENABLE_PLUGGABLE_DATABASE standardmäßig auf TRUE gesetzt; eine manuelle Einstellung auf FALSE führt zu einem Fehler bei der Ausführung von CREATE DATABASE.
Bei Oracle 19c und neuer empfiehlt Oracle die Erstellung einer CDB, indem die Klausel ENABLE PLUGGABLE DATABASE in die Anweisung integriert wird. Nach Erstellung der CDB lassen sich mit CREATE PLUGGABLE DATABASE steckbare Datenbanken hinzufügen.
Die folgende Anweisung erstellt die physische Dateistruktur für eine Oracle-19c-Datenbank.
CREATE DATABASE testdb
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
-- Definiert die Redo-Log-Gruppen für die Transaktionshistorie
LOGFILE GROUP 1 ('/u01/oradata/testdb/redo01.log') SIZE 50M BLOCKSIZE 512,
GROUP 2 ('/u01/oradata/testdb/redo02.log') SIZE 50M BLOCKSIZE 512,
GROUP 3 ('/u01/oradata/testdb/redo03.log') SIZE 50M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
-- Festlegen der unveränderlichen Zeichensätze
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
-- Definieren der obligatorischen System-Tabellenräume
DATAFILE '/u01/oradata/testdb/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/oradata/testdb/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/oradata/testdb/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/u01/oradata/testdb/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/u01/oradata/testdb/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
Schritt 5: Ausführen der Nacherstellungsskripte
Nach Abschluss der Anweisung existieren die Datenbankdateien auf dem Datenträger, jedoch sind die Datenwörterbuchansichten und integrierten Pakete noch nicht verfügbar. Führen Sie diese beiden Skripte mit Berechtigungen als SYSDBA aus:
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
Schritt 6: Sofortige Datensicherung der Datenbank
Führen Sie vor dem Einspielen von Anwendungsdaten eine vollständige Sicherung mit dem Oracle Recovery Manager (RMAN) durch. Dadurch legen Sie einen sauberen Ausgangswiederherstellungspunkt fest.
Der Oracle Database Configuration Assistant (DBCA) ist das offizielle, von Oracle empfohlene Tool zur Erstellung von Datenbanken. Es automatisiert die Erstellung von Parameterdateien, das Einrichten von Verzeichnissen und die Ausführung der Nacherstellungsskripte, sodass nach Abschluss eine vollständig konfigurierte Datenbank vorliegt. Der DBCA kann als grafischer Assistent gestartet oder im Silent-Modus über die Kommandozeile ausgeführt werden.
dbca über die Kommandozeile aus, nachdem Sie die Oracle-Umgebungsvariablen festgelegt haben. Auf Systemen mit grafischer Oberfläche öffnet sich der grafische Assistent.Für automatisierte oder skriptgesteuerte Umgebungen verwenden Sie den Silent-Modus:
dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbName testdb \
-sid testdb \
-characterSet AL32UTF8 \
-sysPassword sys_password \
-systemPassword system_password \
-datafileDestination /u01/oradata \
-storageType FS
Diese Vorgehensweise ist praktisch, wenn Sie eine Test- oder Staging-Umgebung benötigen, die der Struktur und Konfiguration Ihrer Produktivdatenbank entspricht.
In der Oracle Cloud Infrastructure (OCI) müssen Sie keine Erstellungsskripte manuell ausführen. Beide nachfolgenden Varianten stellen die Datenbank über die OCI-Konsole bereit.
DB-Systeme bieten Ihnen einen virtuellen Rechner oder Bare-Metal-Server mit vorinstallierter Oracle-Software. Navigieren Sie zu Oracle-Datenbank → DB-Systeme → DB-System erstellen, wählen Sie Ihre Ausstattung, Speichergröße und Oracle-Datenbankversion aus und konfigurieren Sie die Netzwerkeinstellungen. Sie behalten uneingeschränkten DBA-Zugriff sowohl auf das Betriebssystem als auch auf die Datenbank.
Autonomous Database ist vollständig verwaltet. Oracle kümmert sich automatisch um Patches, Optimierungen und Sicherungen. Navigieren Sie zu Oracle-Datenbank → Autonomous Database → Autonomous Database erstellen, wählen Sie einen Workload-Typ wie Transaction Processing aus und legen Sie Ihre Administratorzugangsdaten fest. Die Datenbank ist innerhalb weniger Minuten betriebsbereit.
Bei der Autonomous Database haben Sie keinen Zugriff auf die Betriebssystemebene oder den DBCA. Sie verbinden sich direkt als Benutzer ADMIN und können sofort Ihre Anwendungsobjekte erstellen.
Die Erstellung einer Oracle-Datenbank umfasst zahlreiche Schritte – ein Tippfehler in der Parameterdatei oder ein fehlendes Verzeichnis kann den gesamten Vorgang stoppen. Im Folgenden werden die häufigsten Fehler und deren Behebung vorgestellt.
Dies ist ein generischer Fehlercode, der stets von einem zweiten, spezifischeren Fehlercode ergänzt wird. Prüfen Sie das Alert-Log, um die eigentliche Ursache zu ermitteln.
$ORACLE_BASE/diag/rdbms///trace/alert_.log
Der Name in Ihrer Anweisung CREATE DATABASE weicht vom Wert DB_NAME in der init.ora-Datei ab. Legen Sie beide Namen identisch fest oder lassen Sie den Namen in der SQL-Anweisung weg, damit der Wert aus der Parameterdatei übernommen wird.
In der SQL-Anweisung wurde kein Datenbankname angegeben, und DB_NAME ist nicht in der Initialisierungsdatei festgelegt. Ergänzen Sie den Eintrag DB_NAME=IhrDatenbankname in Ihrer init.ora-Datei.
Es wurde ein Befehl ausgeführt, bevor die Instanz den erforderlichen Betriebszustand erreicht hat. Verwenden Sie NOMOUNT für eine neue Erstellung oder MOUNT für Wartungsaufgaben.
Die Wahl eines eingeschränkten Zeichensatzes wie WE8ISO8859P1 kann dazu führen, dass die Datenbank später keine mehrsprachigen Daten oder Sonderzeichen speichern kann. Eine nachträgliche Änderung ist nur durch eine vollständige Neuerstellung der Datenbank möglich. Verwenden Sie stets AL32UTF8.
Wenn CREATE DATABASE erfolgreich abgeschlossen wird, aber Abfragen auf USER_TABLES oder DBA_OBJECTS Fehler zurückgeben, haben Sie die Nacherstellungsskripte noch nicht ausgeführt. Führen Sie catalog.sql und catproc.sql als SYSDBA aus, um die Datenwörterbuchansichten und integrierten PL/SQL-Pakete zu erstellen.
Wenn beim Verbindungsaufbau ein „Protocol Adapter Error“ oder ORA-12560 auftritt, ist die Umgebungsvariable ORACLE_SID nicht korrekt gesetzt. Legen Sie diese vor dem Start von SQL*Plus fest:
# Linux
export ORACLE_SID=
# Windows
set ORACLE_SID=
Führen Sie diese Schritte durch, bevor die Datenbank in den Produktivbetrieb übergeht.
Das Erste, was nach der Erstellung einer Datenbank erledigt werden muss, ist die Festlegung einer Sicherungsstrategie. Der native Oracle Recovery Manager (RMAN) ist ein solides Werkzeug, erfordert jedoch Skriptkenntnisse und manuelle Zeitplanung und bietet keine zentrale Verwaltungsoberfläche für mehrere Datenbanken oder Server. Bei Teams mit zahlreichen Oracle-Instanzen summiert sich dieser Betriebsaufwand schnell.
i2Backup ist eine Unternehmenssicherungs-Lösung mit zentraler webbasierter Konsole zum Schutz von Oracle-Datenbanken. Es senkt den Betriebsaufwand für Datenbanksicherungen, ohne die Schutzfunktionen des RMAN zu ersetzen.
Für Teams, die über reine Sicherungen hinausgehen möchten, bietet Info2Soft zudem i2Availability als Lösung für Hochverfügbarkeit und Notfallwiederherstellung sowie i2Stream als Datenbankreplikationswerkzeug mit Unterstützung für Oracle und über 40 weitere Datenbanksysteme. Gemeinsam decken diese Tools das gesamte Spektrum des Datenschutzes von der Sicherung bis zur kontinuierlichen Verfügbarkeit ab.
Das Erstellen einer Oracle-Datenbank ist kein Vorgang mit nur einem einzelnen Befehl. Vor der Ausführung müssen Speicherlayout, Zeichensatz und Instanzparameter geplant werden; nach der Erstellung sind weitere Schritte wie die Ausführung von catalog.sql und catproc.sql erforderlich, bis die Datenbank uneingeschränkt nutzbar ist.
Die passende Methode hängt von Ihrer Ausgangslage ab: Die manuelle Ausführung von CREATE DATABASE bietet maximale Kontrolle und hilft, die Initialisierung einer Oracle-Instanz zu verstehen. Der DBCA ist die von Oracle empfohlene Vorgehensweise für die meisten Produktivumgebungen und übernimmt alle aufwendigen Arbeitsschritte automatisch. Die vorlagenbasierte Klonierung eignet sich hervorragend, wenn Sie eine bewährte Konfiguration über mehrere Umgebungen replizieren möchten. Mit Oracle Cloud entfällt die gesamte Infrastrukturverwaltung für Teams, die keinen Zugriff auf die Betriebssystemebene benötigen.
Unabhängig von der gewählten Methode sollten Sie vor dem Einspielen von Anwendungsdaten eine Sicherung mit Lösungen wie i2Backup von Info2soft erstellen. Ein sauberer Ausgangswiederherstellungspunkt ist die einfachste Absicherung gegen Konfigurationsfehler und frühen Datenverlust.