Hibernate will work fine with Oracle 9i (that's what my company uses).
Since Hibernate uses JDBC, with enough time, work, and craftiness you should be able to hand-code JDBC to be faster than Hibernate. The trick, however, is that with a sufficiently complex application, the risks of making a mistake with JDBC are greater than with a tool like Hibernate, JDO, TopLink, etc.
If your business logic modifies more than one object or different fields of the same object in different methods, optimizing JDBC becomes quite difficult and error prone. Hibernate helps out here by persisting object changes as a single unit, allowing some optimization (e.g. convert two updates to a user into a single SQL update).
I suggest reading some of the past messages in this forum to get a feel for the differences and whether or not Hibernate or a similar tool will be right for your application. There is no single answer.