2014-06-27 33 views
15

Ich versuche, eine Tabelle von einer Datenbank in eine andere mit Oracle SQL Developer zu kopieren. Ich habe den Benutzernamen, das Passwort und die SIDs.Kopieren von einer Datenbank in eine andere mit Oracle SQL Developer - Verbindung fehlgeschlagen

copy from uname1/[email protected] to uname2/[email protected] insert table1 (*) using (select * from message_table); 

Allerdings bekomme ich die connection failed Fehler.

Die zwei Datenbanken sind in verschiedenen Host-Hosts vorhanden (der Hostname unterscheidet sich in den Verbindungseigenschaften).

Die Tabelle hat 5 Millionen Datensätze und ist zu umständlich, um Export/Import

+0

Wurde der DBLink eingerichtet? Wird "Select * from table @ SID2" Ergebnisse liefern? – Hambone

+0

'Verbindungsbeschreibung für entfernte Datenbank nicht gefunden 'Dies ist, was ich erhalte, wenn ich sid2 aus sid1-Arbeitsblatt ausprobiert – user2133404

+0

Unzureichende Berechtigungen zum Erstellen einer Datenbankverbindung – user2133404

Antwort

28

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

Eine andere Annahme ist, dass Tabelle1 die gleichen Spalten wie die Nachrichtentabelle hat (und die Spalten nur die folgenden Datentypen haben: CHAR, DATE, LONG, NUMBER oder VARCHAR2). Mit einem Befehl zum Einfügen müssen Sie sich auch um Primärschlüssel sorgen (z. B. dass Sie keine doppelten Datensätze einfügen).

ich eine Variation des Befehls versucht, wie in SQL * Plus (ohne Fehler) folgt:

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

Nachdem ich die obige Aussage ausgeführt, ich gestutzt auch die NEW_EMP Tabelle und ausgeführt, um diesen Befehl ein:

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

Mit SQL Developer, könnten Sie zu Kopieren von Objekten die folgenden ausführen einen ähnlichen Ansatz tun:

  1. Wählen Sie in der Symbolleiste Extras> Datenbankkopie.

  2. Identifizieren Sie Quell- und Zielverbindungen mit den Kopieroptionen, die Sie möchten. enter image description here

  3. Wählen Sie für den Objekttyp Tabelle (n). enter image description here

  4. Spezifische Tabelle (n) angeben (z. B. Tabelle1). enter image description here

Der Kopierbefehl Ansatz ist alt und seine Funktionen werden nicht mit der Veröffentlichung von neuen Datentypen aktualisiert. Es gibt eine Reihe von aktuellen Ansätzen wie die Datenpumpe von Oracle (auch für Tabellen).

+0

Danke Patrick. Ich kann den Objekttyp unter Quellen- und Zielverbindungen nicht finden. Ich habe nur create object, Trunk Objekt und Drop-Objekt-Optionen. – user2133404

+0

Ich glaube ich benutze eine ältere Version. Ich werde das ausprobieren und Sie benachrichtigen – user2133404

+0

Ich weiß, diese Funktion ist auf SQL Developer 4. –

Verwandte Themen