通过shell脚本对其他服务器上的数据库执行oracle查询
Posted
技术标签:
【中文标题】通过shell脚本对其他服务器上的数据库执行oracle查询【英文标题】:Executing oracle query to database at other server via shell script 【发布时间】:2014-11-14 07:18:21 【问题描述】:我有一个图像服务器 (A) 和一个数据库服务器 (B)。在分析 B 的查询结果后,我必须通过 shell 脚本处理图像服务器中的文件。
我需要帮助来编写连接到服务器 B 数据库的脚本并执行查询并将结果传递到变量中。该脚本将在服务器 A 上运行。Oracle 用作数据库
【问题讨论】:
【参考方案1】:一般在 Shell 中执行 Oracle-SQL:
#!/usr/bin/bash
sqlplus -s $user/$pass@$db<<EOFSQL
# your sql here
quit
EOFSQL
获取 SQL-Script-Output(包括错误消息)到变量的示例:
result=$( sqlplus -s $db_user/$db_pwd@$db @$qry 2>&4 ; 4>&1)
如果不使用heredoc,$qry 将通过您的sql脚本的路径。
【讨论】:
我试过了,但是 oracle 客户端没有安装在运行 shell 的服务器上,因此出现了一个错误,指出找不到该命令。我必须在 50 多台服务器上执行此操作,因此我无法在其中安装 oracle 客户端。请提出一个没有 sqlplus 的解决方案。以上是关于通过shell脚本对其他服务器上的数据库执行oracle查询的主要内容,如果未能解决你的问题,请参考以下文章