Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Kopieren von einer Datenbank in eine andere mit Oracle SQL Developer - Verbindung fehlgeschlagen

Die copy Der Befehl ist ein SQL*Plus-Befehl (kein SQL Developer-Befehl). Wenn Sie Ihre tnsname-Einträge für SID1 und SID2 eingerichtet haben (z. B. versuchen Sie es mit tnsping), sollten Sie in der Lage sein, Ihren Befehl auszuführen.

Eine weitere Annahme ist, dass table1 dieselben Spalten wie message_table hat (und die Spalten nur die folgenden Datentypen haben:CHAR, DATE, LONG, NUMBER oder VARCHAR2). Außerdem müssten Sie sich bei einem Einfügebefehl um Primärschlüssel kümmern (z. B. dass Sie keine doppelten Datensätze einfügen).

Ich habe eine Variation Ihres Befehls wie folgt in SQL*Plus ausprobiert (ohne Fehler):

copy from scott/[email protected] to scott/[email protected] create new_emp using select * from emp;

Nachdem ich die obige Anweisung ausgeführt habe, kürze ich auch die Tabelle new_emp und führe diesen Befehl aus:

copy from scott/[email protected] to scott/[email protected] insert new_emp using select * from emp;

Mit SQL Developer könnten Sie Folgendes tun, um einen ähnlichen Ansatz zum Kopieren von Objekten durchzuführen:

  1. Wählen Sie in der Symbolleiste Extras>Datenbank kopieren.

  2. Identifizieren Sie Quell- und Zielverbindungen mit den gewünschten Kopieroptionen.

  3. Wählen Sie als Objekttyp Tabelle(n) aus.

  4. Geben Sie die spezifische(n) Tabelle(n) an (z. B. Tabelle1).

Der Kopierbefehlsansatz ist alt und seine Funktionen werden nicht mit der Veröffentlichung neuer Datentypen aktualisiert. Dazu gibt es eine Reihe aktuellerer Ansätze wie die Datenpumpe von Oracle (auch für Tabellen).