暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

从Oracle数据库程序执行Shell脚本。

askTom 2017-02-05
768

问题描述

嗨,专家们,

我已经完成了所需的设置,以使用链接中提到的Java类执行unix OS命令 (https://oracle-base.com/articles/8i/shell-commands-from-plsql) 从数据库程序中,我能够从Pl/SQL程序中运行echo命令,但是对于任何其他可执行命令,我都需要前缀/bin,例如。要执行ls,我需要使用如下所示的语法
<
开始
unix_command('/bin/ls -lrt');
结束;
/>

另外,有些命令无法正常工作,例如 “tee命令”,我收到以下错误。

第25行: tee: 没有这样的文件或目录

因此,在这方面,我要求帮助我能够执行不带前缀as /bin的脚本,并允许使用tee命令。

谢谢。


专家解答

我建议要么

a) 完全符合您的所有程序的资格,或
b) 运行脚本,并在其中设置路径。然后,您只需要完全限定shell程序的路径,例如

/bin/ksh/我的/完整/路径/我的 _ 外壳 _ 脚本.Sh

出于安全原因,我们这样做-否则,有人可能会改变路径,因此拿起他们 * 自己 * 恶意脚本,然后运行数据库帐户的权限。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论