小编典典

Unix Shell脚本并行运行SQL脚本

sql

如何设置此KornShell(ksh)脚本在完成tst1.sql之后 并行
运行SQL脚本2,3,然后在完成2,3之后运行tst4.sql?这可能吗?

#/usr/bin/ksh
#SET ENVIRONMENT ORACLE

sqlplus user1/pw @/home/scripts/tst1.sql
sqlplus user1/pw @/home/scripts/tst2.sql
sqlplus user1/pw @/home/scripts/tst3.sql
sqlplus user1/pw @/home/scripts/tst4.sql
exit 0

阅读 225

收藏
2021-04-22

共1个答案

小编典典

第一条命令应同步运行…

如果您将最后两个命令作为后台进程启动(在命令末尾添加和),则它们将并行运行。

您是否要让脚本在离开之前等待最后两个过程完成?

这样的事情应该起作用:

  sqlplus user1/pw @/home/scripts/tst1.sql
  sqlplus user1/pw @/home/scripts/tst2.sql &
  pid2=$!
  sqlplus user1/pw @/home/scripts/tst3.sql &
  pid3=$!
  # pseudo-code:
  # while (`ps -p"$pid2,$pid3" | wc -l` != "1");
  sqlplus user1/pw @/home/scripts/tst4.sql
2021-04-22