Estou usando o NHibernate 4.0.4 e instalei o pacote nuget "Oracle.ManagedDataAccess" ( https://www.nuget.org/packages/Oracle.ManagedDataAccess/ ).
Para configurar o NHibernate para usar o Oracle Managed Driver é necessário alterar um pouquinho o arquivo hibernate.cfg.xml - e usar o NHibernate.Driver.OracleManagedDataClientDriver como o "connection.driver_class".
Portanto, meu arquivo de configuração xml é o seguinte:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.driver_class">NHibernate.Driver.OracleManagedDataClientDriver</property>
<property name="connection.connection_string">User Id=user;Password=pws;Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.18)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=SRV)))</property>
<property name="show_sql">true</property>
<property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
</session-factory>
</hibernate-configuration>
Boa sorte - eu sei que usar Oracle e ORM pode ser uma experiência bastante chata, mas que vale a pena o esforço no final.