Llamar a procedimientos almacenados usando execute como arriba es específico de SQL*Plus. De hecho, SQL*Plus convierte execute some_proc() en BEGIN some_proc(); END; , Puede verlo usted mismo si intenta llamar a un procedimiento que no existe:
SQL> execute some_proc()
BEGIN some_proc(); END;
*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00201: identifier 'SOME_PROC' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored