Tabellenkalkulation als Oracle-Tabellen

Es ist wichtig, dass man weiß, dass man auf Oracle-Daten in Tabellenkalkulationen nicht so schnell zugreifen kann, wie auf interne Sprossendaten. Oracle kann Sprossenniveau-Verriegelung nicht garantieren, da das Betriebssystem und nicht Oracle das Sagen hat. Wenn eine Tabelle als externe Tabelle definiert ist, dann kann Oracle nicht wissen, wann einzelne Sprossendaten verändert werden. Das Betriebsystem teilt Oracle nur mit, dass die gesamte Tabelle verändert wurde.

Darüber hinaus werden Datenblöcke, die aus einer externen Tabelle gelesen werden, nicht in den Zwischenspeicher von Oracle9i gelesen. Die Abfrage unter Listing A zeigt, dass Oracle die Sprossen der externen Tabelle nicht in den RAM-Cache liest.

Wie man unter Listing B sehen kann, sind die Daten aus unserer Tabelle nach einer SQL-Abfrage nicht im Datenspeicher.

Oracle erklärt nicht, ob ein extra Speichermechanismus für externe Tabellen genutzt wird. Mit diesem Mangel muß Oracle9i jedes Mal die gesamte Tabelle lesen, wenn eine SQL-Abfrage auf die externe Tabelle zugreift.

Um Datenintegrität zu gewährleisten, muß Oracle wissen, wann die Tabelle geändert wird, aber es gibt keine Möglichkeit zu wissen, wann bestimmte Tabellenwerte geändert werden. Wenn Oracle herausfindet, dass die unverlinkte Datei aktualisiert wurde, dann werden alle Daten im RAM-Speicher ungültig, und die gesamte Tabelle muß neu gelesen werden. Das ist der Hauptgrund, warum externe Tabellen für große Datenmengen nicht sehr effizient sind.

Weil Oracle Betriebssystemdateien in Datenblöcken liest, kann man berechnen, wie oft Disk I/O erfolgt, indem man die Anzahl der Tabellenblöcke mit einer einfachen Shellscript feststellt. Für dieses Script wissen wir, dass die Oracle-Datenbank eine Blockgröße von 8 KB hat:


bytes=`ls -al|grep emp_ext.csv|awk '{ print $5 }'`
num_bytes=`expr $bytes`
blocks=`expr $num_bytes / 8192`
echo $blocks

Dieses Script sagt uns ganz genau, wie oft die Disk gelesen werden, um auf die externe Oracle-Tabelle zuzugreifen, wenn eine Veränderung vorgenommen wird.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

10 Stunden ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

10 Stunden ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

1 Tag ago

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

1 Tag ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

1 Tag ago

Apple schließt Zero-Day-Lücken in iOS, iPadOS und macOS

Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…

1 Tag ago