Question: why ddl commands are autocommit?
Answer: The short answer is, because. The slightly longer answer is: DDL writes to the data dictionary. If DDL didn't issue implicit commits the data dictionary could get hung up in long-running transactions, and that would turn it into a monstrous bottle neck. Remember, every single SQL statement queries the data dictionary.