Monday, August 27, 2007

Status 84?

Not feasable to Fix?

Annoying, to say the least - ever been in the situation where the Network Configuration Assistant could not process your tnsnames.ora? Manually edited just once too often?

I ran into this error when using the Enterprise Security Manager - I was mapping an Enterprise Role to Database Roles.

[AWT-EventQueue-0][2007-8-17:16:14:56:927] java.lang.ArrayIndexOutOfBoundsException: 240
at oracle.net.nl.NVTokens.parseTokens(Unknown Source)
at oracle.net.nl.NVFactory.createNVPair(Unknown Source)
at oracle.net.nl.NLParamParser.addNLPListElement(Unknown Source)
at oracle.net.nl.NLParamParser.initializeNlpa(Unknown Source)
at oracle.net.nl.NLParamParser.(Unknown Source)
at oracle.sysman.vdb.VdbUtil.findInTNSFile(VdbUtil.java:824)
at oracle.sysman.vdb.VdbUtil.findInTNSNAMES(VdbUtil.java:792)
at oracle.sysman.vdb.VdbUtil.buildConnectDescriptor(VdbUtil.java:295)
at oracle.sysman.vdb.VdbUtil.buildConnectDescriptor(VdbUtil.java:224)
at oracle.sysman.vdb.VdbSession.buildConnectionInformation(VdbSession.java:4195)

Not the complete stack - note the "findInTNSFile"

Much to my surprise, the ESM ignores the ldap.ora entries completely, and falls back to the local tnsnames.ora file - which it fails to process. Metalink revealed two related bugs (5527753 and 2887391), of which 2887391 looked like an exact match. 2887391 has a status "Closed, not feasable to fix", which is status 84...

The workaround is to clean up the tnsnames.ora file that is being used, and make it NetCA compatible...

Come on, Oracle! Just this once, make your C programs and java begave the same! If SQL*Plus can process this file correctly, and tnsping can, why can't NetManager, ESM or NetCA?!?

2 comments:

ekrich said...

Thank you for this post. I've been trying to get data sources in OC4J standalone to use the service name in the tnsnames.ora file. I used -Doracle.net.tns_admin=/path/to/dir/where tnsnames.ora resides as a VM option for the OC4J server in Eclipse. Now if I can make the file NetCA compatible it will be great.

Frank said...

Eric, if you can open tnsnames.ora in NetCa (Configuration Assistant), it should be OK.

Frank