Чтобы SQL * Plus возвращал код ошибки, запустите сценарий с whenever sqlerror exit sql.sqlcode;
.Я не уверен, как работает Java \ с кодами возврата операционной системы, но вот пример, показывающий, как он работает в командной строке DOS:
SQL> whenever sqlerror exit sql.sqlcode;
SQL> select * from dual where this_column_doesnt_exist = 1;
select * from dual where this_column_doesnt_exist = 1
*
ERROR at line 1:
ORA-00904: "THIS_COLUMN_DOESNT_EXIST": invalid identifier
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
C:\>echo Exit Code is %errorlevel%
Exit Code is 904