As you've correctly surmised, the DB only allows a single SQL statement to be executed per open session. MySQL and MS Access both exhibit this behavior. i.e. not a Perl issue but a DB issue.
update: I missed the Oracle reference (or it was added at some later point). From what I remember of Oracle version 7.x, newlines will do as statement terminators.