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/example@sqldat.com to scott/example@sqldat.com 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/example@sqldat.com to scott/example@sqldat.com insert new_emp using select * from emp;
Con SQL Developer, puoi eseguire le seguenti operazioni per eseguire un approccio simile alla copia degli oggetti:
-
Sulla barra degli strumenti, seleziona Strumenti>Copia database.
-
Identifica le connessioni di origine e di destinazione con le opzioni di copia che desideri.

-
Per il tipo di oggetto, seleziona le tabelle.

- 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).