我已经起草了一个连接到多个架构的代码,但只有一个架构正在执行而没有连接到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
答案 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
[..]