特定のsqlplusセッションは、一度に1つのdbにしか接続できないため、「同時に」の要件は基本的に非スターターです。 「同時に」が実際に「連続して」を意味する場合、同じスクリプトで、接続文字列の修正に戻ります。そして、その時点で、「初期のメッツのゲームよりも多くのエラーが発生します」(NYメッツのファンにはお詫びします)。
まず、スクリプトは、sqlplusコマンドがシェルプロセッサの指定と「set-x」に続く最初の実際のコマンドであることを示しています。それでも、ユーザー名、パスワード、接続名の代わりに環境変数を多用します。これらの変数を設定する必要はありません。
次に、コマンドラインで「&」を使用すると、私とパーサーの両方が完全に混乱します。
第3に、SQLスクリプトへの参照の前に「@」を付ける必要があります。
第4に、コマンドラインでの要素の順序がすべて間違っています。
これを試してください
#!/bin/bash
orauser1=<supply user name here>
orapw2=<supply password here>
oradb_1=<supply connection name of first database>
#
orauser1=<supply user name here>
orapw2=<supply password here>
oradb_1=<supply connection name of first database>
#
Targetdirectory=<supply value here>
#
sqlplus -S ${orauser1}/${orapw1}@${oradb_1} @Datesquery.sql >> ${Targetdirectory}/csvfile1.csv
sqlplus -S ${orauser2}/${orapw2}@${oradb_1} @Datesquery.sql >> ${Targetdirectory}/csvfile2.csv