Oracle 26ai: Die Datenbank ist kein Sprachmodell

Shownotes

Oracle 26ai: Die Datenbank ist kein Sprachmodell

Die KI sitzt außerhalb, die Datenbank liefert Daten, Suche und Rechteprüfung

Die Folge beginnt mit einer Wette. Aus Oracle 23ai ist Oracle 26ai geworden, und Robert tippt für nächstes Jahr auf SI für Superintelligence. Johannes hält dagegen, kurz vor der Oracle AI World, auf der traditionell Namen geändert werden. Der Einsatz: eine Tüte Gummibärchen. Aufgelöst wird spätestens nächstes Jahr.

Dann die eigentliche Frage des DBAs: Wo steckt in der Datenbank die KI? Robert ordnet ein. Die Datenbank trainiert kein Sprachmodell und ist selbst keins. Sie speichert Vektoren, ruft Sprachmodelle auf und kann kleinere Modelle sogar selbst ausführen. Johannes ergänzt den Punkt, der ihm am wichtigsten ist: Zugriffsrechte, Authentifizierung und Autorisierung bleiben bei der Datenbank. AI Vector Search ist in Oracle 26ai ohne Aufpreis enthalten.

Mit Vektoren wird die Suche praktischer. Wer nach „Kündigung" sucht, findet auch „Vertrag beenden", ohne dass ein Wort übereinstimmt. Mit LIKE oder Stichwörtern braucht man dagegen den exakten Suchbegriff. Oracle 26ai bringt dafür den Datentyp VECTOR mit, zwischen zwei Vektoren lässt sich der Abstand berechnen. Die Embeddings erzeugt entweder ein externes Modell oder ein kleines Modell, das direkt in die Datenbank geladen wird. Ein Vektor ist eine lange Reihe von Gleitkommazahlen, seinen Sinn bekommt er erst durch das Modell, das ihn erzeugt hat. Vergleichen lassen sich deshalb nur Vektoren aus demselben Modell, und schon ein Versionswechsel bedeutet, alle Vektoren neu zu berechnen.

Johannes sieht die Betriebsseite. Bei fast 1000 Dimensionen pro Vektor ist man schnell bei zweistelligen Gigabyte, dazu kommen spezielle Indextypen, die ebenfalls Platz brauchen. Modelle, die in der Datenbank laufen, belasten den Datenbankserver. Vector Search mal eben dazuzunehmen, wird also nicht so einfach.

Damit eine KI die Daten versteht, braucht sie die Bedeutung der Spalten. Bei älteren Anwendungen mit Spaltennamen wie KZ_ST_2 hilft das wenig. Oracle hat dafür Annotations eingeführt: Beschreibungen an Tabellen und Spalten, die jede Anwendung nutzen kann. Auf Johannes' Frage nach deutschen und internationalen Inhalten antwortet Robert, dass mehrsprachig trainierte Modelle auf den Inhalt achten und die Sprache egal ist. Multimodale Modelle verarbeiten sogar Bilder.

In den Cloud-Varianten der Oracle-Datenbank gibt es Select AI. Man schreibt SELECT AI und dahinter die Frage auf Deutsch, die Datenbank lässt ein SQL-Statement erzeugen und führt es aus. Robert hat sich die Funktion für seine lokale Datenbank mit wenigen Zeilen PL/SQL nachgebaut, letztlich ruft er ein Sprachmodell auf und wertet die Antwort aus. An das Modell gehen dabei die Metadaten: Tabellenbeschreibungen und, wenn vorhanden, Annotations. Die Daten selbst bleiben in der Datenbank. Syntaktisch ist das erzeugte SQL heute fast immer korrekt, ob es inhaltlich stimmt, muss man prüfen. Je mehr Kontext das Modell über Spalten und Beziehungen hat, desto besser wird das Ergebnis.

Ergänzung zur Folge: Im Gespräch heißt es, Select AI gebe es aktuell nur in der Cloud. Seit Oracle 26ai für Linux x86-64 on-prem verfügbar ist, läuft Select AI auch dort. Voraussetzung ist, dass die DBMS_CLOUD-Pakete nachinstalliert werden (catclouduser.sql und dbms_cloud_install.sql über catcon.pl). Dazu kommen eine Netzwerk-ACL und ein Credential für den Endpunkt des Sprachmodells. Details stehen im Select AI User's Guide für Oracle 26ai, verlinkt unten.

Das meiste Wissen einer Firma steckt in Dokumenten, Handbüchern und Verträgen. Dafür gibt es RAG, Retrieval Augmented Generation. Dokumente werden in Abschnitte zerlegt, eingebettet und mit einem Vektorindex in der Datenbank abgelegt, das PL/SQL-Paket DBMS_VECTOR_CHAIN übernimmt das. Johannes will sein Oracle-Buch auf diese Weise durchsuchbar machen. Für die Vektorisierung reicht ein kleines Modell auf einer kleinen Grafikkarte, die Daten müssen die Datenbank dafür nicht verlassen. Halluzinationen gibt es weiterhin, bei vorgegebenen Dokumenten aber deutlich weniger. Die Qualität steht und fällt mit dem Zerschneiden in sinnvolle Abschnitte, die sich in der Praxis leicht überlappen. Weil die Quellen angezeigt werden, können Anwender jede Antwort im Originaltext nachlesen.

Zum Schluss geht es um Agenten. Seit gut einem Jahr gibt es das Model Context Protocol (MCP), einen offenen Standard, über den KI-Assistenten Werkzeuge und Datenquellen ansprechen. Oracle stellt mehrere MCP-Server bereit: den SQLcl MCP Server für die lokalen SQLcl-Verbindungen, MCP in ORDS seit Version 26.2 und Managed MCP Server in OCI. Agenten können damit die Datenbank befragen und sogar administrieren. Das muss man allerdings wollen, und Johannes will es definitiv nicht. Für einen Agenten, der DROP TABLE ausführen will, hat der Default Blame Acceptor eine klare Antwort: Ein Agent bekommt wie jeder andere Benutzer die geringstmöglichen Rechte. Für Vector Search reicht Lesezugriff, DML läuft über einen anderen Benutzer, DDL gar nicht. Das ist schlicht saubere Rechtevergabe.

Im Fazit will Johannes RAG mit seinem Buch ausprobieren und sich Agenten ansehen, die ihn im Alltag unterstützen. Robert zeigt seine Beispiele erstmals auf der DOAG 2026 Konferenz + Ausstellung in Nürnberg und sieht in der Vektorisierung die Zukunft der Suche in der Datenbank. Ganz am Ende meldet sich Oliver Pyka mit einem Hinweis der Redaktion: ora2know lädt am 9. November 2026 zur Oracle AI World Nachlese nach Frankfurt ein.

Diese Folge in der Übersicht:

  • Die Datenbank trainiert kein Sprachmodell und ist selbst keins. Sie speichert Vektoren, ruft Modelle auf und lässt Agenten kontrolliert zugreifen.
  • Rechteprüfung, Authentifizierung und Autorisierung bleiben in der Datenbank.
  • AI Vector Search ist in Oracle 26ai ohne Aufpreis enthalten.
  • Der Datentyp VECTOR speichert Embeddings, die Suche läuft über den Abstand zwischen Vektoren.
  • Vektoren sind nur innerhalb desselben Embedding-Modells vergleichbar. Ein Modellwechsel heißt: alles neu berechnen.
  • Vektoren mit fast 1000 Dimensionen und ihre Indizes brauchen schnell zweistellige Gigabyte. Modelle in der Datenbank belasten den Server.
  • Annotations beschreiben Tabellen und Spalten und liefern Sprachmodellen den nötigen Kontext.
  • Mehrsprachig trainierte Modelle arbeiten mit deutschen und internationalen Inhalten gleichermaßen, multimodale Modelle auch mit Bildern.
  • Select AI erzeugt SQL aus natürlicher Sprache. An das Modell gehen Metadaten, die Daten bleiben in der Datenbank.
  • Select AI läuft auch on-prem, wenn DBMS_CLOUD nachinstalliert ist. Ein Eigenbau in PL/SQL ist ebenfalls möglich.
  • RAG mit DBMS_VECTOR_CHAIN: Dokumente zerlegen, einbetten, indizieren, durchsuchen, mit Quellenangabe.
  • Die Qualität von RAG hängt am Chunking. Leicht überlappende Abschnitte haben sich bewährt.
  • Oracle bietet MCP-Server in SQLcl, in ORDS (ab 26.2) und als Managed Service in OCI.
  • Agenten bekommen eigene Benutzer mit minimalen Rechten: Lesen, wo Lesen reicht, DDL gar nicht.

Termine:

Weiterführende Links und Ressourcen:

Beispiele:

-- Vektorsuche mit relationalem Filter
SELECT ticket_id, betreff
  FROM tickets
 WHERE kunde_id = 4711
   AND status = 'OFFEN'
 ORDER BY VECTOR_DISTANCE(embedding,
          VECTOR_EMBEDDING(mein_modell USING 'Drucker druckt nicht' AS data),
          COSINE)
 FETCH FIRST 5 ROWS ONLY;

-- Spalte mit einer Annotation beschreiben
ALTER TABLE kunden MODIFY kz_st_2
  ANNOTATIONS (ADD Beschreibung 'Steuerkennzeichen, 1 = steuerpflichtig');

-- Select AI: erzeugtes SQL anzeigen statt ausführen
EXEC DBMS_CLOUD_AI.SET_PROFILE('VERTRIEB');
SELECT AI showsql wie viel Umsatz hatten wir im letzten Quartal je Region;

Die Podcast-Hosts und Director:

  • Johannes Ahrends: Oracle ACE, DBA, ora2know. Web: carajandb.com
  • Robert Marz: Oracle ACE, IT-Architect, ora2know. Web: robbie.databee.org
  • Oliver Pyka: Oracle ACE, Freiberufler, ora2know. Web: pyka.de

Über O wie Datenbank:

Der deutschsprachige Oracle-Datenbank-Podcast von ora2know. Johannes Ahrends, Robert Marz und Oliver Pyka bringen zusammen über 90 Jahre Oracle-Erfahrung mit und sprechen an jedem ersten und dritten Dienstag im Monat über das, was DBAs, Entwickler und IT-Entscheider wirklich bewegt: Migration, Architektur, neue Features, Betrieb und Strategie rund um die Oracle Datenbank. Praxisnah, meinungsstark und ohne Marketing-Sprech.

Über ora2know:

Wissen teilen, Netzwerk aufbauen. ora2know ist eine unabhängige Community für Oracle-Datenbank-Administratoren und -Entwickler im deutschsprachigen Raum. Unser Ziel ist der praxisnahe Austausch von Wissen und Erfahrungen rund um Oracle Database, Oracle APEX und Oracle AI. Ohne kommerzielle Interessen, getragen von Enthusiasmus und gegenseitiger Hilfe. Ob DBA, Entwickler oder Architekt: ora2know verbindet Oracle-Profis in Deutschland, Österreich und der Schweiz.

Über diese Podcast-Produktion:

Diese Folge ist eine Eigenproduktion von ora2know.

Transkript anzeigen

00:00:00: O wie Datenbank, ein Oracle-Podcast von ora2know.

00:00:12: Robert Marz: Du Johannes, sagen wir, bevor wir loslegen,

00:00:14: Robert Marz: aus Oracle 23ai ist ja Oracle 26ai geworden.

00:00:18: Robert Marz: Meinst du, nächstes Jahr steht ein SI auf der Packung?

00:00:21: Robert Marz: SI für Superintelligence?

00:00:23: Johannes Ahrends: Moin Robert, SI für superintelligente Oracle-Datenbanken.

00:00:26: Johannes Ahrends: Wäre vielleicht ganz sinnig,

00:00:28: Johannes Ahrends: weil Oracle hat ja jetzt gerade die AI World vor der Brust und insofern alle

00:00:32: Johannes Ahrends: anderen ändern ihre Namen und damit wäre das für Oracle auch.

00:00:37: Johannes Ahrends: Aber ich würde die Wette tatsächlich eingehen.

00:00:39: Robert Marz: Na gut, dann schauen wir mal, wie das altert und sprechen uns demnächst wieder.

00:00:43: Robert Marz: Spätestens im nächsten Jahr, würde ich sagen, müssen wir gucken,

00:00:45: Robert Marz: ob es passiert ist, oder?

00:00:46: Johannes Ahrends: Ja, oder früher, aber ich setze eine Tüte Gummibärchen.

00:00:49: Johannes Ahrends: Wie auch immer, ob das nächstes Jahr AI oder SI heißt,

00:00:53: Johannes Ahrends: ich bin DBA und sehe eine Datenbank.

00:00:56: Johannes Ahrends: Wo ist denn überhaupt die KI?

00:00:58: Robert Marz: Naja,

00:00:58: Robert Marz: also die Datenbank trainiert kein Sprachmodell und ist selbst auch kein

00:01:01: Robert Marz: Sprachmodell.

00:01:02: Robert Marz: Aber AI hat schon so ein bisschen in die Datenbank eingezogen.

00:01:04: Robert Marz: Wir können in der Datenbank Vektoren ablegen.

00:01:07: Robert Marz: Das ist ja das Format, wie die großen Sprachmodelle ihr Wissen speichern.

00:01:11: Robert Marz: Und die Datenbank kann sehr gut mit KI umgehen und kann Sprachmodelle aufrufen

00:01:16: Robert Marz: oder auch selber in der Datenbank ausführen.

00:01:18: Johannes Ahrends: Ja, genau.

00:01:19: Johannes Ahrends: Und was ich spannend finde oder was ich sehr wichtig finde,

00:01:22: Johannes Ahrends: gerade in diesem Bereich KI, ist,

00:01:24: Johannes Ahrends: dass die Datenbank natürlich auch für die Zugriffsrechte und die ganzen

00:01:28: Johannes Ahrends: Prüfungen und Autorisierung, Authentifizierung sorgt.

00:01:31: Johannes Ahrends: Das heißt, darum muss ich mir schon mal keine oder weniger Sorgen machen.

00:01:34: Johannes Ahrends: Und diese ganze Vector Search ist ohne Aufpreis und selbst in der Standard

00:01:38: Johannes Ahrends: Edition enthalten.

00:01:39: Johannes Ahrends: Das finde ich auch ganz spannend.

00:01:40: Johannes Ahrends: Aber fangen wir mal mit den Vektoren an.

00:01:43: Johannes Ahrends: Was ist denn eigentlich ein Vektor in diesem Zusammenhang und warum sollte

00:01:46: Johannes Ahrends: ich die überhaupt in meiner Datenbank speichern?

00:01:50: Robert Marz: Wenn wir mit Vektoren arbeiten, die wir in der Datenbank ablegen,

00:01:53: Robert Marz: dann wird auf einmal die Suche viel praktischer.

00:01:55: Robert Marz: Weil LLMs arbeiten ja mit Logik in der Datenbank.

00:01:58: Robert Marz: Und wenn ich jetzt zum Beispiel nach Kündigung oder Vertrag beenden suchen will,

00:02:02: Robert Marz: dann findet ein LLM das.

00:02:04: Robert Marz: Und wenn ich mit LIKE,

00:02:05: Robert Marz: wie das früher war in der Datenbank oder mit sonst Textwörtern suche,

00:02:08: Robert Marz: dann muss ich schon genau wissen, nach was ich möchte.

00:02:10: Robert Marz: Und das ist natürlich total praktisch.

00:02:12: Robert Marz: Dafür hat die Datenbank einen neuen Datentyp eingeführt, nämlich VECTOR.

00:02:16: Robert Marz: Und ich kann zwischen zwei Vektoren den Abstand berechnen und wenn er mir klein

00:02:21: Robert Marz: genug ist, dann ist das ähnlich genug.

00:02:23: Robert Marz: Ob ich die Vektoren in der Datenbank selber berechne oder aber das von einem

00:02:26: Robert Marz: externen Sprachmodell machen lasse, bleibt mir überlassen.

00:02:29: Robert Marz: Auf jeden Fall kann ich auch kleine Sprachmodelle ganz einfach in die Datenbank

00:02:32: Robert Marz: reinladen.

00:02:33: Johannes Ahrends: Okay, das heißt aber im Endeffekt,

00:02:35: Johannes Ahrends: ich muss doch in der Datenbank dann etwas vorhalten dafür für die Vektoren

00:02:39: Johannes Ahrends: oder sind das ganz einfache Strings?

00:02:42: Robert Marz: Die Vektoren sind Zahlenreihen von Float.

00:02:46: Robert Marz: Denen sieht man von außen nicht an, das sind einfach lange Zahlenreihen.

00:02:48: Robert Marz: Sinn kommt durch das Sprachmodell, das sie erzeugt hat, rein.

00:02:51: Robert Marz: Das heißt, ich kann auch nur Vektoren vergleichen,

00:02:54: Robert Marz: die vom gleichen Sprachmodell erzeugt wurden.

00:02:56: Robert Marz: Wenn ich also auch nur eine Versionsänderung mache,

00:02:58: Robert Marz: muss ich alle meine Vektoren neu berechnen.

00:03:01: Robert Marz: Johannes, das klingt ja für Entwickler toll,

00:03:03: Robert Marz: wenn wir jetzt sauberer und schöner suchen können.

00:03:05: Robert Marz: Aber was heißt denn das eigentlich für dich im Betrieb?

00:03:07: Robert Marz: Wie groß werden die Dinger und was macht so ein Vektorindex mit dem Speicher?

00:03:10: Robert Marz: Sicher.

00:03:10: Johannes Ahrends: Ja genau, das ist ein großes Problem bzw. eine Herausforderung,

00:03:14: Johannes Ahrends: dass ich halt, wenn ich Vektoren habe mit fast 1000 Dimensionen,

00:03:18: Johannes Ahrends: da sehr schnell bei zweistelligen Gigabyte-Größen bin,

00:03:22: Johannes Ahrends: die ich dann in der Datenbank brauche.

00:03:24: Johannes Ahrends: Gleiches gilt für die Indizes.

00:03:27: Johannes Ahrends: Es gibt spezielle Index-Typen dafür und auch da muss ich aufpassen,

00:03:31: Johannes Ahrends: dass das alles in der Datenbank passt.

00:03:34: Johannes Ahrends: Das heißt einfach so zu sagen,

00:03:36: Johannes Ahrends: wir haben jetzt AI und wir nehmen jetzt für unsere Anwendung einfach mal

00:03:39: Johannes Ahrends: Vector Search dazu, so einfach wird es nicht werden.

00:03:42: Johannes Ahrends: Dann brauche ich natürlich gegebenenfalls auch noch irgendwelche zusätzlichen

00:03:45: Johannes Ahrends: Modelle,

00:03:46: Johannes Ahrends: die ich laden muss und die auf dem Datenbank-Server mit Verbindung zur

00:03:50: Johannes Ahrends: Datenbank laufen.

00:03:52: Robert Marz: Damit die KI meine Daten versteht, muss sie aber doch auch wissen,

00:03:55: Robert Marz: in welcher Spalte steht was drin.

00:03:57: Robert Marz: Du kennst doch sicher auch so Tabellen mit Spaltennamen wie irgendwelchen

00:04:02: Robert Marz: zweibuchstabigen Kürzeln, KZ_ST_2 oder sowas.

00:04:05: Robert Marz: Woher soll denn die KI wissen, was da drin ist?

00:04:08: Johannes Ahrends: Ja, das ist tatsächlich eine große Herausforderung,

00:04:09: Johannes Ahrends: gerade bei älteren Applikationen.

00:04:11: Johannes Ahrends: Ich hoffe zwar,

00:04:12: Johannes Ahrends: dass bei neuen Applikationen immer richtige Tabellennamen und richtige

00:04:16: Johannes Ahrends: Spaltennamen verwendet werden, aber bei älteren ist das nun mal so.

00:04:20: Johannes Ahrends: Da gibt es eine ganze Menge von.

00:04:21: Johannes Ahrends: Da hat Oracle aber das Thema aufgegriffen,

00:04:24: Johannes Ahrends: was auch allgemeingültig ist und das nennt sich Annotation.

00:04:27: Johannes Ahrends: Das heißt,

00:04:28: Johannes Ahrends: ich kann im Endeffekt für jede Spalte und jede Tabelle Informationen ablegen,

00:04:33: Johannes Ahrends: wofür die denn da sind.

00:04:35: Johannes Ahrends: Und das macht es natürlich einfacher,

00:04:38: Johannes Ahrends: dann in verschiedenen Anwendungen oder bei verschiedenen Abfragen auf die

00:04:42: Johannes Ahrends: gleichen Datenquellen zuzugreifen.

00:04:44: Johannes Ahrends: Aber wenn wir schon bei der Suche sind,

00:04:45: Johannes Ahrends: in den meisten Fällen haben wir Beispiele,

00:04:48: Johannes Ahrends: die mit amerikanischen Zeichen oder mit dem ganzen Text in Englisch

00:04:53: Johannes Ahrends: klarkommen.

00:04:53: Johannes Ahrends: Was ist denn mit deutschen Zeichen oder was ist mit Suche,

00:04:57: Johannes Ahrends: mit deutschsprachigen oder internationalen Inhalten?

00:05:01: Johannes Ahrends: Wir wollen es ja nicht auf Deutschland beschränken.

00:05:03: Robert Marz: Das ist ja der große Vorteil an Sprachmodellen im Allgemeinen.

00:05:06: Robert Marz: Wenn die für alle Sprachen trainiert worden sind, und die meisten sind das ja,

00:05:10: Robert Marz: dann können die auch alle Sprachen verstehen.

00:05:12: Robert Marz: Und denen kommt es auf den Inhalt an,

00:05:14: Robert Marz: denen ist die Sprache tatsächlich total egal.

00:05:15: Robert Marz: Wenn ich mit einem multimodalen Sprachmodell arbeite,

00:05:18: Robert Marz: dann kann das sogar Bilder verstehen,

00:05:20: Robert Marz: dann könnte ich dem sogar ein Bild zum Fraß vorwerfen und es würde damit arbeiten.

00:05:24: Robert Marz: Das ist genau so in der Datenbank,

00:05:26: Robert Marz: wie wir das jetzt vom Umgang mit unseren Chat-Systemen kennen und das macht es

00:05:31: Robert Marz: natürlich relativ einfach,

00:05:31: Robert Marz: wenn ich zum Beispiel auch mal ein Statement generieren möchte.

00:05:34: Robert Marz: In Cloud-Versionen von Oracle-Datenbanken habe ich ja Select AI zum Beispiel zur

00:05:38: Robert Marz: Verfügung.

00:05:38: Robert Marz: Da fange ich nur noch an zu schreiben Select AI und dann in deutscher Sprache,

00:05:42: Robert Marz: was ich dann jetzt abgefragt haben möchte und die Datenbank generiert mir im

00:05:46: Robert Marz: Hintergrund ein Statement und führt das aus.

00:05:48: Johannes Ahrends: Muss ich dann in der Datenbank jetzt nur noch in der Cloud arbeiten?

00:05:52: Johannes Ahrends: Also kann ich das nicht on-premise machen?

00:05:54: Robert Marz: Wenn ich Select AI verwenden möchte, im Moment ja,

00:05:56: Robert Marz: weil das DBMS_CLOUD_AI gibt es aktuell nur für Cloud-Datenbanken.

00:06:00: Robert Marz: Aber das ist ein Feature, was man sich sehr einfach nachbauen kann.

00:06:03: Robert Marz: Ich habe mir das mit ein paar Zeilen PL/SQL-Code gemacht,

00:06:06: Robert Marz: weil letztlich muss ich ja nur ein Sprachmodell aufrufen und die Antwort wieder

00:06:10: Robert Marz: auswerten.

00:06:11: Robert Marz: Wer auf die DOAG kommt oder meine Vorträge kennt,

00:06:14: Robert Marz: in einem meiner nächsten Vorträge habe ich ein schönes Beispiel zu,

00:06:16: Robert Marz: wie das sogar auf meinem Notebook in meiner Datenbank laufen kann.

00:06:19: Johannes Ahrends: Welche Informationen gehen denn an mein Sprachmodell raus?

00:06:22: Johannes Ahrends: Was ist mit meinen Daten?

00:06:23: Johannes Ahrends: Wer garantiert mir denn eigentlich,

00:06:25: Johannes Ahrends: dass das überhaupt ein gültiges SQL oder besser sinnvolles SQL ist?

00:06:29: Robert Marz: Naja, also garantieren, dass das sinnvoll ist,

00:06:31: Robert Marz: Das kann ja natürlich erst mal keiner.

00:06:33: Robert Marz: An das Sprachmodell gehen in der Regel keine Daten, sondern nur die Metadaten.

00:06:37: Robert Marz: In der Variante, wie ich es selber gebaut habe, ist es auch so,

00:06:40: Robert Marz: und so macht es auch Select AI, dass es in dem Prompt die aktuellen Tabellen,

00:06:44: Robert Marz: die im Schema sind, rausschickt, also die Beschreibung der Tabellen.

00:06:47: Robert Marz: Und wenn die Annotations da sind, auch die Annotations,

00:06:51: Robert Marz: also noch ein bisschen Kontext mit dazu, das LLM,

00:06:54: Robert Marz: baut dann daraus eine SQL-Abfrage.

00:06:56: Robert Marz: Syntaktisch kann das das.

00:06:57: Robert Marz: Die sind mittlerweile alle so gut, dass die in der Regel fehlerfrei zurückkommen.

00:07:01: Robert Marz: Ob es logisch stimmt, muss man dann so sehen.

00:07:03: Robert Marz: Im Prinzip muss man sich das vorstellen,

00:07:05: Robert Marz: das LLM arbeitet ein bisschen wie ein Mensch.

00:07:07: Robert Marz: Der fängt ja auch erst mal an, ein Statement zu bauen,

00:07:09: Robert Marz: was nicht immer im ersten Ansatz funktioniert und auch nicht immer die richtigen

00:07:12: Robert Marz: Ergebnisse zurückliefert.

00:07:13: Robert Marz: Deswegen ist es wichtig, dass das LLM Kontext hat und weiß zum Beispiel,

00:07:16: Robert Marz: was in den Spalten drin ist und wie die Spalten miteinander verknüpft sind.

00:07:20: Johannes Ahrends: Es funktioniert sicherlich alles mit Tabellen,

00:07:22: Johannes Ahrends: aber in einer Firma gibt es ja auch weiteres Wissen in Dokumenten,

00:07:26: Johannes Ahrends: Handbüchern, Verträgen.

00:07:27: Johannes Ahrends: Kommt denn da die KI auch ran?

00:07:30: Robert Marz: Ja, sicher, wenn man sie ihr zum Bearbeiten gibt.

00:07:33: Robert Marz: Das heißt, das Thema nennt sich RAG, Retrieval Augmented Generation.

00:07:37: Robert Marz: Ich schmeiße der KI oder dem Sprachmodell die Dokumente zur Vektorisierung vor und

00:07:43: Robert Marz: die großen Dokumente werde ich dann auch einfach in Häppchen zerteilen müssen und

00:07:46: Robert Marz: lege die in meiner Datenbank ab und dann kann ich da super drin suchen.

00:07:49: Robert Marz: Dafür gibt es neue PL/SQL-Packages in der Datenbank,

00:07:51: Robert Marz: die nennen sich DBMS_VECTOR_CHAIN.

00:07:53: Robert Marz: Damit kann ich so Embeddings erzeugen und den Vektorindex anlegen und wenn wir

00:07:58: Robert Marz: Index hören, wissen wir auch schon,

00:07:59: Robert Marz: dass der Vergleich nachher relativ schnell gehen wird.

00:08:01: Robert Marz: Das funktioniert dann super.

00:08:03: Johannes Ahrends: Ich könnte mein Oracle-Buch, was ich vor tausend Jahren mal geschrieben habe,

00:08:06: Johannes Ahrends: auch in der Oracle abspeichern und dann eine entsprechende Suche darauf

00:08:09: Johannes Ahrends: machen.

00:08:10: Robert Marz: Ja, wenn du dich nicht mehr an deinen eigenen Inhalt erinnern kannst,

00:08:12: Robert Marz: geht das damit super und dann kannst du in natürlicher Sprache suchen.

00:08:15: Robert Marz: Und dann ist es auch egal, wenn du nicht genau die Stichwörter triffst.

00:08:18: Robert Marz: Genau darum geht es.

00:08:19: Robert Marz: Das Schöne ist,

00:08:20: Robert Marz: wenn ich das Sprachmodell in der Datenbank laufen lasse und für eine

00:08:23: Robert Marz: Vektorisierung von solchen Texten brauche ich kein ganz großes,

00:08:27: Robert Marz: kein Frontiermodell, sondern das kann ich auch mit kleinen Modellen machen,

00:08:29: Robert Marz: die auf einer kleinen Grafikkarte laufen.

00:08:31: Robert Marz: Dann kann ich das komplett in der Datenbank abfackeln und für die Vektorisierung

00:08:34: Robert Marz: müssen die Daten nicht mal deine Datenbank verlassen.

00:08:37: Johannes Ahrends: Es gab ja bei diesen ganzen AI-Geschichten immer das Thema Halluzination.

00:08:42: Johannes Ahrends: Ist denn das dabei überhaupt kein Thema?

00:08:45: Robert Marz: Doch, die halluzinieren immer noch, aber in einem Umfeld,

00:08:47: Robert Marz: wo ich ihm konkrete Dokumente vorgebe, viel weniger, weil da weiß ja das LLM,

00:08:52: Robert Marz: womit es umgeht und muss nicht durch die Gegend raten.

00:08:55: Robert Marz: Die Qualität steht und fällt natürlich mit dem Zerschneiden in vernünftige Chunks,

00:09:00: Robert Marz: dass die Informationsstücke auch wirklich in einem Abschnitt drin sind und ich die

00:09:04: Robert Marz: nicht mittendrin zerreiße.

00:09:06: Robert Marz: Da muss man vorher beim Zerlegen der Dokumente in kleine Teile ein bisschen Logik

00:09:10: Robert Marz: reinstecken und dann wird das richtig gut.

00:09:12: Robert Marz: In der Praxis macht man das so,

00:09:13: Robert Marz: dass man diese Abschnitte einfach ein bisschen überlappend macht und ich habe

00:09:18: Robert Marz: damit ein bisschen rumgespielt, das funktioniert brauchbar.

00:09:20: Robert Marz: Und ich kann mir ja auch die Quellen anzeigen lassen.

00:09:22: Robert Marz: Das heißt, die Anwender können ja nachlesen, ob das stimmt.

00:09:25: Robert Marz: Ich möchte ja gar nicht von dem LLM die Antwort bekommen auf meine Frage,

00:09:30: Robert Marz: sondern ich möchte ja die Abschnitte in deinem Buch gezeigt bekommen.

00:09:33: Robert Marz: Und das funktioniert sehr sauber.

00:09:35: Johannes Ahrends: Jetzt reden wir aber von,

00:09:36: Johannes Ahrends: ich lese in einem Buch oder ich kriege einen Abschnitt von einem Buch,

00:09:39: Johannes Ahrends: aber in der Praxis kommen ja mittlerweile auch immer mehr Agenten zum

00:09:44: Johannes Ahrends: Einsatz.

00:09:44: Johannes Ahrends: Der Mensch als solches spielt ja eigentlich gar keine Rolle mehr in dieser

00:09:48: Johannes Ahrends: AI-World.

00:09:49: Robert Marz: Naja,

00:09:50: Robert Marz: wir Menschen sind schon auch noch da und es heißt ja auch immer Human in the Loop

00:09:52: Robert Marz: und so.

00:09:53: Robert Marz: Aber damit die Agenten die Datenbanken besser befragen können,

00:09:57: Robert Marz: gibt es ja jetzt seit über einem Jahr mittlerweile das MCP,

00:10:00: Robert Marz: das Model Context Protocol.

00:10:02: Robert Marz: Das ist so ein offener Standard und Oracle hat sich da drauf geschmissen und

00:10:06: Robert Marz: stellt gleich mal mehrere MCP-Server bereit.

00:10:09: Robert Marz: Die meisten kommen über ORDS und damit kann ich zum Beispiel meine

00:10:13: Robert Marz: SQL-Verbindungen bereitstellen.

00:10:15: Robert Marz: Das heißt also, ich habe eine offene Schnittstelle,

00:10:17: Robert Marz: womit Agenten die Datenbank fragen können, was ist denn in der Datenbank los.

00:10:21: Robert Marz: Auch zum Verwalten, das heißt,

00:10:22: Robert Marz: ich kann Agenten meine Datenbank administrieren lassen.

00:10:26: Robert Marz: Ob ich das möchte, weiß ich noch nicht so genau.

00:10:28: Johannes Ahrends: Ich will das definitiv nicht.

00:10:30: Robert Marz: Du möchtest ja bloß deine Arbeit nicht verlieren, sei ehrlich.

00:10:32: Robert Marz: Ehrlich.

00:10:33: Robert Marz: Aber sag mal, Johannes, du bist doch Default Blame Acceptor, also DBA.

00:10:37: Robert Marz: Was machst du, wenn so ein Agent auf die Idee kommt, ein DROP TABLE durchzuführen?

00:10:42: Johannes Ahrends: Ja, ich überhaupt nichts.

00:10:43: Johannes Ahrends: Ich lasse den einfach machen, wenn der das darf.

00:10:45: Johannes Ahrends: Aber ganz im Ernst, ich würde natürlich auf jeden Fall zusehen,

00:10:49: Johannes Ahrends: dass ich die möglichst geringste Anzahl von Rechten einem Agenten wie auch

00:10:55: Johannes Ahrends: jedem anderen User geben würde.

00:10:56: Johannes Ahrends: Ich würde darauf achten, dass der DML-Operationen, wenn überhaupt,

00:11:01: Johannes Ahrends: machen kann, wenn es um Vector Search geht, dann reicht es in der Regel,

00:11:04: Johannes Ahrends: wenn der Abfragezugriff auf Daten machen kann,

00:11:07: Johannes Ahrends: aber die ganzen DML-Operationen über einen anderen User passiert und DDL

00:11:12: Johannes Ahrends: schon mal gar nicht.

00:11:15: Johannes Ahrends: So ein DROP TABLE sollte in so einem Umfang auf jeden Fall getrennt sein.

00:11:19: Johannes Ahrends: Aber das ist noch nicht mal ein Thema von KI,

00:11:22: Johannes Ahrends: sondern das sollte man als gesunder DBA oder als Verantwortlicher für die

00:11:27: Johannes Ahrends: Privilegienvergabe auf jeden Fall machen.

00:11:30: Robert Marz: Na gut, dann kommen wir doch langsam mal zum Ende.

00:11:32: Robert Marz: Johannes, was nimmst du denn davon mit?

00:11:33: Robert Marz: Probierst du es morgen aus oder ist das für dich noch Zukunftsmusik?

00:11:38: Johannes Ahrends: Also ich werde auf jeden Fall ausprobieren und ich habe ja schon das Thema

00:11:42: Johannes Ahrends: Buch erwähnt.

00:11:44: Johannes Ahrends: Das würde ich halt gerne mal ausprobieren,

00:11:46: Johannes Ahrends: ob man das in der Datenbank speichern kann und gut danach suchen kann.

00:11:49: Johannes Ahrends: Und ansonsten schaue ich mir mal an, was es für nette Agenten gibt,

00:11:53: Johannes Ahrends: die mich unterstützen können.

00:11:55: Johannes Ahrends: Und bei dir?

00:11:56: Robert Marz: Ja, ich habe schon ausprobiert.

00:11:58: Robert Marz: Ich habe ja schon erwähnt, ich habe sogar schon Vorträge drüber gebaut,

00:12:01: Robert Marz: die das erste Mal jetzt auf der DOAG-Konferenz in Nürnberg laufen werden.

00:12:07: Robert Marz: Und das funktioniert ziemlich gut und ich bin ehrlich gesagt begeistert.

00:12:10: Robert Marz: Für mich, denke ich,

00:12:11: Robert Marz: ist es zumindest diese Vektorisierung die Zukunft der Suche in der Datenbank.

00:12:15: Robert Marz: Und ich bin sehr gespannt, was da noch alles auf uns zukommt.

00:12:18: Johannes Ahrends: Ja, das bin ich auch.

00:12:20: Johannes Ahrends: Ich denke, das war's für heute mit O wie Datenbank, dem Podcast von ora2know.

00:12:25: Johannes Ahrends: Alle Links und Hintergründe zur Folge findet ihr in den Shownotes und auf

00:12:29: Johannes Ahrends: ora2know.de.

00:12:30: Johannes Ahrends: Und wenn euch der Podcast gefällt, abonniert ihn und empfehlt ihn weiter.

00:12:35: Johannes Ahrends: Tschüss!

00:12:36: Robert Marz: Tschüss!

00:12:37: Oliver Pyka: Eine Anmerkung von der Redaktion.

00:12:39: Oliver Pyka: Am 09.11.26 machen wir eine AI World Nachlese vor Ort.

Neuer Kommentar

Dein Name oder Pseudonym (wird öffentlich angezeigt)
Mindestens 10 Zeichen
Durch das Abschicken des Formulars stimmst du zu, dass der Wert unter "Name oder Pseudonym" gespeichert wird und öffentlich angezeigt werden kann. Wir speichern keine IP-Adressen oder andere personenbezogene Daten. Die Nutzung deines echten Namens ist freiwillig.