Adam Ruth wrote:
I'm using OCI on Mac OS X and I've run into a strange problem with my
TNSNAMES.ORA file.
My TNSNAMES.ORA file has one entry INV4II and it works fine. However,
it will only work if that is the name of the entry. If I use any
other name for that entry I get the dreaded ORA-12154. For example:
TNSNAMES.ORA -> INV4II Application -> INV4II :: works fine
TNSNAMES.ORA -> INV4DEV Application -> INV4DEV :: ORA-12154
TNSNAMES.ORA -> INV4DEV Application -> INV4II :: ORA-12154
TNSNAMES.ORA -> INV4II Application -> INV4DEV :: ORA-12154
It's almost like that name is referenced somewhere else and so
changing tnsnames.ora isn't sufficient. But I cannot find any other
file anywhere (client or server) that that contains INV4II.
I'm a bit confused, and any help would be appreciated.
Adam Ruth
My way of looking at the TNSNAMES (and other SQLNet) stuff
TNSNAMES.ora = client file to help find the server.
- should be on any client machine that wants to find a database using
"local naming"
- may be eliminated if using 'host', 'ldap' or 'Oracle Names' naming.
- effectively says 'when user requests this "alias", ask the following
host for the following service'
LISTENER.ora = server file to listen for client requests.
- should be on any server machine that wants to listen for DB requests
- needs to have a match between a service (db-instance) and the
requested service in the client's TNSNAMES.ora file
(Latest versions of Oracle permit the database to self-register with the
listener, so it doesn't need to be listed in LISTENER.ora. I find this
causes a LOT of headache - it's assumptions and mine almost never
match.)
My suspicion - your LISTENER.ora is not set up and you are assuming
self-registering databases.
HTH
/Hans