Eu tive o mesmo problema e, após algumas tentativas e erros, descobri que o problema é com a plataforma de 32 bits versus 64 bits.
- Quando implantamos o Oracle.DataAccess.dll de 32 bits junto com o aplicativo da Web em um ambiente de 64 bits e o ODP.net instalado no servidor, esse erro ocorre.
- Uma solução é excluir o Oracle.DataAccess.dll da pasta bin e a referência correta será resolvida automaticamente.
- A segunda solução é definir a propriedade de referência CopyToLocal=false para Oracle.DataAccess.dll e, portanto, ela não acompanhará a compilação quando você implantar no IIS e o erro não ocorrerá.
- A terceira solução que prefiro é habilitar aplicativos de 32 bits para seu pool de aplicativos e você não enfrentará esse problema novamente, independentemente de Oracle.DataAccess.dll estar presente na pasta bin ou não.
Espero que isto ajude..