Christopher Stephens, that sounds great, but I do have some questions. If I'm understanding the idea correctly, I think we'd need to have a programmatic way to generate those DAF_BUTLER_ORACLE_TEST_URI values, and to avoid clashes it seems like we'd need to have them managed by some kind of lock. I assume we could invent some way to do that via a table in the testing database that could be queried for available test schemas. Or were you thinking that we'd just assign schema subsets to users in advance, and let users take care not to run multiple test suites in parallel?
In case it helps, we may be able to get away with doing all of the testing in a temporary tablespace, depending on how SQLAlchemy engine/connection object lifetimes correspond to Oracle sessions.
I assume Oracle schemas and users are too tightly coupled for a testing database where users have the ability to do CREATE SCHEMA to work?