繁体   English   中英

如何使用toad将数据从一个数据库/表复制到oracle中的另一个数据库/表

[英]How to copy data from one database/table to another database/table in oracle using toad

我正在尝试将表数据从 dev box db 复制到 uat db,这是 2 个不同的数据库。 我在蟾蜍中尝试。所有连接细节都是正确的,但它不起作用并抛出以下错误。

[错误] 执行 (12:1): ORA-00900: SQL 语句无效

这就是我正在尝试的

copy from abc/cde@//abc.abc.com:1521/devbox to abc/cde@//abc.abc.com/uatbox 
  INSERT TOOL_SERVICE_MAPPING (*) 
  USING (SELECT * FROM TOOL_SERVICE_MAPPING)

如果您的表没有大量行,您可以使用Toad的Export函数:它为每一行创建一个insert语句。 然后,您可以在目标数据库中运行这些语句以重新创建表的数据。

以下是步骤:

A.在目标数据库中创建表的副本

  1. 在架构浏览器窗口的源DB中单击要复制的表,在窗口右侧选择“ 脚本 ”选项卡:您将找到重新创建表的脚本; 复制这个脚本
  2. 将脚本粘贴到目标数据库的新SQL编辑器窗口中并运行它。 这应该创建新表

B.在新表中复制数据

  1. 在架构浏览器窗口中右键单击源DB中的表名
  2. 从上下文菜单中选择“ 导出数据
  3. 写出导出查询的“ where ”语句(如果要复制整个表,请将其留空)
  4. 选择目的地:剪贴板
  5. 单击“ 确定 ”(现在插入语句存储在剪贴板中)
  6. 将insert语句粘贴到目标DB中的新SQL编辑器窗口中
  7. 将语句作为脚本运行(快捷键F5)

copy是SQL * Plus命令,而不是SQL语句。 如果Toad实现了特定的SQL * Plus命令(它确实实现了许多更简单的命令),我会感到惊讶。 如果要使用copy命令,则需要使用SQL * Plus,而不是Toad。

如果要使用Toad,则需要使用SQL语句来复制数据。 您可以在目标数据库中创建指向源数据库的数据库链接

INSERT INTO tool_service_mapping
  SELECT *
    FROM tool_service_mapping@<<db link to source database>>

到目前为止,我所经历的最简单,最无错误的方法是:Database-> Compare-> Schemas

它看起来并不太复杂(许多复选框),但是您需要在空数据库中为需要创建的对象选中框,并且在比较结束时最终会得到包含所有对象(触发器,视图,序列)的SQL脚本,packges)您选择的(复选框)。

我清楚地看到生成的sql脚本中的所有表,触发器,数据等,甚至可以勾选这些我不想创建的(如果有的话)...在执行脚本之前,TOAD要求您确认您正在运行哪个数据库脚本 - 几次救了我......看起来很尴尬,它完美无缺。

我有200个表我不知道这是否适合大型数据库。

当你点击下方的绿色箭头时,我的会说“找不到表”。

只需忽略该错误并点击上方的绿色箭头即可。 它会起作用的。 不知道为什么。

https://rumble.com/v1hb57z-oracle-toad-schema-copy-gives-error.-just-ignore-error-.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM