我对数据泵有特殊需求,我很难找到解决方案。
目前,我有一个exp / imp程序,它从一个数据库中导出表(有选择地基于查询),并将相同的数据导入另一个数据库。此程序和转储文件驻留在可以访问源数据库和目标数据库的公共服务器上。这是一个完全自动化的过程。它运作良好,虽然很慢。
由于各种原因,我必须迁移此程序才能使用数据泵。现在最大的变化是dmp文件的位置。我对数据库服务器本身的访问权限非常有限,但我可以运行数据泵。
该过程将从同一个公共服务器运行,但导出的文件现在将驻留在源数据库的数据库服务器上。没问题。我可以使用expdp创建dmp文件。
我的问题是如何将相同的数据导入目标数据库。当我运行impdp时,它期望目标区域(不是源区域)中的data_pump_dir。同样,这是自动化的,我没有能够使用scp或ftp或类似的东西传输dmp文件的奢侈。
使用datapump可以用什么来解决这个问题?
答案 0 :(得分:0)
您无法在BOTH数据库上配置外部目录:
CREATE DIRECTORY mydumpdir AS '/whatever/the/path/is';
然后,impdp和expdp将DIRECTORY参数作为mydumpdir
确保为Oracle模式/用户配置读/写目录的权限,并且oracle进程帐户还应具有对该位置进行读/写操作系统级别的权限。 expdp服务器也应具有写访问权限,因为它可能尝试将报告写入这些位置,或者您可能正在使用它来进行文件清理。