Database 23c

Oracle Database 23c liefert die umfassendste und einfachste konvergierte Datenbank für Entwickler, die neue Microservice-, Graph-, Dokumenten- und relationale Anwendungen erstellen möchten.

Jede Woche zeigen wir Ihnen ein neues Feature von Oracle Database 23c mit Beispielen, sodass Sie schnell loslegen können. Speichern Sie diese Seite und schauen Sie jede Woche vorbei, um neue Funktionen kennenzulernen.

Besondere Funktion

Frohe Feiertage!

Zum Abschluss des Jahres 2023 finden Sie hier eine Zusammenfassung der neuen Funktionen in Oracle Database 23c, die wir im Laufe des Jahres hervorgehoben haben. Wenn Sie noch keine Gelegenheit hatten, unsere neueste Version der Oracle Database auszuprobieren – vor allem, wenn Sie Entwickler sind –, sehen Sie sich die verschiedenen Optionen hier oder unter oracle.com/database/free an.

Blockchain-Tabellen

Blockchain und unveränderliche Tabellen, die seit der Veröffentlichung von Oracle Database 19c verfügbar sind, verwenden kryptosichere Methoden, um Daten vor Manipulation oder Löschung durch externe Hacker und betrügerische oder kompromittierte Insider zu schützen. Dazu gehören Nur-Einfüge-Einschränkungen, die Aktualisierungen oder Löschungen (auch durch DBAs) verhindern, kryptografische Hash Chains zur Überprüfung, signierte Tabellen-Digests zur Erkennung groß angelegter Rollbacks und die Signierung eingefügter Zeilen durch Endbenutzer mithilfe ihrer Private Keys. Oracle Database 23c führt viele Verbesserungen ein, darunter Unterstützung für logische Replikation über Oracle GoldenGate und fortlaufende Upgrades mit Active Data Guard, Unterstützung für verteilte Transaktionen mit Blockchain-Tabellen, effizientes partitionsbasiertes Massenlöschen für abgelaufene Zeilen und Performanceoptimierungen für Einfügungen/Commits.

Dieses Release führt außerdem die Möglichkeit ein, Spalten hinzuzufügen/zu entfernen, ohne die kryptografische Hash-Verkettung, benutzerspezifische Ketten und Tabellen-Digests für gefilterte Zeilen, die Delegate Signing-Funktion und die Datenbank-Gegensignierung zu beeinträchtigen. Außerdem erweitert es die kryptosichere Datenverwaltung auf reguläre Tabellen, indem es eine Prüfung historischer Änderungen an einer Nicht-Blockchain-Tabelle über ein Flashback-Archiv ermöglicht, das für die Verwendung einer Blockchain-Verlaufstabelle definiert ist.

Diese Funktionen eignen sich hervorragend für integrierte Audit-Trail- oder Journaling-Anwendungsfälle. Sie können für Finanzbücher, Zahlungshistorien, die Verfolgung gesetzlicher Vorschriften, Rechtsprotokolle und alle Daten verwendet werden, die Vermögenswerte darstellen, bei denen Manipulationen oder Löschungen erhebliche rechtliche, rufschädigende oder finanzielle Folgen haben könnten.



Boolescher Datentyp

Oracle Database unterstützt jetzt den ISO SQL-konformen booleschen Datentyp. Damit können Sie True- und False-Werte in Tabellen speichern und boolesche Ausdrücke in SQL-Anweisungen verwenden. Der boolesche Datentyp standardisiert die Speicherung von Ja- und Nein-Werten und erleichtert die Migration zu Oracle Database.



Asynchrone Programmierung von Datenbanktreibern und Pipelining

Mit Oracle Database 23c ermöglicht die Pipelining-Funktion es .NET-, Java- und C/C++-Anwendungen, mehrere Anfragen an die Datenbank zu senden, ohne auf die Antwort des Servers warten zu müssen. Oracle Database stellt diese Anfragen in eine Warteschlange und verarbeitet sie nacheinander, sodass die Client-Anwendungen weiterarbeiten können, bis sie über den Abschluss der Anfragen informiert werden. Diese Verbesserungen sorgen für ein besseres Nutzererlebnis, eine verbesserte Reaktionsfähigkeit datengesteuerter Anwendungen, eine durchgängige Skalierbarkeit, die Vermeidung von Leistungsengpässen und eine effiziente Ressourcennutzung auf Server- und Client-Seite.

Damit die Client-Anfrage sofort zurückkommt, benötigt Oracle Database Pipelining eine asynchrone oder reaktive API in .NET-, Java- und C/C++-Treibern. Diese Mechanismen können für Oracle Database mit oder ohne Database Pipelining verwendet werden.

Bei Java bietet Oracle Database 23c die Reactive Extensions in Java Database Connectivity (JDBC), Universal Connection Pool (UCP) und den Oracle R2DBC-Treiber. Außerdem werden die virtuellen Java-Threads im Treiber (Project Loom) sowie die Reactive Streams-Bibliotheken wie Reactor, RxJava, Akka Streams, Vert.x und weitere unterstützt.



DB_DEVELOPER_ROLE

Oracle Database 23c enthält die neue Rolle DB_DEVELOPER_ROLE, die einem Anwendungsentwickler alle erforderlichen Berechtigungen zum Entwickeln, Implementieren, Debuggen und Bereitstellen von Anwendungen in Oracle Databases bietet. Durch die Verwendung dieser Rolle müssen Administratoren nicht mehr erraten, welche Berechtigungen für die Anwendungsentwicklung erforderlich sein könnten.





Direkte Joins für UPDATE- und DELETE-Anweisungen

Mit Oracle Database können Sie jetzt die Zieltabelle in UPDATE- und DELETE-Anweisungen mithilfe der FROM-Klausel mit anderen Tabellen verknüpfen. Diese anderen Tabellen können die geänderten Zeilen begrenzen oder die Quelle neuer Werte sein. Direkte Joins erleichtern das Schreiben von SQL zum Ändern und Löschen von Daten.



Fast Ingest-Verbesserungen

Wir haben den Memoptimized Rowstore Fast Ingest mit Unterstützung für Partitionierung, komprimierte Tabellen, Fast Flush mit direkten Schreibzugriffen und direktem In-Memory-Spaltenspeicher-Populationsunterstützung erweitert. Dank dieser Verbesserungen lässt sich die Funktion Fast Ingest nun in mehr Situationen einsetzen, in denen eine schnelle Datenaufnahme erforderlich ist. Oracle Database bietet jetzt mehr Unterstützung für Anwendungen, die eine schnelle Dateneingabe erfordern. Daten können in dieselbe Datenbank aufgenommen und verarbeitet werden. Auf diese Weise verringert sich der Bedarf an speziellen Ladeumgebungen und damit auch die Komplexität und Datenredundanz.



Grafana-Beobachtbarkeit

Oracle baut seine Cloud-native- und Kubernetes-Unterstützung mit dem neuen Observability Exporter für Oracle Database weiter aus. Dieser ermöglicht es Kunden, Datenbank- und Anwendungsmetriken einfach in das branchenübliche Prometheus-Format zu exportieren und Grafana-Dashboards zu erstellen, um die Leistung ihrer Oracle Databases und -Anwendungen zu überwachen.



GROUP BY-Spaltenalias

Sie können jetzt Spaltenalias oder SELECT-Elementpositionen in GROUP BY-, GROUP BY CUBE-, GROUP BY ROLLUP- und GROUP BY GROUPING SETS-Klauseln verwenden. Außerdem unterstützt die HAVING-Klausel ebenfalls Spaltenalias. Diese neuen Database 23c-Erweiterungen erleichtern das Schreiben von GROUP BY- und HAVING-Klauseln, was SQL-Abfragen viel lesbarer und wartbarer macht und gleichzeitig eine bessere Portabilität des SQL-Codes ermöglicht.



IF [NOT] EXISTS

Das Erstellen, Ändern und Löschen von DDL-Objekten in Oracle Database unterstützt jetzt die Syntaxmodifikatoren IF EXISTS und IF NOT EXISTS. Dadurch können Sie steuern, ob eine Fehlermeldung ausgelöst werden soll, wenn ein bestimmtes Objekt vorhanden ist bzw. fehlt. So können Sie die Fehlerbehandlung in Skripten und durch Anwendungen vereinfachen.



INTERVAL-Datentyp-Aggregationen

Oracle Database 23c erleichtert Entwicklern die Berechnung von Summen und Durchschnittswerten über INTERVAL-Werte. Mit dieser Erweiterung können Sie jetzt INTERVAL-Datentypen an die Aggregat- und Analysefunktionen SUM und AVG übergeben.



JavaScript Stored Procedures

MLE-(Multilingual Engine-)Modulaufrufe ermöglichen es Entwicklern, in Modulen gespeicherte JavaScript-Funktionen aus SQL und PL/SQL aufzurufen. In PL/SQL geschriebene Aufrufspezifikationen verknüpfen JavaScript mit PL/SQL-Codeeinheiten. Mit diesem Feature können Entwickler JavaScript-Funktionen überall verwenden, wo PL/SQL-Funktionen aufgerufen werden.



JSON-Binärdatentyp

Der JSON-Datentyp ist ein für Oracle optimiertes binäres JSON-Format namens OSON. Es wurde für eine schnellere Abfrage- und DML-Leistung in der Datenbank und in Datenbank-Clients ab Release 21c entwickelt.



JSON Relational Duality-Ansichten

JSON Relational Duality, eine in Oracle Database 23c vorgestellte Innovation, verbindet die relationalen mit den Dokumentdatenmodellen, um das Beste aus beiden Welten bereitzustellen. Entwickler können Anwendungen sowohl im relationalen als auch im JSON-Paradigma mit einer Single Source of Truth erstellen und von den Stärken beider Modelle profitieren. Außerdem werden Daten einmal gespeichert, können aber mit beiden Ansätzen aufgerufen, geschrieben und geändert werden. Entwickler profitieren von ACID-kompatiblen Transaktionen und Gleichzeitigkeitskontrollen, was bedeutet, dass sie keine Kompromisse mehr zwischen komplexen objektrelationalen Mappings oder Dateninkonsistenzproblemen eingehen müssen.



JSON Schema

Oracle Database unterstützt JSON zur Speicherung und Verarbeitung Schema-flexibler Daten. Mit Oracle Database 23c unterstützt Oracle Database nun JSON Schema, um die Struktur und die Werte von JSON Daten zu validieren. Der SQL-Operator IS JSON wurde erweitert, um ein JSON Schema zu akzeptieren. Zudem wurden verschiedene PL/SQL-Funktionen hinzugefügt, um JSON zu validieren und Datenbankobjekte wie Tabellen, Ansichten und Typen als JSON-Schema-Dokumente zu beschreiben.

JSON-Daten sind standardmäßig schemalos und bieten somit Flexibilität. Möglicherweise möchten Sie jedoch sicherstellen, dass JSON-Daten eine bestimmte Struktur und Typisierung aufweisen. Genau das kann über die branchenübliche JSON Schema-Validierung erfolgen.

Zu JSON Schema beitragen
Oracle leistet einen aktiven Beitrag zu JSON Schema, einem Open-Source-Projekt zur Standardisierung einer JSON-basierten deklarativen Sprache, mit der Sie JSON-Dokumente mit Anmerkungen versehen und validieren können. Derzeit befindet sich die Sprache in der Request for Comments-(RFC-)Phase.



Kafka-APIs

Oracle Database 23c bietet eine noch detailliertere Kompatibilität für Apache Kafka-Anwendungen mit Oracle Database. Dieses neue Feature ermöglicht eine einfache Migration von Kafka-Java-Anwendungen zu Transactional Event Queues (TxEventQ). Kafka-Java-APIs können jetzt eine Verbindung zum Oracle Database-Server herstellen und TxEventQ als Messaging-Plattform verwenden.

Entwickler können eine vorhandene Java-Anwendung, die Kafka nutzt, einfach mit dem JDBC-Thin-Treiber auf Oracle Database migrieren. Und mit der clientseitigen Bibliotheksfunktion von Oracle Database 23c können Kafka-Anwendungen jetzt eine Verbindung zur Oracle Database anstelle eines Kafka-Clusters herstellen und die Messaging-Plattform von TxEventQ auf transparente Weise nutzen.



Sperrfreie Spaltenwertreservierungen

Mit Lock-Free Reservations können gleichzeitige Transaktionen fortgesetzt werden, ohne dass sie bei Aktualisierungen stark aktualisierter Zeilen blockiert werden. Lock-Free Reservations werden in den Zeilen gehalten, anstatt sie zu sperren. Das Feature überprüft, ob die Aktualisierungen erfolgreich sein können, und verschiebt die Aktualisierungen bis zur Commit-Zeit der Transaktion. Durch Lock-Free Reservations werden die Benutzererfahrung und Parallelität bei Transaktionen verbessert.



MongoDB-kompatible API

Mit der Oracle Database API für MongoDB können Entwickler weiterhin die Tools und Treiber von MongoDB in Verbindung mit einer Oracle Database nutzen und erhalten gleichzeitig Zugriff auf die Multimodell-Funktionen und die selbstgesteuerte Datenbank von Oracle. Kunden können MongoDB-Workloads auf Oracle Cloud Infrastructure (OCI) ausführen. Oft sind nur wenige oder gar keine Änderungen an bestehenden MongoDB-Anwendungen erforderlich – Sie müssen lediglich die Verbindungszeichenfolge ändern.

Die Oracle Database API für MongoDB ist Teil der standardmäßigen Oracle REST Data Services. Sie ist vorkonfiguriert und wird als Teil der Oracle Autonomous Database vollständig verwaltet.



Operative Eigenschaftsdiagramme

Oracle Database bietet native Unterstützung für Eigenschaftsdiagramm-Datenstrukturen und Diagrammabfragen. Wenn Sie Flexibilität beim Erstellen von Diagrammen in Verbindung mit Transaktionsdaten, JSON, räumlichen Daten und anderen Datentypen suchen, sind Sie bei uns genau richtig. Entwickler können jetzt ganz einfach Diagrammanwendungen mit SQL erstellen, indem sie vorhandene SQL-Entwicklungstools und Frameworks nutzen.



PL/SQL JSON-Konstruktor-Unterstützung für Aggregattypen

Der PL/SQL-JSON-Konstruktor wurde so erweitert, dass er eine Instanz eines entsprechenden PL/SQL-Aggregattyps akzeptiert und ein JSON-Objekt oder einen Array-Typ mit den Daten des Aggregattyps zurückgibt.

Der PL/SQL-Operator JSON_VALUE wurde so erweitert, dass seine Rückgabeklausel einen Typnamen akzeptieren kann, der den Typ der Instanz definiert, die der Operator zurückgeben soll. Die Unterstützung von JSON-Konstruktoren für Aggregat-Datentypen rationalisiert den Datenaustausch zwischen PL/SQL-Anwendungen und Sprachen, die JSON unterstützen.



RETURNING INTO-Klausel

Die RETURNING INTO-Klausel für INSERT-, UPDATE- und DELETE-Anweisungen wurde erweitert, um alte und neue Werte zu melden, die von der jeweiligen Anweisung betroffen sind. Dadurch können Entwickler dieselbe Logik für jeden dieser DML-Typen verwenden, um Werte vor und nach der Ausführung einer Anweisung zu erhalten. Alte und neue Werte sind nur für UPDATE-Anweisungen gültig. INSERT-Anweisungen melden keine alten Werte, und DELETE-Anweisungen melden keine neuen Werte.

Die Möglichkeit, alte und neue Werte, die von INSERT-, UPDATE- und DELETE-Anweisungen betroffen sind, als Teil der Ausführung des SQL-Befehls zu erhalten, bietet Entwicklern einen einheitlichen Ansatz zum Lesen dieser Werte und reduziert den Arbeitsaufwand für die Datenbank.



Schemaberechtigungen

Oracle Database unterstützt jetzt zusätzlich zu den bestehenden Objekt-, System- und Verwaltungsrechten auch Schemaberechtigungen. Diese Funktion steigert die Sicherheit, indem sie die Autorisierung für Datenbankobjekte vereinfacht, um das Least-Privilege-Prinzip besser umzusetzen und das Rätselraten darüber, wer worauf Zugriff haben sollte, zu vermeiden.



SELECT ohne FROM-Klausel

Sie können jetzt Abfragen mit reinen SELECT-Ausdrücken ohne FROM-Klausel ausführen. Diese neue Funktion verbessert die Portabilität von SQL-Code und die Benutzerfreundlichkeit für Entwickler.



SQL-Makros

Erstellen Sie SQL-Makros, um gängige SQL-Ausdrücke und -Anweisungen in wiederverwendbare, parametrisierte Konstrukte umzuwandeln, die in anderen SQL-Anweisungen verwendet werden können. SQL-Makros können skalare Ausdrücke sein, die typischerweise in SELECT-Listen sowie in WHERE-, GROUP BY- und HAVING-Klauseln verwendet werden. SQL-Makros können zudem verwendet werden, um Berechnungen und Geschäftslogik zu verkapseln, oder sie können Tabellenausdrücke sein, die normalerweise in einer FROM-Klausel verwendet werden. Im Vergleich zu PL/SQL-Konstrukten können SQL-Makros die Leistung verbessern. SQL-Makros steigern die Produktivität der Entwickler, vereinfachen die gemeinsame Entwicklung und verbessern die Codequalität.



SQL Analysis Report

Diese Woche widmen wir uns dem SQL Analysis Report, einer benutzerfreundlichen Funktion, die Entwicklern hilft, bessere SQL-Anweisungen zu schreiben. Der SQL Analysis Report berichtet über häufige Probleme mit SQL-Anweisungen, insbesondere über solche, die zu einer schlechten SQL-Leistung führen können. Der Report ist in DBMS_XPLAN und SQL Monitor verfügbar.



SQL-Firewall

Verwenden Sie die SQL Firewall, um Anomalien zu erkennen und SQL-Injection-Angriffe zu verhindern. Die SQL Firewall prüft das gesamte SQL, einschließlich der Sitzungskontextinformationen wie IP-Adresse und Betriebssystembenutzer. Die in den Datenbankkern eingebettete SQL Firewall protokolliert und blockiert (falls aktiviert) unbefugtes SQL und stellt so sicher, dass sie nicht umgangen werden kann. Durch die Durchsetzung einer Zulässigkeitsliste für SQL und genehmigte Sitzungskontexte kann die SQL Firewall viele Zero-Day-Angriffe verhindern und das Risiko des Diebstahls oder Missbrauchs von Anmeldeinformationen verringern.



Table Value Constructor

Die SQL-Engine von Oracle Database unterstützt jetzt eine VALUES-Klausel für mehrere Anweisungstypen. So können Sie Datenzeilen im Handumdrehen materialisieren, indem Sie sie mit der neuen Syntax angeben, ohne auf bestehende Tabellen zurückzugreifen. Oracle Database 23c unterstützt die VALUES-Klausel für die SELECT-, INSERT- und MERGE-Anweisungen. Die Einführung der neuen VALUES-Klausel erlaubt es Entwicklern, weniger Code für Ad-hoc-SQL-Befehle zu schreiben, was zu einer besseren Lesbarkeit bei weniger Aufwand führt.



Annotation zur Nutzung

Mit Annotationen können Sie Metadaten zu Datenbankobjekten speichern und abrufen. Dabei handelt es sich um Freitextfelder, mit denen Sie Anwendungen Geschäftslogik oder Benutzeroberflächen anpassen können. Annotationen sind Name/Wert-Paare oder einfach nur Namen. Sie helfen Ihnen, Datenbankobjekte in allen Anwendungen auf die gleiche Weise zu verwenden. Dies sorgt für eine einfachere Entwicklung und eine bessere Datenqualität.



Usage Domains

Usage Domains (manchmal auch SQL-Domänen oder Application Usage Domains genannt) sind hochrangige Wörterbuchobjekte, die als leichtgewichtige Typmodifikatoren fungieren und die beabsichtigte Datennutzung für Anwendungen zentral dokumentieren. Usage Domains können verwendet werden, um die Datennutzung zu definieren und Vorgänge zu standardisieren, sodass eine Reihe von Check Constraints, Anzeigeeigenschaften, Ordnungsregeln und andere Nutzungseigenschaften gekapselt werden können – ohne dass Metadaten auf Anwendungsebene erforderlich sind.

Usage Domains für eine oder mehrere Spalten in einer Tabelle ändern den zugrundeliegenden Datentyp nicht und können daher auch zu bestehenden Daten hinzugefügt werden, ohne dass Anwendungen zusammenbrechen oder Portabilitätsprobleme entstehen.