Welcome to LQ.
The oracle user isn't running the script. When you su to the oracle user you basically start a new shell as that user, and your original bash (as run by root) will wait until this shell exits to continue.
You may want to consider using expect
instead of bash for the whole script, or at least for parts of it. Expect comes with a script that automates generating expect-scripts, very nifty indeed.