从远程服务器上的本地服务器执行IMPDP命令时出现问题

时间:2019-02-22 18:57:00

标签: bash

我有两个Linux服务器A(本地)和B(远程),它们之间设置了SSH密钥。 我正在尝试在我的Shell脚本(.sh文件)中执行以下操作

  1. 在本地服务器A上执行EXPDP,生成.dmp文件。
  2. 通过SSH将文件从本地服务器A传输到远程服务器B
  3. 然后将该文件移动到远程服务器B本身的另一个文件夹中。
  4. 从远程服务器B上的本地服务器A执行IMPDP以加载转储文件( 已经通过步骤2和3)进入远程服务器B的db中了。

有效的方法:将dmp文件从本地服务器A的一个文件夹移动到远程服务器B的另一个文件夹。

ssh user@remoteServerB /bin/bash <<EOF
mv /path1/file /path2/file
EOF

什么不起作用-从本地服务器A调用impdp在远程服务器B上运行

ssh user@remoteServerB /bin/bash <<EOF1
impdp userid=${DBUSERNAME}/${DBPASSWORD}@${ORACLE_SID} tables=${TBL_LIST} directory=dir_name dumpfile=dbdump_${PRCSSDT}.dmp logfile=data_pump_dir:dblog_${PRCSSDT}.log table_exists_action=replace
EOF1

我还试图将impdp命令放在远程服务器B上的.sh文件中,并像从本地服务器A一样执行,但没有成功。

ssh user@remoteServerB /path/load_dmp.sh

我得到的错误是 impdp:找不到命令

如果您有任何解决方法,请告诉我,我已经尝试了很多,但我无法破解。

致谢

0 个答案:

没有答案