Skip to Main Content
  • Questions
  • Is there any way to have a common tnsnames.ora file for multiple oracle home

Breadcrumb

Question and Answer

Tom Kyte

Thanks for the question, Neeraj.

Asked: January 02, 2002 - 11:22 pm UTC

Last updated: May 22, 2007 - 7:04 pm UTC

Version: 8i

Viewed 10K+ times! This question is

You Asked

Tom

1) I created two oracle home on my machine, so I have to TNSNANES.ORA files.Is there any way to have a common tnsnames.ora file for all oracle home.

2) How many oracle home can I create on a single machine. and how many database can be created in single home.

3) can you please suggest me benefits to have multiple oracle home on single machine.


and Tom said...

1) set up a TNS_ADMIN environment variable that points to the directory where this file is.

2) as many as you want

3) the ability to have more then one version of the software. If you have only one oracle home -- you have only one product. If you want more then one product, you'll have more then one oracle home.

Rating

  (9 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

Common tnsnames

jan van mourik, January 03, 2002 - 9:46 am UTC

We use the 'ifile=' parameter in all the tnsnames.ora files to point to a common tnsnames.ora file on an NT shared drive.
Pretty handy, as long as the shared drive doesn't go down :-)

jan

TNS_ADMIN

Sofie Ye, January 03, 2002 - 10:18 am UTC


TNS_ADMIN environment variable

Neeraj, January 04, 2002 - 4:21 am UTC

Tom, how I can set up a TNS_ADMIN environment variable .

Tom Kyte
January 04, 2002 - 8:13 am UTC

depends on your OS, on win/nt/2000, you use control panel->system->"advanced" (why setting an environment variable on windows is an "advanced" operation has always puzzled me -- seems to be a very straightforward, common thing but anyway - I digress)


On win/95/blah blah blah -- no idea, never used them.

On unix, modify your .profile, .cshrc, .kshrc, .whatever_your_shell_demands and add the appropriate SET or SETENV command.



TNS_ADMIN on Windows

Mark A. Williams, January 04, 2002 - 10:29 am UTC

The best place to put the tns_admin variable on Windows is in the registry under each oracle home. For example:

HKLM\software\oracle\home0\tns_admin

and set the value to the location of your tnsnames.ora file.

Of course, this is documented in the Administrators Guide...

TNSNAMES.ora with ifile

kumar, January 04, 2002 - 6:15 pm UTC

What could be the exact syntax of the tnsnames.ora file looks with this parameter added as 'ifile= '.

I want the example of tnsnames.ora file with ifile entry.

Tom Kyte
January 04, 2002 - 8:15 pm UTC

It is just:

ifile=c:\temp\tnsnames.ora

undocumented, unsupported (hence, un-mentioned by me)



Just what I needed

Tony Davies, February 14, 2002 - 10:42 am UTC

I think the above title says it all really. No more problems looking at one database with one product and another database with a different one.

Oracle homes, TNS Names

Mike Rainville, February 18, 2002 - 8:21 pm UTC

I have used two homes with different
TNS Names files in two different directories
and NO TNS_ADMIN registry entry.
The directories were NETWORK\ADMIN and NET80\ADMIN
set up by Oracles installer. If all the entries have
unique names, they can all be combined and you could put a copy in each directory.

It's possible with different MAJOR releases,
and we wanted to use 4.5 and 6.0 on the same client
PCs. Oracle switches as necessary, depending on the application (form in our case).

tns_admin, tnsnames.ora

pjp, July 27, 2004 - 3:40 am UTC

Hi Tom,

Is it mandatory to define tns_admin parameter ? if no how oracle decides where tnsnames.ora file location ?

How to see tns_admin and oracl_home value in Windows environment ? ( sorry, I know how to see in unix but not in Win )

thanks & regards
pjp


Tom Kyte
July 27, 2004 - 7:22 am UTC

no, it is not. it defaults to $ORACLE_HOME/network/admin


you would generally use regedit to see their settings in windows.

A reader, May 22, 2007 - 1:21 pm UTC

We have multiple Oracle homes on a single server (9i and 10g). We have some automated scripts that run some imports. Based on which database we have to run the import to (9i/10g), the corresponding imp utility has to be invoked ( from the corresponding oracle home). How do we handle this ?
Tom Kyte
May 22, 2007 - 7:04 pm UTC

well, just set the oracle_home, oracle_sid and PATH environment variables.

then "imp" will be $ORACLE_HOME/bin/imp (because you set the path)

or use $ORACLE_HOME/bin/imp