无法使用数据泵从映射的网络驱动器导入转储

Posted

技术标签:

【中文标题】无法使用数据泵从映射的网络驱动器导入转储【英文标题】:Can't import dump from mapped net drive using data pump 【发布时间】:2016-03-26 20:53:48 【问题描述】:

我正在尝试从网络驱动器的 .dmp 文件导入少数用户。不幸的是,我似乎缺乏这样做的一些权利,因为我得到了

ORA-39001: invalid argument value
ORA-39000: bad dump file specification
ORA-31640: unable to open dump file "\\net\drive\directory\placeholder\my_dump.dmp" for read
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 5) Access is denied.

我不知道为什么,因为我既可以访问那个目录,又可以在那里保存一个 txt 文件。

目录在数据库中保存为“\net\drive\directory\placeholder”。日志文件指定了其他目录(不在网络驱动器上)。

是否有任何解决方法可以导入此转储而不实际将其移动到本地驱动器?转储真的很大,我没有空间(甚至没有关闭),我也不能(可能)更改我在这个映射驱动器上的权限。

我也不能真正使转储变小。

在一个站点上,我发现了这条建议 - “请记住,您的操作系统用户 ID 可能不是在操作系统、UNIX、Linux 或 Windows 中运行提交的 RMAN 作业的 ID。” 解决方案是“

In the ControlPanel services:  
Right click on service
Select ?properties?
Select ?logon?
Change the default user ID to an Oracle user with Windows administrator privileges"

但我不确定这实际上会对服务器/数据库产生什么影响,而且我正在使用客户端的服务器,所以我不想轻率行事。我也不想重置数据库或服务器本身。

对我该怎么做有帮助吗?

【问题讨论】:

【参考方案1】:

问题是您的 Oracle 实例在不同的用户帐户下运行,该用户帐户无权访问网络驱动器。 除非您不想在不同的帐户下运行 Oracle,否则您可以将当前 Oracle 的实例用户帐户(通常是 Windows 平台的 LocalSystem)的读取权限授予您的网络共享。另一种选择可能是通过 dblink 从源数据库导入数据(在这种情况下您根本不需要转储文件)

【讨论】:

认为它具有读取权限,但遗憾的是当时我无法联系服务器的管理员。关于 dblink - 我完全没有考虑过这个解决方案。它会简单得多。最后,我刚刚将我的环境划分为 5-6 个单独的转储,并逐个导入它们(负载转储、导入、删除转储、加载新转储、导入...)。除非客户端扩展服务器,否则 dblink 将是我在不久的将来做到这一点的最佳方式。谢谢你的帮助!不敢相信我没有考虑过;]

以上是关于无法使用数据泵从映射的网络驱动器导入转储的主要内容,如果未能解决你的问题,请参考以下文章

XP无法访问映射网络驱动器

急!!!电脑无法映射网络驱动器

群晖映射网络驱动器数量

Azure 文件共享:无法映射网络驱动器

电脑重装系统后,无法映射网络驱动器,是怎么回事呢?

win7映射网络驱动器问题