Почему вы считаете, что утилита SQL Plus не подходит для пакетного использования? Довольно часто его используют для запуска таких сценариев - вы можете передать сценарий в SQL Plus, когда вызываете его, если хотите, т.е.
sqlplus scott/tiger@someDatabase @someScript.sql
Это довольно распространенный способ развертывания сборок.
Если проблема в том, как SQL * Plus обрабатывает ошибки, вы можете просто добавить строку
WHENEVER SQLERROR EXIT SQL.SQLCODE
, чтобы прервать и выбросить номер ошибки Oracle, который был обнаружен. Документация для команды WHENEVER SQLERROR также содержит ряд других опций.