Hi Damir,
you can trace it if you like, but Oracle will COMMIT before running the recursive SQL to facilitate the DDL statement, This will update the dictionary tables - depending on what the DDL created, altered or dropped - and then COMMIT, the recursive SQL's changes.
If Oracle did not COMMIT after running the DDL's recursive SQL, then the object(s) created/altered/dropped by the DDL statement would not become permanent.
So, if the DDL statement(s) work ok, we have this:
- COMMIT;
- DDL;
- COMMIT;
If the DDL failed for some reason, we have this:
- COMMIT;
- DDL;
- ROLLBACK;
HTH