Oracle (Datenbanksystem)

 

Oracle (Datenbanksystem)

Zur Navigation springenZur Suche springen
Oracle
Logo
Basisdaten
EntwicklerOracle
Erscheinungsjahr1979
Aktuelle VersionLong Term Release 19c (19.11), Innovation Release 21c 
(27. April 2021[1])
BetriebssystemLinuxWindowsSolarisHP-UXAIX
ProgrammierspracheAssemblerspracheCC++Java[2]
KategorieDatenbankmanagementsystem
Lizenzproprietär
deutschsprachigja
www.oracle.com

Oracle Database (auch Oracle Database ServerOracle RDBMS) ist eine Datenbankmanagementsystem-Software des Unternehmens Oracle.

Es können sowohl relationale Daten als auch objektrelationale Datengespeichert werden.

Eigenschaften[Bearbeiten | Quelltext bearbeiten]

Oracle gehört zusammen mit Microsoft SQL Server und IBM Db2 zu den Marktführern im RDBMS-Segment. Im Großrechner-Bereich sind Sun-Fire-Maschinen mit dem Unix-System Solaris oder IBM-Maschinen häufig verwendete Plattformen. Im Midrange-Bereich werden nahezu alle Unix-Systeme unterstützt und eingesetzt, daneben aber auch OpenVMSLinux wurde neben Solaris als strategische Hauptplattform längere Zeit favorisiert und findet sehr starke Verbreitung. Windows wird aufgrund der hohen Verbreitung ebenfalls strategisch unterstützt. Oracle ist laut dem DB-Engines Ranking das populärste Datenbankmanagementsystem.[3]

Das Oracle-Datenbankmanagementsystem kann als Express-Edition (XE) kostenlos genutzt werden. Diese Version ist jedoch stärker eingeschränkt als die entsprechende kostenlose Db2-Version von IBM, weil sie u. a. das Laden von Javaklassen in die Datenbank selbst nicht unterstützt (der JDBC-Treiberzugriff ist jedoch möglich). Zusätzlich gibt es eine Beschränkung von 1 GiB RAM, Nutzung maximal eines CPU-Kerns sowie eine maximale Datenbankgröße von 11 GiB für Anwenderdaten.

Für Studienzwecke ist die Oracle-Datenbank auf der Herstellerseite frei erhältlich. Technische Hemmnisse, wie Lizenz-Serveroder Lizenzschlüssel, sind nicht vorhanden. Auch die anderen Produkte des Unternehmens Oracle stehen dort zur Verfügung.

Mit dem Release 10g wurde die Vision eines Oracle-Grid (siehe auch Grid-Computing) weiter umgesetzt: Auch das kleine „g“ im Release-Namen steht für Grid. Kernstück des Oracle-Grid ist der Aktiv/Aktiv-Cluster, der von Oracle unter dem Namen Real Application Cluster (RAC) vertrieben wird. Oracle bietet seit 10g eine eigene Cluster-Manager-Software unter dem Namen Oracle Cluster Ready Services an. Diese wurde erstmals in 9i zunächst für Linux, später auch für Windows freigegeben. Seit Oracle 10g steht diese für jede von Oracle unterstützte Plattform zur Verfügung. Mit der Buchstabenerweiterung „c“ in der Version 12c wird nach eigener Aussage der Fokus auf Cloud-Produkte betont.[4]

Da SQL nur eine deskriptive Sprache ist, wurde eine proprietäre prozedurale Erweiterung von SQL mit dem Namen PL/SQLentwickelt. PL/SQL steht für Procedural Language / Structured Query Language. PL/SQL-Kommandos können ad hoc als anonyme Blöcke eingegeben werden oder in Form von sogenannten „Stored Procedures“ in der Datenbank abgelegt werden.

Es können XML-Datenstrukturen (XMLDB, XDK) gespeichert werden. Das Speichern nichtrelationaler Daten (Video, Musik, Dokumente, Fax etc.) wird mit BLOBs (binary large objects) und CLOBs (character large objects) unterstützt. Die Indizierungvon zahlreichen nichtrelationalen Datenformaten wird bereits mitgeliefert. Die Erweiterung um eigene programmatische Indizierungen wird unterstützt. Raumbezogene Daten können relational abgelegt werden, räumliche Indizierungen und Abfragen werden unterstützt (Spatial-Option).

Die Standardeinstellung der Isolationsebene einer Oracle-Datenbank ist „Read committed“, d. h. eine Abfrage sieht alle Daten konsistent in dem Zustand, in dem sie zu Beginn der Abfrage festgeschrieben waren. Man kann auch die Isolationsebenen „Serialize“ oder „Read only“ (kein SQL-Standard) für eine Session oder eine Transaktion festlegen. Die anderen beiden im SQL-Standard definierten Isolationsebenen („Read uncommitted“, „Repeatable read“) werden nicht explizit unterstützt. Durch die Speicherung von Rollback-Informationen führen lesende Zugriffe nie zu Sperren der schreibenden Zugriffe (non-blocking reads) und umgekehrt (non-blocking writes).

Comments