Python's DBI API sucks
Oracle has the right idea for transactions; a transaction is a child of a connection, and a statement is a child of that. Perl and Python both assume that a connection is a transaction, and that really sucks.
OCIServerAttach() allocates some memory; its reciprocal function, OCIServerDetach(), frees 344 bytes less. That's right -- if you make a connection to Oracle, you're excersizing a memory leak.