Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

copiar de um banco de dados para outro usando o desenvolvedor oracle sql - falha na conexão


A copy command é um comando SQL*Plus (não um comando SQL Developer). Se você tiver suas entradas tnsname configuradas para SID1 e SID2 (por exemplo, tente um tnsping), você poderá executar seu comando.

Outra suposição é que table1 tem as mesmas colunas que message_table (e as colunas têm apenas os seguintes tipos de dados:CHAR, DATE, LONG, NUMBER ou VARCHAR2). Além disso, com um comando de inserção, você precisaria se preocupar com as chaves primárias (por exemplo, se você não está inserindo registros duplicados).

Eu tentei uma variação do seu comando da seguinte forma no SQL*Plus (sem erros):
copy from scott/[email protected] to scott/[email protected] create new_emp using select * from emp;

Depois de executar a instrução acima, também trunquei a tabela new_emp e executei este comando:
copy from scott/[email protected] to scott/[email protected] insert new_emp using select * from emp;

Com o SQL Developer, você pode fazer o seguinte para executar uma abordagem semelhante à cópia de objetos:

  1. Na barra de ferramentas, selecione Ferramentas>Cópia de banco de dados.

  2. Identifique as conexões de origem e destino com as opções de cópia desejadas.

  3. Para tipo de objeto, selecione tabela(s).
  4. Especifique as tabelas específicas (por exemplo, tabela1).

A abordagem do comando copy é antiga e seus recursos não estão sendo atualizados com o lançamento de novos tipos de dados. Existem várias abordagens mais atuais para isso, como a bomba de dados da Oracle (mesmo para tabelas).