0

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

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

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

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

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

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

4

1 回答 1

1

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

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

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

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

于 2018-02-07T02:55:39.910 回答