Jag löste problemet och jag skickar tillbaka lösningen ifall någon stöter på ett sådant problem.
Om jag inte lägger in DDL-kommandon i skriptet så utförs återställningen korrekt.
Så manuset:
set autocommit off
whenever SQLERROR EXIT ROLLBACK
insert into a values (1);
insert into a values (2);
insert into a values ('x');
commit;
Arbetar.
Och om DDL används ger Oracle i allmänhet ingen återställningsfunktionalitet.