Testing without a test database

Hi all,

I'm working on a very large, very complex legacy database (Oracle, > 4GB
of text data in 1000s of tables). For this situation, dropping tables
and populating them from fixtures just isn't feasible: I can't load
500MB of data every time I want to test my app. I also can't muck with
the dev database, since it is used by other developers for other
projects, and only gets cloned from the production DB once every few
months. Is there a way to short circuit the typical testing methods to
have them open a transaction, load test-specific fixtures, run the tests
and then close the transaction without dropping the tables first?

I've been googling like mad and I can't seem to find anything, but I'm
sure that I'm not the first person to run into this problem.

Any help would be appreciated.

Thanks!

I can't give you specific code examples because I am just getting into
testing myself so I just don't know enough. Right now I am working
through "The Rails Way" (http://www.amazon.com/Rails-Way-Addison-
Wesley-Professional-Ruby/dp/0321445619). It has some great stuff on
mocks and stubs that allows you to do a lot of testing without hitting
the database.

I hope that helps.