sql - 使用 oracle sql developer 从一个数据库复制到另一个数据库 - 连接失败

标签 sql database oracle oracle11g oracle-sqldeveloper

我正在尝试使用 oracle sql developer 将一个表从一个数据库复制到另一个数据库。我有用户名、密码和 SID。

copy from uname1/password1@SID1 to uname2/pwd2@SID2 insert table1 (*) using (select * from message_table);

但是我收到了connection failed 错误。

这两个数据库存在于不同的主机主机(主机名在连接属性中不同)。

该表有500万条记录,导出/导入太麻烦

最佳答案

copy 命令是一个 SQL*Plus 命令(不是 SQL Developer 命令)。如果您为 SID1 和 SID2 设置了 tnsname 条目(例如尝试 tnsping),您应该能够执行您的命令。

另一个假设是 table1 具有与 message_table 相同的列(并且这些列仅具有以下数据类型:CHAR、DATE、LONG、NUMBER 或 VARCHAR2)。此外,使用插入命令时,您需要关注主键(例如,您没有插入重复记录)。

我在 SQL*Plus 中尝试了如下命令的变体(没有错误):

copy from scott/tiger@db1 to scott/tiger@db2 create new_emp using select * from emp;

我执行完上面的语句后,也截断了new_emp表,执行了这条命令:

copy from scott/tiger@db1 to scott/tiger@db2 insert new_emp using select * from emp;

使用 SQL Developer,您可以执行以下操作来执行类似的方法来复制对象:

  1. 在工具栏上,选择“工具”>“数据库复制”。

  2. 使用您喜欢的复制选项确定源和目标连接。 enter image description here

  3. 对于对象类型,选择表。 enter image description here

  4. 指定具体的表(例如表 1)。 enter image description here

复制命令方法是旧的,它的功能没有随着新数据类型的发布而更新。有许多更当前的方法可以解决这个问题,例如 Oracle 的数据泵(甚至用于表)。

关于sql - 使用 oracle sql developer 从一个数据库复制到另一个数据库 - 连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24458616/

相关文章:

mysql - 在 where 子句中将 varchar 转换为日期

mysql - 为什么 MySQL SUM 查询只返回一行?

php - 以不会让用户发疯的方式在数据库中存储长度或高度

sql - 将Word文档插入SQL Server

java - JOOQ 从 selectCount 检索 map

mysql - 一起使用 ORDER BY 和 GROUP BY

java - 在保存到数据库之前如何在 JSP 中转义 html?

mysql - 如何在 HQL 查询中检查 NULL 或无效

c# - 将变量值和输出从 PL/SQL 代码块返回到 C#

java - boolean 字段始终为 true