两台linux主机如何远程执行oracle数据泵导入操作?

需求是这样
有两台Linux主机,A主机上安装了Oracle client 11g,B主机上安装了完整的Oracle数据库11g,只能远程A主机的SSH,通过A主机访问B主机上的数据库,但A主机不能SSH到B主机。
需要通过A主机将数据泵的DMP文件导入到B主机的数据库中
但因为客户安全要求,不能通过A主机将文件上传到B主机,所以现在想通过远程执行IMPDP命令,将A主机上的数据泵文件,直接导入到B主机的数据库中,请问请问这个命令改如何写?

麻烦讲解的详细一些,不是这个专业的,很多细节不太懂,十分感谢

分下情况

  1. 假设数据量不大,建议将dmp内的各个对象用sql脚本的形式在B数据库执行
  2. 数据泵文件根据导出程序的不同,分为两种,一种是通过dmpdp导出的,一种是通过dmp导出的。对于dmp导出的文件,可以在imp命令中指定客户端本地路径的dmp文件,比如
    imp 用户名/密码@监听器路径/数据库实例名称 file='d:\数据库文件.dmp' full=y ignore=y
    
  3. 想办法将这个dmp文件以一个blob值的方式存入B数据库中一个BLOB字段内,然后在B数据库上执行将这个BLOB字段作为文件写入B主机的目录,此时即可执行impdp命令。但将BLOB插入到数据库,这个就可能得借用其他开发语言了,如果有图形化工具能连数据库就可以直接导进去,可惜你这是通过跳板机再连的。
  4. 不知道你B主机能不能访问A主机,可以要求对方把A主机的一个目录挂载到B主机上,然后在B数据库内创建对应的目录,此时也可使用impdp导入

可以使用scp命令试试,
比如目前我们处在IP为“192.168.60.133”的Linux系统下,计划将系统下的/home/ixdba/etc.tar.gz文件拷贝到IP为“192.168.60
168”的远程Linux系统中root用户下的/tmp目录下:
scp /home/ixdba/etc.tar.gz root@192.168.60.168:/tmp
命令输入完毕,会要求输入“192.168.60.168”服务器root的密码,然后开始远程拷贝数据。
如果我们处在“192.168.60.168”服务器上,也可以使用下面的命令传输数据:
scp root@192.168.60.133:/home/ixdba/etc.tar.gz /tmp
命令输入完毕,此时会要求输入“192.168.60.133”服务器root的密码,然后开始远程拷贝数据。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632