【问题标题】:How copy data from one database to another on different server?如何将数据从一个数据库复制到不同服务器上的另一个数据库?
【发布时间】:2012-11-15 17:30:06
【问题描述】:

我在不同的服务器上有 2 个具有相同架构的数据库。 我需要将表 T 中的数据复制到不同服务器和网络的测试数据库中的同一个表 T 中。

最简单的方法是什么? 我听说可以将数据转储到平面文件中,然后插入到数据库中。它是如何工作的? 这可以用sqlplus和oracle数据库实现吗?

谢谢!

【问题讨论】:

  • 可能想看看rsync

标签: database oracle testing backup sqlplus


【解决方案1】:

使用Oracle export 将整张表导出到文件,将文件复制到serverB并导入。

http://www.orafaq.com/wiki/Import_Export_FAQ

您可以使用 rsync 将一个或多个 oracle .dbf 文件同步到另一台服务器。这有问题,并且同步所有文件更可靠。

对于记录组,编写一个查询来构建一个管道分隔(或任何适合您数据的分隔符)文件,其中包含您需要移动的行。将该文件复制到 serverB。为 sqlldr 编写一个控制文件并使用 sqlldr 将行加载到表中。 sqlldr 是 oracle 安装的一部分。

http://www.thegeekstuff.com/2012/06/oracle-sqlldr/

如果您在每台服务器上都有 db 侦听器并且 tnsnames 知道这两者,您可以直接:

insert into mytable@remote 
select * from mytable
  where somecolumn=somevalue;

查看远程表部分:

http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9014.htm

如果这将是一个持续的事情,请创建一个从 instance@serverA 到 instance@serverB 的 db 链接。 然后,您可以对一个实例或另一个实例或两者上的数据执行您有权执行的任何操作。

http://psoug.org/definition/CREATE_DATABASE_LINK.htm

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-10
    • 2019-12-16
    • 2017-07-03
    • 1970-01-01
    相关资源
    最近更新 更多