Oracle
 sql >> Database >  >> RDS >> Oracle

copia da un database all'altro utilizzando Oracle sql developer - connessione non riuscita

La copy command è un comando SQL*Plus (non un comando SQL Developer). Se hai impostato le voci tnsname per SID1 e SID2 (ad es. prova a tnsping), dovresti essere in grado di eseguire il comando.

Un'altra ipotesi è che table1 abbia le stesse colonne di message_table (e le colonne hanno solo i seguenti tipi di dati:CHAR, DATE, LONG, NUMBER o VARCHAR2). Inoltre, con un comando di inserimento, dovresti preoccuparti delle chiavi primarie (ad es. che non stai inserendo record duplicati).

Ho provato una variazione del tuo comando come segue in SQL*Plus (senza errori):

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

Dopo aver eseguito l'istruzione sopra, ho anche troncato la tabella new_emp ed ho eseguito questo comando:

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

Con SQL Developer, puoi eseguire le seguenti operazioni per eseguire un approccio simile alla copia degli oggetti:

  1. Sulla barra degli strumenti, seleziona Strumenti>Copia database.

  2. Identifica le connessioni di origine e di destinazione con le opzioni di copia che desideri.

  3. Per il tipo di oggetto, seleziona le tabelle.

  4. Specificare le tabelle specifiche (ad es. tabella1).

L'approccio del comando di copia è vecchio e le sue funzionalità non vengono aggiornate con il rilascio di nuovi tipi di dati. Esistono numerosi approcci più attuali a questo come il data pump di Oracle (anche per le tabelle).