We have about 6 boxes running it as well, but they all run the exact same application: dev, test, qa, prod, and two external client boxes. We have to have the same rev on each box.

I've done some testing with 9. I never believe their documentation. However, the object stuff in 8.1.7 is so bad that even with Oracle the next rev has to be an improvement. :-)

We've tried using some of the Java stored proc stuff as well. It works well enough, but there is a fairly heavy hit for calling them with all the marshalling. You have to treat it as an internal service that provides large blocks of functionality, not one-off functions that do little bitty things for PL/SQL calls.