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