【问题标题】:Oracle Data Pump Transfer Between Databases数据库之间的 Oracle 数据泵传输
【发布时间】:2018-07-17 01:32:38
【问题描述】:

我对数据泵有特殊需求,但我很难寻找解决方案。

目前,我有一个 exp/imp 程序,可以从一个数据库中导出表(有选择地基于查询),然后将相同的数据导入另一个数据库。该程序和转储文件驻留在可以访问源数据库和目标数据库的公共服务器上。这是一个完全自动化的过程。效果很好,虽然速度很慢。

由于各种原因,我必须迁移这个程序以使用数据泵。现在最大的变化是 dmp 文件的位置。我对数据库服务器本身的访问也非常有限,但我可以运行数据泵。

该过程将从同一公共服务器运行,但导出的文件现在将驻留在源数据库的数据库服务器上。那里没有问题。我可以使用 expdp 创建 dmp 文件。

我的问题是如何将相同的数据导入目标数据库。当我运行 impdp 时,它期望目标区域(而不是源区域)中有一个 data_pump_dir。同样,这是自动化的,我无法使用 scp 或 ftp 或类似的方式传输 dmp 文件。

我可以用什么来使用数据泵解决这个问题?

【问题讨论】:

  • scp/sftp 可以自动化。网络共享目录也是一个东西。
  • 对,但我真的无权这样做。理想情况下,我会将此进程设置为在数据库服务器上单独运行。在源上导出,在目标上导入,并使用 scp 传输文件,但这是不可能的。
  • 如果他们之间有数据库链接,stackoverflow.com/questions/21412533/…

标签: oracle datapump data-transfer-objects impdp expdp


【解决方案1】:

没有理由不能在两个数据库上配置外部目录:

CREATE DIRECTORY mydumpdir AS '/whatever/the/path/is';

然后,impdp 和 expdp 会将 DIRECTORY 参数作为 mydumpdir

确保您为 Oracle 架构/用户配置了读取/写入目录的权限,并且 oracle 进程帐户也应该具有操作系统级别的权限来读取/写入该位置。 expdp 服务器也应该具有写入权限,因为它可能正在尝试将报告写入位置,或者您可能正在使用它来进行文件清理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多