This script was written to monitor a program whose process life was only a few seconds. It runs forever and only outputs that SQL which is generated by the program as it's running.
To use it, simply replace MyProgram with your program's name.
while true; do
sqlplus -S system/oracle <<!
set feedback off
set verify off
set heading off
select a.piece, a.sql_text from v\$sqltext a, v\$session b
where b.program like 'MyProgram'
and a.address = HEXTORAW(b.sql_address)
and a.hash_value = b.sql_hash_value
order by a.piece;