Oracle 11g软件包无法通过ssh发送文件

时间:2017-01-25 14:53:05

标签: linux oracle ssh oracle11g scp

我在Oracle 11上有一个程序包,它通过ssh从oracle文件夹发送文件到另一个目标(另一台机器或同一台机器上的其他用户)。

包发送文件如下:

host_command(p_command => 'cd /u01/app/oracle/product/11.2.0/db_1/oraclefolder;/usr/bin/scp -p txt.zip anotheruser@127.0.0.1:/home/anotheruser/userfolder');

但是我得到了这个错误:

"Host key verification failed.
 Mensaje : ORA-0000: normal, successful completion"

当我在SQL Developer上尝试相同的命令时,它不会给出任何错误但它不起作用(文件未发送):

SET SERVEROUTPUT ON SIZE 1000000
BEGIN
host_command(p_command => 'cd /u01/app/oracle/product/11.2.0/db_1/oraclefolder;/usr/bin/scp -p txt.zip anotheruser@127.0.0.1:/home/anotheruser/userfolder');
END;
/

PL/SQL procedure successfully completed.

当我在linux机器上尝试相同的命令(oracle用户)也可以工作(文件也被发送):

[oracle@machine oraclefolder]$ /usr/bin/scp -p txt.zip anotheruser@127.0.0.1:/home/anotheruser/userfolder
txt.zip                                                            100%  166     0.2KB/s   00:00
[oracle@machine oraclefolder]$

我尝试将文件发送到远程服务器并发生相同的情况,但程序包失败但命令行正常工作 ¿为什么程序包无法发送文件?

更新:同一个包在另一台机器上运行。克隆了数据库,并将此克隆安装在另一台计算机上。这台其他机器可能有其他配置,但我不知道在哪里看。

更新:我知道问题是什么,但我不知道如何解决。当我通过SQL Developer或TOAD运行包时,文件被压缩并由用户“grid”发送,但是当包自己运行(由作业/计划/程序运行)时,文件将被压缩并通过以下方式发送:用户oracle。 ¿谁控制用户创建,压缩或发送文件? ¿我怎么能改变这个?

0 个答案:

没有答案