मैंने इस मुद्दे को हल कर दिया है और अगर कोई ऐसी समस्या का सामना करता है तो मैं समाधान वापस पोस्ट करता हूं।
अगर मैं स्क्रिप्ट में डीडीएल कमांड नहीं डालता तो रोलबैक सही ढंग से किया जाता है।
तो स्क्रिप्ट:
set autocommit off
whenever SQLERROR EXIT ROLLBACK
insert into a values (1);
insert into a values (2);
insert into a values ('x');
commit;
काम करता है।
और अगर डीडीएल का उपयोग किया जाता है तो सामान्य तौर पर ओरेकल रोलबैक कार्यक्षमता प्रदान नहीं करता है।