database - 如何将数据从一个数据库复制到不同服务器上的另一个数据库?

标签 database oracle testing backup sqlplus

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

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

谢谢!

最佳答案

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

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

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

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

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

如果你在每台服务器上都有数据库监听器并且 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 的数据库链接。 然后,您可以对一个实例或另一个实例或两个实例上的数据执行您有权执行的任何操作。

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

关于database - 如何将数据从一个数据库复制到不同服务器上的另一个数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13595333/

相关文章:

MySQL:语句是否缓存在数据库中?

database - 从 APEX 更改 Oracle 数据库密码密码

oracle - 在oracle中选择*分组依据

android - 在 Android 上运行 Selenium 测试

mysql - 将频繁更新的列移至单独的表以获得更好的性能?

php - 数据库中未创建表

java - Solaris 但不是 Windows 中的 Oracle JDBC 连接异常?

xml - 在 Oracle 存储过程中将 XmlType 转换为 CLOB

testing - Ember 测试中的异步调用

java - 如何在具有工厂方法的 spring MVC Controller 中进行集成测试?