To H2oRider -- does your application access the Oracle dll in the GAC? What I recommend you do is this: Add the dll to your project and set the build action to "content" and set "copy to output directory" to "copy always".
Then delete your reference(s) to the dll in the GAC. Re-add the reference, but this time drill down to the one you just added to your project.
Now publish it. The application will look for the dll locally, and the dll is included in the deployment so it will find it.
If this doesn't work, then it might be that you can not use that dll if included locally rather than in the GAC. This is true of some assemblies, like the Office PIAs. In that case, the only way to deploy it is to wrap it in a setup & deployment package and use the Bootstrapper Manifest Generator to turn it into a prerequisite you can publish with ClickOnce deployment.