3

我正在使用安装了 Oracle 11g 的测试服务器。我想知道是否有办法在我的本地 Linux 机器上复制数据库(环境 + 数据)。我在带有 SUN Virtual Box 的 Windows XP 上使用 CentOS 5.3。在 Windows 上,我使用 sqldeveloper 客户端连接到 11g 数据库。


4

3 回答 3

3

有多种方法可以移动数据:

  • 在测试服务器上恢复 RMAN 备份
  • 使用 exp/expdp/imp/impdp 导出和导入数据
  • 使用可传输表空间导出和导入(更多信息
  • 使用数据库链接使用 SQL 复制数据
于 2010-03-24T11:00:40.510 回答
0

您可以使用数据库配置助手从生产数据库生成模板。这将为您提供所有参数和表空间等。您将需要稍微调整配置;例如文件路径可能错误,某些参数可能需要缩小。然后,您可以将该模板输入 DBCA 以在您的 Linux 机器上克隆数据库。

要获取模式和数据,您应该使用数据泵(而不是旧的导入/导出实用程序)。这可以从命令行或从PL/SQL运行。

请记住,在开发或测试环境中使用生产数据可能会导致您违反数据保护法和其他合规性问题。这取决于您的应用程序做什么以及您在哪个司法管辖区下运作。但是,如果您的生产系统包含公民的个人数据,您需要非常小心。有一些产品将在数据导入过程中应用屏蔽(Oracle 出售一种),但它们往往很昂贵。滚动您自己的遮蔽产品可能会很棘手:如果这适用于您的情况,请务必尽早让您的合规人员(法律团队)参与进来。

于 2010-03-24T10:17:25.077 回答
0

如果您的开发与核心数据库功能无关,我建议您安装可在本地免费使用的 Oracle XE。然后,您可以使用上面给出的方法将数据泵入 Oracle XE 并在其上编译您的代码,但对于开发,我认为您不需要像生产中那样多的数据。

于 2010-03-24T14:00:31.417 回答