Scenario is documented in JIRA DBAL-202(http://www.doctrine-project.org/jira/browse/DBAL-202). Basically in oci8 if you prepare a statement outside of a transaction, start a transaction, execute the statement, rollback the transaction - the statement will still have been executed. Whether it's the correct behavior or not, it seems like it should match PDO's behavior.

This implementation affects the API, so it should probably be carefully reviewed.