使用 impdp 从不同服务器恢复 Oracle 12c 架构

使用 impdp 从不同服务器恢复 Oracle 12c 架构

我在 AWS 中创建了 2 个 EC2 实例。

一个充当DB服务器,一个充当客户端。

Oracle 12c DB 实例安装在 DB 服务器上,Oracle 12c 即时客户端安装在客户端服务器上。

我创建了一个模式,在其中添加了一些表和数据,然后导出了数据库转储和日志。

我能够从 Oracle 客户端服务器通过 sys 用户连接到 Oracle 服务器。

我已将导出的数据库转储(使用 expdp 命令)和日志传输到客户端服务器。

我正在尝试使用 impdp 命令从客户端服务器导入导出的数据库转储。

create directory dumpdir as '/home/oracle/exportDB';
impdp smithj/pwd4smithj@newdevdb schemas=smithj directory=dumpdir dumpfile=smithj.dmp logfile=expdpsmithj.log

但我不知道如何将本地服务器(客户端服务器)路径作为目录提及。

每当我尝试添加虚拟目录时,它都说路径不存在。

此路径 /home/oracle/exportDB 位于客户端服务器中。

由于我没有选择,您能给我一些建议吗?

PS:我这样做是为了 POC 目的,因为 DB 服务器空间较小,无法将 DB 转储文件发送到 DB 服务器,因为它太大了。请不要否决这个问题。我搜索了很多论坛,但没有提到这一点。

答案1

dumpdir从数据库(服务器)的角度来看,始终会创建该目录。您的impdp命令会使用该目录。最好的方法是创建指向客户端上的目标目录的链接,或者挂载共享或任何你喜欢的方式。然后使用类似CREATE OR REPLACE DIRECTORY dumpdir AS '/mount/dump_directory_on_client/';CREATE OR REPLACE DIRECTORY dumpdir AS '\\client\dumpdir';(例如,对于 Windows)在 Oracle 中创建目录并再次开始导入。

相关内容