Eine doppelte Tabelle
in Oracle Database erstellen

Wenn Sie mit einer Oracle-Datenbank arbeiten, müssen Sie möglicherweise eine Kopie der Tabelle erstellen, um Ihre Anwendung zu testen oder zu entwickeln. Wir haben die besten Methoden ausgewählt, um verschiedene Arten des Kopierens von Tabellen in Oracle durchzuführen, und eine genaue Beschreibung jeder Methode bereitgestellt.

In diesem Artikel erfahren Sie, wie Sie die folgenden Schritte durchführen können:

  • Einer exakten Kopie der Tabelle innerhalb desselben Schemas erstellen
  • Nur die Tabellenstruktur ohne Daten zu kopieren
  • Doppelten Daten in eine bereits vorhandene Tabelle einfügen
  • Einer Tabelle zwischen verschiedenen Schemas kopieren
  • Das GUI-Tool verwenden, um jede Art von Tabellenkopieren zu implementieren

Kopieren einer Tabelle mit Daten innerhalb der gleichen Oracle-Datenbank

1. Oracle bietet eine komfortable Syntax, mit der sich die oben genannten Szenarien umsetzen lassen. Mithilfe des Befehls CREATE TABLE … AS SELECT … können Sie eine doppelte Tabelle innerhalb desselben Datenbankschemas erstellen. Um eine exakte Kopie der Tabelle unter Beibehaltung der Tabellenstruktur und aller Daten zu erstellen, führen Sie die folgende Abfrage aus:

CREATE TABLE new_table_name
AS
SELECT *
FROM existing_table_name;

2. Wenn Sie das Kopieren der Daten auf bestimmte Spalten beschränken wollen, geben Sie die Spaltennamen nach SELECT wie folgt an:

CREATE TABLE new_table_name
AS
SELECT column_name1,column_name2
FROM existing_table_name;

3. Wenn Sie bereits eine Tabelle erstellt haben und die Daten aus der bestehenden Tabelle in diese einfügen möchten, führen Sie Folgendes aus:

INSERT INTO new_table_name
SELECT *
FROM existing_table_name;

Kopieren einer Tabelle ohne Daten innerhalb der gleichen Oracle-Datenbank

4. In einigen Fällen möchten Sie vielleicht die Tabellenstruktur kopieren, aber die Daten weglassen. In ähnlicher Weise können Sie den Befehl CREATE TABLE … AS SELECT … verwenden, aber dieses Mal müssen Sie ihn ändern, indem Sie die WHERE-Klausel hinzufügen, die falsch ist und folglich keine Daten auswählt, zum Beispiel:

CREATE TABLE new_table_name
AS
SELECT *
FROM existing_table_name WHERE 1=5;

Kopieren einer Tabelle von einer Oracle-Datenbank in eine andere

5. Um eine Tabelle von einem Datenbankschema in ein anderes zu kopieren, müssen Sie den Befehl SQL*Plus COPY verwenden. Dieser leistungsstarke Befehl ermöglicht es Ihnen, Daten zwischen verschiedenen Servern zu kopieren. Wir werden uns jedoch auf das Kopieren einer Tabelle zwischen verschiedenen Datenbankschemas in Oracle konzentrieren. Die grundlegende Syntax des Befehls sieht wie folgt aus:

COPY FROM source_database TO target_database action -
destination_table (column_name, column_name, -
column_name ...) USING query;

Lassen Sie uns die wichtigsten Voraussetzungen für die Verwendung dieses Befehls definieren:

  • Sie müssen Zugriff auf die angegebenen Tabellen haben und die gültigen Anmeldeinformationen für die lokalen und entfernten Datenbanken in der FROM- und/oder TO-Klausel kennen.
  • Sie können die neuen Namen für die Spalten in der Zieltabelle angeben, andernfalls erhalten sie standardmäßig die gleichen Namen.
  • Sie haben die Wahl zwischen vier Aktionen — REPLACE, CREATE, INSERT, oder APPEND — je nachdem, welche Aktion für Ihren speziellen Fall geeignet ist.
  • In der USING-Klausel müssen Sie eine Abfrage schreiben, mit der Sie die zu kopierenden Daten angeben. Hier können Sie jedes Typ von SELECT verwenden.

Um eine neue Tabelle zu erstellen und dann die Daten zu kopieren, verwenden Sie CREATE; um die erstellte Tabelle mit Daten zu füllen, verwenden Sie INSERT; um die erstellte Tabelle zusammen mit ihrem Inhalt zu ersetzen, verwenden Sie REPLACE. Außerdem können Sie APPEND verwenden, das in beide Richtungen funktioniert: Wenn Sie eine neue Tabelle erstellt haben, wird sie mit Daten gefüllt; wenn nicht, wird zuerst eine Tabelle erstellt und dann die erforderlichen Daten eingefügt.

Sehen wir uns ein Beispiel für den COPY-Befehl an, der drei Spalten aus der Quelltabelle kopiert und nur die Zeilen kopiert, in denen der Wert EMPLOYEE_ID größer als 50 ist:

COPY FROM EMPLOYEES@DB -
REPLACE DBCOPY1 -
USING SELECT FIRST_NAME, LAST_NAME, SALARY -
FROM DETAILS_VIEW -
WHERE EMPLOYEE_ID > 50;

Erstellen einer doppelten Tabelle
mit dbForge Studio for Oracle


Das manuelle Ausführen von Abfragen erfordert einen erheblichen Zeitaufwand. Wenn Sie also effizient sein wollen, werden Sie wahrscheinlich eine Oracle-IDE verwenden wollen, die Ihnen hilft, Ihre Ziele innerhalb einer bequemen grafischen Benutzeroberfläche zu erreichen und Ihre Flexibilität durch die Möglichkeit zu erhöhen, den Prozess an Ihre Anforderungen anzupassen.

Schritt 1. Öffnen Sie dbForge Studio

Starten Sie zunächst dbForge Studio for Oracle und verbinden Sie sich mit Ihrer Datenbank, wie im Screenshot gezeigt.

Wählen Sie einen Verbindungstyp und geben Sie die richtigen Anmeldeinformationen für Ihre Oracle-Datenbankinstanz ein. Testen Sie die Verbindung, falls erforderlich.

Anmeldeinformationen

Schritt 2. Erstellen Sie eine neue Tabelle

Klicken Sie im Datenbank-Explorer auf den Verbindungsknoten und suchen Sie den Ordner Tables. Klicken Sie mit der rechten Maustaste auf den Ordner Tables und wählen Sie New Table.

Neue Tabelle

Schritt 3. Erstellen Sie einer Tabellenstruktur

Geben Sie in dem sich öffnenden Tabelleneditor den Namen für die neue Tabelle an und erstellen Sie die Struktur dieser Tabelle.

Sie müssen sicherstellen, dass die Tabellenspalten und Spalteneigenschaften mit den Spalten der vorhandenen Tabelle übereinstimmen.

Klicken Sie auf Apply Changes und überprüfen Sie, ob Sie eine neue Tabelle im Datenbank-Explorer erstellt haben.

Tabelleneditor

Schritt 4. Öffnen Sie den Data Comparison Wizard

Jetzt können Sie die Tabelle mit Daten füllen. Gehen Sie dazu im Menü auf die Registerkarte Comparison und öffnen Sie den Data Comparison Wizard. Geben Sie die Verbindung an und wählen Sie das Schema aus.

Konfigurieren Sie bei Bedarf die übrigen Vergleichsoptionen.

Konfiguration von Datenvergleich

Schritt 5. Konfigurieren Sie die Optionen für den Datenvergleich

Wenn Sie die Daten in eine Tabelle innerhalb desselben Oracle-Schemas kopieren möchten, gehen Sie auf die Seite Mapping und wählen Sie die Tabellen für die Zuordnung aus. Hier können Sie Tabellen mit unterschiedlichen Namen und Strukturen zuordnen.

Klicken Sie in der Symbolleiste auf die Schaltfläche Map Objects, und das Dialogfeld Objects Mapping wird angezeigt. Dort müssen Sie die Quell- und Zieltabelle angeben und auf Map klicken. Die Objekte werden dann im Raster der Registerkarte Mapping angezeigt. Sie können die Tabellenzuordnung überspringen, wenn Sie die Daten zwischen verschiedenen Schemas vergleichen möchten. Klicken Sie nun auf Compare, um den Vergleich zu starten.

Objects Mapping

Schritt 6. Analysieren Sie die Vergleichsergebnisse

Sehen Sie sich die Vergleichsergebnisse im Datenvergleich-Dokument an. Hier können Sie die erforderlichen Objekte für die Synchronisierung auswählen und die Synchronisierung durch Klicken auf den grünen Pfeil einleiten.

Vergleichsergebnisse

Schritt 7. Definieren Sie Synchronisierungsoptionen

Im sich öffnenden Data Synchronization Wizard können Sie über das weitere Vorgehen in Bezug auf das Synchronisierungsskript entscheiden.

Sie können das Skript im internen Editor öffnen, zur späteren Verwendung speichern oder direkt auf dem Ziel ausführen.

Synchronisierungsoptionen

Schritt 8. Setzen Sie der Konfiguration der Datensynchronisierung fort

Danach können Sie die Optionen für die Datensynchronisierung konfigurieren sowie den Aktionsplan und die Liste der Warnungen auf der Registerkarte Summary überprüfen. Klicken Sie auf Synchronize, um die Synchronisierung der Daten zu starten.

Data Synchronization Wizard

Schritt 9. Stellen Sie sicher, dass die Tabellen gleich sind

Führen Sie den Datenvergleich ein weiteres Mal durch, um sicherzustellen, dass die Tabellen identisch sind. Herzlichen Glückwunsch! Sie haben eine Oracle-Tabelle geklont!

Die Tabellen sind gleich

Schlussfolgerung

In diesem Artikel haben wir uns verschiedene Möglichkeiten angesehen, eine doppelte Tabelle in Oracle zu erstellen: Wir haben mit der Ausführung von Oracle-SQL-Befehlen begonnen und uns dann angeschaut, wie dieselben Prozeduren über eine intuitive Schnittstelle von dbForge Studio for Oracle ausgeführt werden. Diese IDE bietet robuste Vergleichsfunktionen und ermöglicht es Ihnen, die Interaktion mit Ihrer Oracle-Datenbank auf eine ganz neue Ebene zu bringen. Sehen Sie sich weitere nützliche Funktionen dieses leistungsstarken Oracle-GUI-Tools an!

dbForge Studio for Oracle

Beste IDE für Oracle-Entwicklung und -Verwaltung