Applies to:
- MS Windows 7 Enterprise

So I can ping the server the Oracle 11g database sits on. I've installed the Oracle 11g client tools and can connect using sqlplus. But if I tnsping any oracle database, I get something along the lines of:

Message 3511 not found; No message file for product=NETWORK, facility=TNSMessage
3512 not found; No message file for product=NETWORK, facility=TNSMessage 3513 n
ot found; No message file for product=NETWORK, facility=TNSMessage 3509 not foun
d; No message file for product=NETWORK, facility=TNS

We NEED several instances of Oracle installed as we have different products/services and these run off various instances of Oracle 9i, 10g, and 11g. This article was written for those that need to support these kind of systems and not as an invite for suggestions on how my business should be run.

So there are a variety of solutions that will fix this. However we have certain restrictions in my work environment thanks partly to group policies:
  • Need to run with elevated permissions which requires UAC prompt (despite being already logged in, this is the same user but re-prompted for credentials)
  • Cannot run System Registry (not even DOS REG Query!!!)
  • All oracle utilities and connections working on my computer (except for TNSPING).
  • TNS_ADMIN is another environment variable used that we must maintain (current value at "C:\app\<myusername>\product\11.2.0\client_1\bin")
  • Setting environment variables using the Command prompt (DOS) wouldn't stick (session only).

My Fix
  1. Right-click on "My Computer" > select "Properties"
  2. Click on "Advanced System Settings"
  3. Click on "Environment Variables"
  4. Under "System Variables" modify the variable "ORACLE_HOME" (without the quotes). Or create NEW if it doesn't exist.
  5. Give it the value C:\ORACLE\product\11.2.0\client_1
  6. OK all dialogs to close and save.

The affecting TNSNAMES.ORA file for the above setup is located in "C:\app\<myusername>\product\11.2.0\client_1\Network\Admin". I also checked that the data therein matched the TNSNAMES.ORA file located in "C:\ORACLE\product\11.2.0\client_1\network\admin".

I've been asked why aren't all our Oracle databases the same version? It's due to the fact that these aren't our databases, we simply help support them. You say less than ideal, I say realistic. Quit complaining about processes and management and instead prove your worth. I'm good at what I do because I make do with what I have available and I've yet to fail in coming up with a fix/workaround. "It's a poor workman who blames his tools".

Add comment