shellscript在多个数据库中执行脚本

时间:2018-01-05 07:25:34

标签: shell

我已经起草了一个连接到多个架构的代码,但只有一个架构正在执行而没有连接到sqlplus以用于其他架构。请帮忙

#!/bin/bash
echo "Starting file execution"
date
HOSTLIST="SCHEMA1 SCHEMA2"
for HOST in $HOSTLIST
do
 sqlplus $HOST/$HOST@hostname:1521/sid << EOF >> /output/folder/output.log
@insert.sql;
commit;
EOF
echo "Completed execution"
date
done

1 个答案:

答案 0 :(得分:0)

这个脚本看起来很正确。

你必须单独检查,将循环放在一边:

sqlplus SCHEMA2/SCHEMA2@hostname:1521/sid << EOF >> /output/folder/output.log
@insert.sql;
commit;
EOF

可能SCHEMA2无法连接,或者没有足够的权利。

此外,每次执行应该有一个输出:

 [..]
    sqlplus ${HOST}/${HOST}@hostname:1521/sid << EOF >> /output/folder/output_${HOST}.log
 [..]