Erstellung doppelter Tabellen in einer Oracle-Datenbank


Um eine Tabelle zu duplizieren, können Sie SQL-Befehle wie CREATE TABLE AS SELECT und spezialisierte Tools wie dbForge Studio for Oracle verwenden. Ob Sie ein genaues Duplikat mit Daten erstellen, nur die Struktur kopieren oder eine Tabelle über Schemas hinweg klonen möchten, Oracle bietet mehrere Optionen.

In diesem Leitfaden erfahren Sie die gängigsten Methoden zum Durchführen von Tabellenkopierungsvorgängen in Oracle, einschließlich wie Sie:

  • Eine exakte Kopie einer Tabelle innerhalb desselben Schemas erstellen
  • Eine Tabelle in Oracle ohne Daten kopieren
  • Doppelte Daten in eine vorhandene Tabelle einfügen
  • Eine Tabelle zwischen verschiedenen Datenbankschemas kopieren
  • Ein GUI-Tool verwenden, um die Tabellenduplizierung zu vereinfachen und zu beschleunigen

Kopieren einer Tabelle mit Daten innerhalb derselben Oracle-Datenbank

Die Duplizierung einer Tabelle in Oracle ist in vielen Szenarien hilfreich. Zum Beispiel möchten Sie möglicherweise:

  • Vor Updates oder Löschvorgängen eine Sicherung erstellen
  • Abfragen an einer sicheren Kopie testen, ohne die Produktionsdaten zu beeinträchtigen
  • Daten zwischen verschiedenen Umgebungen migrieren
  • Berichtstabellen erstellen, die bestehende Tabellenstrukturen spiegeln

Alle diese Fälle erfordern, dass Sie wissen, wie Sie eine Tabellenduplizierung durchführen. Sehen Sie sich nun an, wie Sie dies tun können.

Kopieren einer Tabelle mit Daten mithilfe von SQL

Um eine Tabelle mit Daten in Oracle zu kopieren, verwenden Sie die folgende SQL-Syntax.

CREATE TABLE new_table_name
AS
SELECT *
FROM original_table;

Dieser Befehl erstellt eine neue Tabelle, die die Struktur und Daten des vorhandenen Objekts vollständig repliziert. Dies ist der häufigste Weg, um eine Tabelle in Oracle mit Daten unter Verwendung der CREATE TABLE AS SELECT Anweisung zu kopieren.

Wenn Sie nur bestimmte Spalten statt des gesamten Datensatzes kopieren müssen, geben Sie diese in der Abfrage an.

CREATE TABLE new_table AS
SELECT column_name1,column_name2
FROM original_table;

Falls die Zieltabelle bereits vorhanden ist und Sie nur die Daten duplizieren möchten, führen Sie den folgenden Befehl aus.

INSERT INTO new_table
SELECT *
FROM original_table;

Auf diese Weise können Sie eine Tabelle in Oracle entweder mit dem gesamten Datensatz oder nur mit den erforderlichen Teilen klonen, je nach Ihren Anforderungen.

Kopieren einer Tabelle in ein anderes Schema in Oracle

Manchmal müssen Sie eine Tabelle in ein anderes Schema duplizieren. Zum Beispiel beim Konsolidieren von Daten, beim Freigeben von Tabellen für ein anderes Team oder beim Vorbereiten einer separaten Umgebung zum Testen. Oracle ermöglicht es Ihnen, dies mithilfe von SQL-Befehlen zu erreichen und gleichzeitig die Datenintegrität zu gewährleisten.

Ein SQL-Beispiel mit INSERT INTO schema.table

Um Daten aus einer Tabelle in Ihrem aktuellen Schema in eine Tabelle in einem anderen Schema zu kopieren, verwenden Sie die folgende Syntax.

INSERT INTO target_schema.new_table
SELECT *
FROM source_schema.existing_table;

Dieser Ansatz setzt voraus, dass die Zieltabelle bereits im Zielschema vorhanden ist. Er überträgt alle Daten effizient, während die Quelltabelle intakt bleibt.

Erforderliche Benutzerberechtigungen

  • Die INSERT Berechtigung für die Zieltabelle oder das Schema
  • Die SELECT Berechtigung für die Quelltabelle
  • Die CREATE TABLE Berechtigung, wenn Sie die neue Tabelle im Zielschema erstellen

Ohne diese Berechtigungen verhindert Oracle die Operation und gewährleistet so einen sicheren und kontrollierten Datenzugriff über Schemas hinweg.

Durch die Kombination dieser Befehle mit den entsprechenden Berechtigungen können Sie zuverlässig Tabellenkopierungsvorgänge in Oracle über Schemas hinweg durchführen, was einen sicheren Datenaustausch und Tests ermöglicht, ohne Produktionstabellen zu beeinflussen.

Kopieren einer Tabelle ohne Daten innerhalb derselben Oracle-Datenbank

Um eine Tabelle ohne Daten in Oracle zu kopieren, verwenden Sie dieses SQL-Muster.

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

Mit diesem Befehl wird eine neue Tabelle erstellt, die ausschließlich die Struktur der Originaltabelle – einschließlich der Spalten, Datentypen und Standardwerte – übernimmt, ohne vorhandene Daten zu kopieren. Dies ist die einfachste Möglichkeit, eine Oracle-Tabelle ohne Daten zu kopieren. Sie wird häufig verwendet, wenn Sie eine leere Vorlage für Tests, Staging oder die Erstellung neuer Tabellen auf Grundlage bestehender Tabellenstrukturen benötigen.

Mit diesem Ansatz können Sie die Struktur einer Tabelle in Oracle effizient kopieren und sicherstellen, dass die neue Tabelle dem Original-Layout entspricht, während sie leer bleibt und für neue Daten bereit ist.

Kopieren einer Tabelle von einer Oracle-Datenbank in eine andere

Das Kopieren von Tabellen zwischen Datenbanken oder Schemas in Oracle kann für Tests, Berichterstellung oder Datenmigration erforderlich sein. Im Folgenden finden Sie die wichtigsten Ansätze, unterteilt in praktische Szenarien.

Kopieren einer Tabelle zwischen Schemas auf demselben Server

Um eine Tabelle von einem Schema zu einem anderen innerhalb derselben Oracle-Datenbank zu kopieren, verwenden Sie die folgende SQL-Syntax.

INSERT INTO new_schema.table
SELECT *
FROM old_schema.table;
Hinweis
Stellen Sie sicher, dass die Zieltabelle vorhanden ist und Sie die erforderlichen Berechtigungen haben, um den Tabellenkopierungsvorgang durchzuführen.

Dieser Befehl dupliziert alle Daten aus der Quelltabelle in eine Tabelle im Zielschema. Das ist eine einfache und effektive Methode, wenn sich beide Schemas auf demselben Datenbankserver befinden.

Kopieren einer Tabelle zwischen entfernten Oracle-Datenbanken

Beim Kopieren einer Oracle-Datenbanktabelle in eine Datenbank auf einem anderen Server können Sie Datenbanklinks oder Tools wie SQL*Plus oder dbForge Studio for Oracle verwenden. Ein Datenbank-Link ermöglicht es Ihnen, die entfernte Datenbank direkt in Ihrer SQL-Abfrage zu referenzieren und so eine Datenübertragung zu ermöglichen.

INSERT INTO remote_table@remote_db_link
SELECT *
FROM local_table;

Bevor Sie diesen Vorgang durchführen, stellen Sie sicher, dass Folgendes gegeben ist:

  • Gültige Anmeldedaten für beide Datenbanken
  • Entsprechende Berechtigungen (SELECT für die Quelltabelle und INSERT für die Zieltabelle)
  • Netzwerkzugriff zwischen den Servern

Indem Sie diese Anweisungen befolgen, können Sie eine Tabelle in Oracle effizient in ein anderes Schema oder über Datenbanken hinweg kopieren, während Sie die Datenintegrität bewahren und Ausfallzeiten minimieren.

Erstellen Sie eine doppelte Tabelle
mit dbForge Studio for Oracle


Das manuelle Ausführen von Abfragen erfordert erhebliche Zeit. Wenn Sie daher effizient sein möchten, werden Sie wahrscheinlich ein Oracle-IDE verwenden wollen, das Ihnen hilft, Ihre Ziele zu erreichen innerhalb einer benutzerfreundlichen grafischen Benutzeroberfläche und verbessert Ihre Flexibilität mit der Möglichkeit, den Prozess an Ihre Anforderungen anzupassen.

Schritt 1. Öffnen Sie dbForge Studio for Oracle

Zunächst sollten Sie dbForge Studio for Oracle starten und sich mit Ihrer Datenbank verbinden, wie auf dem Screenshot zu sehen.

Wählen Sie einen Verbindungstyp und geben Sie die gültigen Anmeldedaten für Ihre Oracle-Datenbankinstanz ein. Testen Sie die Verbindung bei Bedarf.

Eigenschaften der Datenbankverbindung

Schritt 2. Erstellen Sie eine neue Tabelle

Erweitern Sie im Database Explorer den Verbindungsknoten und suchen Sie den Ordner Tables. Klicken Sie mit der rechten Maustaste darauf und wählen Sie New Table.

Klicken Sie auf New Table

Schritt 3. Erstellen Sie eine Tabellenstruktur

Geben Sie den Tabellennamen an und definieren Sie die Spalten so, dass sie der Struktur der ursprünglichen Tabelle entsprechen. In dbForge Studio for Oracle wird dieser Prozess optimiert, da der Table Editor Ihnen ermöglicht, schnell ein Skript zu erstellen, indem Sie Spalten hinzufügen, Datentypen festlegen und Eigenschaften anpassen.

Hinweis
Stellen Sie sicher, dass die Tabellenspalten und Spalteneigenschaften mit den Spalten der vorhandenen Tabelle identisch sind.

Es ist wichtig zu beachten, dass das System beim Durchführen eines Tabellenklon-Strukturvorgangs in Oracle die Spalten automatisch zuordnen kann, wodurch sichergestellt wird, dass die neue Tabelle das Original widerspiegelt, ohne dass eine manuelle Spalteneinrichtung erforderlich ist. Sobald die Struktur bereit ist, klicken Sie auf Apply Changes und überprüfen Sie die neue Tabelle im Database Explorer.

Fenster des Table Editor

Schritt 4. Öffnen Sie den Data Comparison Wizard

Verwenden Sie den Data Comparison Wizard, um Unterschiede zwischen Quell- und Zieltabellen zu identifizieren. Dieser Schritt gewährleistet Genauigkeit, indem Sie sehen können, welche Zeilen kopiert oder aktualisiert werden, bevor Änderungen vorgenommen werden. Sie können auch bestimmte Tabellen filtern und auswählen, was den Prozess flexibler und effizienter macht.

Gehen Sie dazu zur Registerkarte Comparison im Menü und öffnen Sie den Data Comparison Wizard. Geben Sie die Verbindung an und wählen Sie das Schema aus.

Konfigurieren Sie die restlichen Vergleichsoptionen bei Bedarf.

Durch Durchführung eines Datenbankvergleichs in Oracle minimieren Sie das Risiko, unnötige Daten zu duplizieren oder zu überschreiben. Nach Abschluss des Vergleichs können Sie mit der Tabellensynchronisierung in dbForge Studio fortfahren, um sicherzustellen, dass die Zieltabelle vollständig mit der Quelle abgestimmt ist.

Quelle und Ziel für Datenvergleich

Schritt 5. Konfigurieren Sie die Datenvergleichsoptionen

Wählen Sie den Vergleichsmodus: nach Schlüsselfeldern, allen Zeilen oder benutzerdefinierten Filtern. Dieser Schritt bestimmt, wie dbForge Studio for Oracle Unterschiede zwischen Quell- und Zieltabellen bewertet. Für höhere Genauigkeit können Sie Systemfelder ausschließen, die nicht verglichen werden sollen, Zeilenfilter anwenden, um den Datensatz einzugrenzen, und nur die Spalten auswählen, die für die Synchronisierung wichtig sind. Gehen Sie dazu zur 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 auf die Schaltfläche Map Objects in der Symbolleiste, um das Dialogfeld Objects Mapping zu öffnen. Dort müssen Sie die Quell- und Zieltabellen 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 jetzt auf Compare, um den Vergleich zu starten.

Diese Datenvergleichsoptionen in Oracle ermöglichen es Ihnen, den Prozess zu optimieren und unnötige Datenübertragungen zu vermeiden. Nach der Konfiguration fahren Sie mit der Tabellensynchronisierungskonfiguration fort, um sicherzustellen, dass die Vergleichsergebnisse genau widerspiegeln, was Sie kopieren oder aktualisieren möchten.

Registerkarte Objects Mapping in dbForge Studio for Oracle

Schritt 6. Analysieren Sie die Vergleichsergebnisse

Zeigen Sie die Vergleichsergebnisse im Datenvergleichsdokument an. Hier können Sie die erforderlichen Objekte für die Synchronisierung auswählen und die Synchronisierung durch Klicken auf den grünen Pfeil initiieren.

Registerkarte Objekte zuordnen in dbForge Studio for Oracle

Schritt 7. Definieren Sie Synchronisierungsoptionen

Im Data Synchronization Wizard können Sie festlegen, was Sie mit dem Synchronisierungsskript tun möchten.

Sie können das Skript im integrierten Editor öffnen, es zur späteren Verwendung speichern oder es direkt für das Ziel ausführen.

Ausgabeoptionen für das Synchronisierungsskript

Schritt 8. Fahren Sie mit der Konfiguration der Datensynchronisierung fort

Überprüfen Sie die Synchronisierungszusammenfassung, eine Vorschau des Synchronisierungsskripts und alle Zuordnungen vor der Ausführung des Vorgangs. dbForge Studio for Oracle bietet einen detaillierten Aktionsplan, der zeigt, welche Zeilen eingefügt, aktualisiert oder gelöscht werden, und hilft Ihnen, Fehler bei der Synchronisierung zu vermeiden.

Sie können auch Ihre Synchronisierungseinstellungen für zukünftige Verwendung speichern, die Ausführung zu bestimmten Zeiten planen oder den Prozess sogar in CI/CD-Pipelines für automatisierte Bereitstellungen integrieren. Durch die Verwendung der Vorschau des Synchronisierungsskripts haben Sie die volle Kontrolle über die Änderungen und können sicherstellen, dass nur die beabsichtigten Aktualisierungen angewendet werden. Sie können die Datensynchronisierungsoptionen konfigurieren und den Aktionsplan sowie die Liste der Warnungen in der Registerkarte Summary überprüfen.

Nachdem Sie alles überprüft haben, klicken Sie auf Synchronize, um den Prozess abzuschließen.

Registerkarte Zusammenfassung im Datensynchronisierungs-Assistenten

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

Nach Abschluss der Synchronisierung validieren Sie die Tabellenkopie in Oracle mithilfe von Vergleichsberichten oder dem integrierten Datenviewer. Dieser Schritt gewährleistet, dass jede Zeile und Spalte zwischen den Quell- und Zieltabellen übereinstimmt. Für eine zuverlässige Überprüfung können Sie:

  • Den Data Comparison Wizard erneut ausführen, um Tabellen nebeneinander zu vergleichen.
  • Das Protokoll des Synchronisierungsskripts überprüfen, um sicherzustellen, dass die Tabellenkopie erfolgreich durchgeführt wurde.

Indem Sie diese Checkliste befolgen, können Sie sicherstellen, dass die geklonte Tabelle identisch mit dem Original ist und in Produktions-, Test- oder Entwicklungsumgebungen verwendet werden kann.

Glückwunsch! Sie haben Ihre Tabelle in Oracle geklont!

Das Datenvergleichsdokument zeigt, dass die Tabellen gleich sind

dbForge Studio vs SQL Developer zum
Duplizieren von Oracle-Tabellen


Wenn es um das Duplizieren von Oracle-Tabellen geht, bieten sowohl dbForge Studio als auch SQL Developer die erforderlichen Funktionen, jedoch unterscheiden sich Benutzererlebnis und Automatisierungsgrad erheblich. Die folgende Tabelle zeigt, wie jedes Tool das Klonen von Strukturen, das Kopieren von Daten und die Synchronisierung handhabt.

Funktionen
dbForge Studio
SQL Developer
Einfachheit der Benutzeroberfläche
Eine moderne Benutzeroberfläche mit intuitiven Assistenten
Weniger optimiert, erfordert manuelle Einrichtung
Kopieren von Struktur und Daten
Integrierter Data Comparison Wizard
Erfordert ein INSERT-Skript oder Export/Import
Trigger, Zuständigkeiten und Sequenzen
Können in einen Synchronisierungsvorgang einbezogen werden
Muss manuell extrahiert werden
Unterstützung für Schema-übergreifende Kopien
Ja, über die Benutzeroberfläche unterstützt
Erfordert manuelle Skriptanpassungen
Vorschau vor der Ausführung
Vorschau des Synchronisierungsskripts und Anzeige von Unterschieden
Begrenzt, größtenteils Post-Ausführungs-Analyse
Datenfilterung
Unterstützt Filterung nach Spalte oder Zeilenbedingungen
Erfordert WHERE-Klauseln manuell
Rollback-Unterstützung
Optionale Transaktionssynchronisierung
Nur manuell
Benutzerfreundlichkeit für Nicht-Entwickler
Eine anfängerfreundliche Benutzeroberfläche
Steilere Lernkurve

Insgesamt bietet dbForge Studio for Oracle eine schnellere und intuitivere Möglichkeit, Tabellen in Oracle zu duplizieren, besonders für Benutzer, die Automatisierung, Vorschauoptionen und schemaübergreifende Unterstützung benötigen. SQL Developer bleibt eine fähige Wahl, erfordert aber oft mehr manuelle Skripterstellung und Einrichtung.

Fühlen Sie sich frei, den Vergleich Funktion für Funktion zu überprüfen, um die Vor- und Nachteile beider Tools weiter zu erkunden.

Fazit

In diesem Artikel haben wir verschiedene Möglichkeiten zur Erstellung einer doppelten Tabelle in Oracle untersucht. Wir haben mit der Ausführung von Oracle-SQL-Befehlen begonnen und dann analysiert, wie die gleichen Verfahren mit dbForge Studio for Oracle durchgeführt werden. Die IDE bietet robuste Vergleichsfunktionalität und ermöglicht es Ihnen, Ihre Oracle-Datenbankinteraktion auf ein ganz neues Niveau zu bringen. Überprüfen Sie weitere nützliche Funktionen dieses leistungsstarken Oracle-GUI-Tools!

Häufig gestellte Fragen

Wie kopiere ich eine Tabelle in Oracle mit allen Einschränkungen und Indizes?

Um einen Oracle-Tabellenkopierungsvorgang mit Einschränkungen durchzuführen, können Sie nicht auf ein einfaches CREATE TABLE AS SELECT verlassen, da es nur die Struktur und Daten reproduziert. Verwenden Sie stattdessen Tools wie dbForge Studio for Oracle, das eine Tabelle in Oracle zusammen mit Indizes, Primärschlüsseln, Fremdschlüsseln und anderen Abhängigkeiten klonen kann. Dies gewährleistet, dass die neue Tabelle das Original strukturell und funktional widerspiegelt.

Was ist der Unterschied zwischen dem Kopieren und dem Erstellen einer Tabelle in Oracle?

Der Unterschied liegt in der Absicht und dem Umfang. Wenn Sie CREATE TABLE in Oracle verwenden, definieren Sie eine brandneue Tabelle mit angegebenen Spalten und Datentypen. Im Gegensatz dazu bedeutet die Durchführung eines Oracle-Tabellenduplikationsvorgangs, die Struktur einer vorhandenen Tabelle (und optional deren Daten) wiederzuverwenden, um eine Kopie zu generieren. Die gängigste Methode ist die Verwendung der Oracle-Anweisung CREATE TABLE AS SELECT, mit der Sie eine neue Tabelle erstellen können, die entweder Struktur und Zeilen vom Original enthält oder nur die Struktur, wenn Sie eine Bedingung wie WHERE 1=0 hinzufügen.

Wie kopiere ich nur die Struktur einer Tabelle ohne Daten in Oracle?

Um eine Tabelle in Oracle ohne Daten zu kopieren, verwenden Sie CREATE TABLE AS SELECT mit einer Bedingung wie WHERE 1=0. Auf diese Weise lässt Oracle die Tabellenstruktur nur kopieren und erstellt eine neue Tabelle mit den gleichen Spalten, aber ohne Zeilen.

Wie kopiere ich eine Tabelle in ein anderes Schema in Oracle?

Um Oracle eine Tabelle in ein anderes Schema zu kopieren zu lassen, erstellen Sie eine Zieltabelle im Zielschema und verwenden Sie INSERT INTO target_schema.table SELECT * FROM source_schema.table. Dies kopiert die Daten, während die Tabellenstruktur beibehalten wird, und ermöglicht eine effiziente Schema-übergreifende Duplizierung.

Welches Tool ist besser zum Duplizieren von Tabellen: dbForge Studio oder SQL Developer?

Das Studio ist im Allgemeinen effizienter und benutzerfreundlicher. Dank seiner zahlreichen Funktionen und Optionen sowie der automatischen Übernahme von Constraints, Indizes und Triggern reduziert es den manuellen Aufwand auf ein Minimum, während SQL Developer häufig Skripting und manuelle Anpassungen erfordert.

Wie dupliziere ich eine partitionierte Tabelle in Oracle?

Um eine Tabelle in Oracle für eine partitionierte Tabelle zu klonen, müssen Sie sowohl ihre Struktur als auch ihr Partitionierungsschema replizieren. Verwenden Sie dazu CREATE TABLE AS SELECT. Für vollständige Partitionierung und Einschränkungen können Tools wie dbForge Studio for Oracle den Prozess vereinfachen und sicherstellen, dass eine neue Tabelle das ursprüngliche Setup widerspiegelt.

Wie kann ich eine Tabelle in Oracle nur mit SQL kopieren?

Um eine Tabelle nur mit SQL zu kopieren, verwenden Sie die Oracle-Anweisung CREATE TABLE AS SELECT. Mit dieser Methode können Sie eine neue Tabelle erstellen, die sowohl die Struktur als auch die Daten der ursprünglichen Tabelle repliziert.

Kann ich beim Duplizieren einer Tabelle Trigger und Zuständigkeiten einbeziehen?

Ja, wenn Sie eine Tabelle in Oracle mit Tools wie dbForge Studio klonen, können Sie Trigger, Zuständigkeiten und andere Abhängigkeiten einbeziehen. Dies gewährleistet, dass der Kopiervorgang nicht nur die Struktur und Daten der Tabelle beibehält, sondern auch alle zugeordneten Einschränkungen, Regeln und Berechtigungen.

Wie validiere ich, dass die kopierte Tabelle genau dem Original entspricht?

Um Genauigkeit zu gewährleisten, können Sie Tabellen in Oracle mit dem Data Comparison Wizard von dbForge Studio vergleichen. Dies ermöglicht es Ihnen, eine Tabellenkopie zu validieren, indem Sie überprüfen, dass alle Zeilen, Spalten und Datentypen zwischen den Quell- und Zieltabellen übereinstimmen.

Was ist die schnellste Möglichkeit, eine Tabelle in Oracle mit Struktur und Daten zu klonen?

Die schnellste Methode zum Duplizieren einer Tabelle – einschließlich Struktur und Daten – ist die Verwendung eines Oracle-Tools wie dbForge Studio for Oracle. Damit können Sie eine Tabelle schnell klonen, ohne komplexes SQL schreiben zu müssen, und gleichzeitig Constraints, Indizes und Trigger beibehalten.