Дадена сесия на sqlplus може да се свърже само с една db наведнъж, така че вашето изискване „по едно и също време“ по същество не е начинаещо. Ако „по едно и също време“ наистина означава „последователно, в един и същ скрипт, тогава се връщате към коригирането на вашия низ за свързване. И при това вие „имате повече грешки от ранна игра на Метс“ (с извинения към всички фенове на NY Mets).
Първо, вашият скрипт показва, че вашата команда sqlplus е първата действителна команда след спецификацията на вашия шел процесор и 'set -x'. И все пак вие използвате интензивно променливи на средата като заместители на потребителско име, парола и име на връзка - без изобщо да задавате тези променливи.
Второ, използването на '&' в командния ред е напълно объркващо както за мен, така и за анализатора.
Трето, трябва да предхождате препратката си към sql скрипта с '@'.
Четвърто, вашият ред на елементите в командния ред е грешен.
Опитайте това
#!/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