Warum Externe Tisch-Konzept wurde in Oracle?
SQL*Loader: Oracle nutzt diese Funktion, durch die ORACLE_LOADER access-Treiber zum verschieben von Daten von einer flachen Datei in die Datenbank;
Daten Pumpe: Es verwendet einen Data-Pump-access-Treiber zum verschieben von Daten aus der Datenbank in eine Datei in einem proprietären Oracle-format und zurück in die Datenbank von Dateien in diesem format.
Beim laden der Daten kann entweder durch den SQL*Loader oder Daten Pumpe Dienstprogramme und Daten entladen kann auch erfolgen, indem Sie das Data-Pump-Dienstprogramm:
-
Gibt es zusätzliche Vorteile, die erzielt werden kann durch Verwendung externer Tabellen, die keiner der zuvor genannten Dienstprogramme selber machen kann?
-
Die unter Oracle Erstellung der Tabelle Befehl erstellt eine Tabelle, die aussieht wie eine Oracle-Tabelle.Warum sind dann Oracle sagt uns, rufen Sie es als eine externe Tabelle?
create table export_empl_info organization external ( type oracle_datapump default directory xtern_data_dir location ('empl_info_rpt.dmp') ) as select * from empl_info;
- Ihre Letzte Frage nicht wirklich sinnvoll. Könnte man es anders formulieren? Auch, bitte nicht das Zeug zu viele Fragen in einem, und bleiben mit praktischen, beantwortbar Fragen. Frage n°1 ist ziemlich breit und antwortete, indem Sie die docs. Frage 2 und 3 sind im wesentlichen die gleichen.
- ich habe geändert meine Beschreibung, Jede weitere Verbesserung würde Ihnen gerne vorschlagen?
- Ja: beenden Sie die Verwendung
code formatting
fürplain
Englischwords
oder Markenor
Produktnames
. Es macht Sachen schwer zu Lesen. Es gibt keine Notwendigkeit, um Ihre Fragen in Kursiv, dann ist die Liste Elemente, die machen Sie abheben genug. Verwenden Sie nur Fett oder Kursiv hervorheben bestimmten Begriffe oder Ausdrücke, die sich abheben sollen. Schließlich "erzielen Einschränkungen" nicht sinnvoll. Sie niemals Ziel für eine Einschränkung. - Und deine zweite Frage nicht zu männlichen Sinn, entweder. Oracle ist nicht darauf hindeutet, das ist eine externe Tabelle. Sie können die Benutzer erzählen, Oracle erstellen Sie eine externe Tabelle.
- Deine Frage ist etwas verwirrt, als @Mat identifiziert hat. Der Titel macht das nicht konstruktiv, da keiner von uns kann wissen, warum Oracle hat etwas... Werden Sie gefragt, welche zusätzlichen Funktionen erhalten Sie von externen Tabellen und Wann sollten Sie mit Ihnen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
SQL*loader und Datapump beide verlangen von uns, laden Sie die Daten in Tabellen ein, bevor wir Zugriff auf die Datenbank. Während wir nur den Zugriff auf externe Tabellen durch SELECT-Anweisungen. Es ist ein sehr flexibler Mechanismus.
äääh, denn es ist extern. Die Daten befinden sich in einer Datei (oder Dateien), die gesteuert wird durch das OS. Wir können ändern Sie die Daten in eine externe Tabelle mit einem OS-Befehl wie
Gibt es keine redo -, rollback -, flashback query oder einen der sonstigen Zugehör einer internen Datenbank-Tabelle.
Ich denke, dass die primären Vorteile der externen Tabellen für mich gewesen:
ich) Nicht ausführen host-Befehl zum importieren von Daten, unterstützt ein trend in Oracle zur Steuerung der gesamten bade-code aus, der in der Datenbank. Vorverarbeitung in 11g ermöglicht den Zugriff auf remote-Dateien über ftp, die Nutzung von komprimierten Dateien, die Kombination mehrerer Dateien in eine, usw.
ii) effizienter Lasten, die durch die Anwendung komplexer Datentransformationen während des Ladevorgangs. Aggregationen führt, multitablen inserts ... usw
Ich habe es verwendet für ein data warehouse geladen, aber jedes Szenario erfordert das laden oder Zugriff auf standard-Daten-Dateien ist ein Kandidat für die Verwendung von externen Tabellen. SQL*Loader hat noch immer seinen Platz als ein Werkzeug zum laden, um eine Oracle-Datenbank aus einem client oder einem anderen host-system. Daten Pumpe ist für die übertragung von Daten zwischen Oracle-Datenbanken, so ist es eher anders.
Einer Einschränkung der externen Tabellen ist, dass Sie nicht Prozess-stream-Daten -- Datensätze abgegrenzt werden. Das war schon in 10.2, nicht sicher, ob es erlaubt ist, da dann.
Verwenden Sie die systemkatalogsichten ALL/DBA/USER_EXTERNAL_TABLES für Informationen, die auf Ihnen
RE: Warum externe Tabelle vs sqlldr für das laden der Daten? Vor allem haben server verwaltet Parallelität vs-client verwaltet Parallelität.