Distributing new tnsnames.ora to 2000+ clients

Dear all,
We are in process of migrating from single instance to RAC. Following is configuration of single instance database 'orcl'
HUY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = cc1001-hisdbs01)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
While the one given below is tnsnames.ora of our RAC setup, to which we will migrate.
ORCL2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hisdbs02-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(INSTANCE_NAME = orcl2)
ORCL1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hisdbs01-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(INSTANCE_NAME = orcl1)
HUY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hisdbs02-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = hisdbs01-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(failover=on)
(load_balance=on)
(failover_mode=
(type=select)
(method=basic))
What are short term and long term solutions.
Short term solution can be to put VIPs of both nodes of the RAC in DNS and let DNS do dynamic load balancing (round robin).
One of the long term solutions can be to have one directory mapped to all clients which contains tnsnames.ora and have TNS_ADMIN on client side pointed towards this directory containing tnsnames.ora
What are your recommendations? Please suggest.
Br,
Anjum

I'd strongly suggest looking in to
migrating to Oracle Internet Directory rather than
having 2000 client machines relying on localnaming.
That is a very good advice. Considering there are no
remaining network issues. And, since the machines are connecting to the database through the network, there should be limited network issues to contend with.
I also support Justin's advice. Especially since the use of Oracle's LDAP (installed as the Single Sign-on components of the App Server 10.1.2 infrastructire) is included in the 10g database license fee as per the Licensing manual.
If there are significant Oracle7 and Oracle8/8i installations still around, then parallel LDAP with ONAMES.

Similar Messages

  • TNS_ADMIN (path to tnsnames.ora) using Instant Client IGNORED

    Hi,
    I developed a simple utility which uses OCCI LIB from 10g release. I'm deploying it with Oracle Instant Client lite libraries.
    Everything works fine when tnsnames.ora is present in the same dir. When I move it somewhere else and set TNS_ADMIN to that directory, it doesn't work anymore:
    C:\uplob>set TNS_ADMIN=c:\tns;
    C:\uplob>echo %tns_admin%
    c:\tns;
    C:\uplob>uplob u/p@xe 15 input.dat
    Exception:12154 ORA-12154: TNS:could not resolve the connect identifier specif
    ied
    This seems very simple, but I still cannot determine why TNS_ADMIN is not being taken into account.
    Thank you for any help with this issue,
    david

    I think for Windows ,
    You may have to set this in MY-COMPUTER-->Advanced-Env-Variables
    and reboot to take effect.
    rgds

  • How to define a DSN without using a tnsnames.ora on the PC client machine

    Hi,
    Client : Windows XP with Oracle9i ODBC driver
    Server : Oracle 10 on Solaris
    I need to define a DSN which does not rely on tnsnames.ora on the client machine.
    I tried to use a file dsn, but without success, because I don't know the parameters to use.
    I used these params in the file.dsn :
    [ODBC]
    DRIVER=Oracle9i ODBC Driver
    UID=testuser
    PWD=testpw
    SERVER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost)(PORT=9999))(CONNECT_DATA=(SERVICE_NAME=testSID)))
    It does not work ....

    Hrm, interesting. It always used to be DBQ but it seems it might have changed to SERVER at some point.
    Anyway, I tried this and it worked fine for me (using 10204)
    TESTFILE.DSN
    ================
    [ODBC]
    DRIVER=Oracle in OraDb10g_home1
    server=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=gdarling-pc2)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)))
    TEST.VBS
    ==========
    set con = createobject("adodb.connection")
    con.open "filedsn=testfile;uid=scott;pwd=tiger;"
    set rs = createobject("adodb.recordset")
    rs.open "select user from dual",con
    msgbox rs.fields(0).value
    Note also that unless you really want to create a file dsn, you could also just use a dsnless connection string and pass that directly too:
    set con = createobject("adodb.connection")
    con.open "driver={Oracle in OraDb10g_home1};uid=scott;pwd=tiger;server=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=gdarling-pc2)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)))"
    set rs = createobject("adodb.recordset")
    rs.open "select user from dual",con
    msgbox rs.fields(0).value
    Hope it helps,
    Greg

  • Substitute for TNSNAMES.ORA ?

    Hi Gurus,
    Actually I don't want to keep the tnsnames.ora on every client ... rather I would like to have it at the server side. So, overtime we have a new entry I don't have to update all client's tnsnames.ora ... one update on the server side should do the job ...
    Is there any way to accomplish this task ?
    Appreciate all your reply.
    Thanks
    Vaithy

    There are a couple of options here...
    For larger sites, you will want to install Oracle Internet Directory. You could also install an Oracle Names server, but that it being desupported over time, so it's not appropriate for a new installation. The Net Services Administrator's Guide has a section on configuring directory services http://download-west.oracle.com/docs/cd/B10501_01/network.920/a96580/namingcf.htm#479411
    If we're talking about a small group, and you don't want to administer another application, you could set the TNS_ADMIN environment variable on each client machine to point to a shared tnsnames.ora file on a file server somewhere. There are probably performance downsides here (I've never tested it) and it doesn't scale well, but it's probably fine for a work group of developers or interactive users.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • SQLDeveloper stubbornly refuses to see my tnsnames.ora changes...

    Win32 x86 32-bit running SQLDeveloper 2.1.1
    Previously, I had a tnsnames.ora file in place with several hundred entries. SQLDeveloper worked fine.
    Then I deleted that file and created a new tnsnames.ora file with only one entry.
    When I try to define a new Database Connection (Connection Type: TNS), I still see all the old entreis under Network Alias. (Yes, I've quit and restarted SQL Developer).
    I do not have a tnsnames.ora file in my home directory...in fact, the only one on the whole box lives in $ORACLE_HOME/network/admin (I searched ;-) I have setup a TNS_ADMIN environment variable...no change.
    I suspect there is something cached somewhere, but I did a registry search for "TNS" and didn't find it.
    I've since uninstalled the client and reinstalled it, and ran a fresh copy of SQLDeveloper...and it's still showing the old entries!
    What am I missing? Some preferences/properties cache file somewhere? Is there a way in SQLDeveloper to say "go refresh your list of tns entries"?

    Half progress...I found a small typo in the new tnsnames.ora that made it invalid. Fixing that made it load into SQL DEveloper and I was able to connect to the DBs in that tnsnames.ora.
    BUT...it still shows all the old entries. My new entries are mixed in alphabetically with the old entries, despite the fact that my old entries are no longer in the current tnsnames.ora.
    ...?

  • TOAD/OID and TNSNAMES.ORA

    We had OID installed on a trial basis here to replace tnsnames.ora files on servers, laptops and desktops. We have since uninstalled and removed all files and registry entries of the application from the server where it was installed.
    I had my laptop set up to use OID and I removed my TNSNAMES.ORA file. I have since removed all files from my laptop that had anything to do with OID and I put in a new TNSNAMES.ORA file. At the present time I can delete my TNSNAMES.ORA file from my laptop and TOAD will still connect to Oracle. However, SQLPlus or any other tool I use to connect to Oracle will not connect. Also, I can connect to Oracle databases that are not in my current TNSNAMES.ORA file.
    I have scanned my laptop looking for TNSNAMES.ORA files. I have set my registry to include a TNS_ADMIN entry to point to my current TNSNAMES.ORA file and I have set up user and system variables to point to my current TNSNAMES.ORA file but nothing seems to stop TOAD from using the Oracle connection strings that were established in OID. By the way, I uninstalled TOAD, cleaned out all files and registry entries that I know of; then I reinstalled TOAD. That didn't help either.
    Does anybody have any ideas of where I can look to resolve this?
    Thanks,
    Tom

    Is it possible, you are a 'victim' of hostname resolution? If there's a constellation like:
    1)You have a host named host.something.com
    2) You enter 'sqlplus scott/[email protected]'
    then Oracle generates
              (DESCRIPTION=
              (CONNECT_DATA=(SID=*)(SERVICE_NAME=host.something.com))
              (ADDRESS=(PROTOCOL=TCP)(HOST=host.something.com)(PORT=1521))
    Connect will succeed if you have a corresponding configuration on the server side,you don't need any configuration files on the client side.
    BUT, since you have sqlnet.ora, which points to tnsnames as name resolution, it would mean TOAD ignores yout sqlnet.ora. Nevertheless host name resolution could be an explanation for this mysterious behaviour.

  • Still using an old tnsnames.ora even though it was erased

    I downloaded and unzipped 1.2.1-32.13. But it is not reading my new tnsnames.ora.
    My operating system is XP pro.
    Initially I had just the oracle client installed with it's own tnsnames.ora and added sqldeveloper 1.0.0 and then later 1.2.1. I couldn't get my connections to work at all in either one. Unfortunately this was a corporate install that had some "wrapper" on it, not just the Oracle install tool and I removed it by running Oracle install tool and then removing oracle_home from the registry - something initially fishy here because Oracle couldn't completely get rid of it.
    I then installed a full oracle 10g and put a good tnsnames.ora there. Now sqlplus and the database work fine, but sql-developer 1.2.1 still has the old (bad) tnsnames even though the file no longer exists. I did a full search of both C and D drives including system and hidden files for a file with a string that existed only in the old tnsnames file that sqldeveloper still shows and it came up with no matching files. I also can't find it in the registry (didn't expect to tho).
    My previous version of sqldeveloper (1.0.0.15.57) finds the new tnsnames.ora just fine and works well, but the new one is stuck with the old entries and I can't figure out how to tell it to get the new file.
    Thanks for any help.

    I have no defined connections in my sql-developer 1.2.1.No defined connections is consistent with not being able to find a connections.xml.
    ... tried, for example, adding the environment variable TNS_ADMIN to point to my tnsnames.adminI assume that you set %TNS_ADMIN% to the directory rather than the tnsnames.ora file itself.
    I have only one tnsnames.ora and no other files named even remotely like tnsnames and no files containing the string "P902.oracledb" which is the first tns connection shown in sql-developer 1.2.1 list of tns connections. As I said I verified this by doing a Windows search of all files on both drives including system and hidden files.A Windows search for file contents only searches contents for certain file types - I can search a directory containing a tnsnames.ora file for something that is in my tnsnames.ora file but it is not found by the Windows search.
    I suspect there is a registry entry that is pointing to somewhere, so I deleted sqldeveloper ...The TNS stuff for SQL Developer is not based on the SQL Developer install but the Oracle Client install, so reinstalling the same version of SQL Developer will not change the TNS issue.
    There has got to be some other place where this information is stored, but where?Have you checked %USERPROFILE%? This the Win XP version of the $HOME and a tnsnames.ora file in %USERPROFILE% takes precedence over one in %TNS_ADMIN% (it did for me at least).
    ##################### #############P902.oracledb.xxx.com I have not seen that and we have LOTS of comments in our tnsnames.ora file.

  • Basic questions about tnsnames.ora

    I think I am quite confused about tnsnames.ora file (this is about release 9.2).
    - I was told that a tnsnames.ora file is only necessary in the server side when you need to connect to a different remote database, but if I do not have any entry in my server tnsnames.ora then, how can the listener know which services it has to listen to?
    - I do not understand what "Dynamic service registration" is and how it can be used.
    Sorry if the level of these questions is too low for this forum, but I have not found clear answers for them.

    - The listener knows which services it has to listen
    for by
    static registration --> the database definition is in
    listener.ora
    dynamic registration --> the PMON process of the
    database registers itself with the listener,
    submitting the service_name parameter from the spfile
    | init.ora
    Tnsnames.ora is a client thingy, when connecting to
    a remote database, the local database is a client
    for the remote database.
    Hth
    Sybrand Bakker
    Senior Oracle DBAThank you for the answer.
    I made a wrong conclusion, my situation is this (there are 2 database instances in one server and the listener.ora has no list of services, so I must assume both instances are registered dynamically, am I wrong?):
    I wrongly thought that the tnsnames.ora played some role in the server side because after restarting the listener I commented the entries in the server tnsnames.ora and the listener had no service registered, then I uncommented those entries and I saw that then the listener had those services registered. I guess that what it actually happened is that it takes a little time for the listener to register dynamically after it is restarted, can it be the case?
    I have read both init.ora files but I cannot see what parameter is set to register dynamically, maybe it is only defined at spfile level. Can someone tell me what parameters must I look for?
    One more question. I have been asked if a database must be restarted to work ok when the server ip is changed (I suppose it is done without shutting the server down). Does someone know? Should the listener also be rebooted?
    Thanks again.

  • Oracle client -TNSNAMES.ora

    Hi,
    I am new to db, can any explain the use of oracle client and how to use the TNSNAMES file.
    Thanks,
    VP.

    Oracle client does what a client does in Client-Server architecture. So just read about it.
    A tnsnames.ora file maps net service names to connect descriptors. The net service name thus becomes a (most likely shorter and more readable) alias for the somewhat cumbersome net service name. In the following example, the tex after the equal sign is the connect descriptor while the text before the equal sign (net_service_name) is the net service name.
    A client needs a connect descriptor in order to connect to an Oracle instance.
    net_service_name=
    (DESCRIPTION=
       (ADDRESS=(protocol_address_information))
       (CONNECT_DATA=
         (SERVICE_NAME=service_name)))
    For example:
    ORA10 =
      (DESCRIPTION = (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = somehost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME=ORA10)
      )

  • Configuring Clients to Share Net80 Configuration (TNSNAMES.ORA)

    I'd like to setup all client net80 connections to share a
    TNSNAMES.ORA file. I have tried adding the regestry key
    TNS_ADMIN to HKEY_CURRENT_USER|ENVIORNMENT key but
    have had no success. Not sure if it should be entered as
    a environment variable, I added TNS_ADMIN to
    HKEY_LOCAL_MACHINE|SOFTWARE|Oracle|HOME0 and still had no
    success.
    The client machines are Windows 2000. Has anyone configured
    this?
    Any help would be appreciated.
    Tammy

    I found the problem... actually it was working, just not from
    Oracle's Administrator Toolbar (which was what I was using to
    test the configuration). Strange.
    Thanks.

  • Best Practice to configure tnsnames.ora on client of MAA environment in 10g

    Hi,
    I have a MAA environment, 1 RAC Primary of 2 nodes and 1 RAC standby of 2 nodes too. I want to configure the tnsnames.ora on clients (we have many clients on each PC) and I need to configure the tnsnames.
    I have read some papers but the information is not clear regarding to configure the tnsnames on clients. I just want to have only one entrie on tnsnames that I can use on clients to connect to RAC Primary and/or Standby depending on what site is primary in that moment, I was thinking in something like this:
    SALES.WORLD =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = site1a)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = site1b)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = site2a)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = site2b)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = sales.world)
    (FAILOVER_MODE =
    (TYPE = SELECT)
    (METHOD = BASIC)
    (RETRIES = 180)
    (DELAY = 5)
    Where site1 is RAC Primary now, and site2 is standby. But in case of switchover, I want that clients recognize automatically to which site connect.
    I was thinking to stop listeners on site that is not primary on that moment.
    The question is if this is the best practice on this scenario?.
    Thanks for your advice.
    Luis

    Hi Louis,
    you need to setup a service with clusterware. On both sides: primary and standby.
    On primary you start them. On standby the services are also configured but stopped.
    In case of switchover or failover, data guard will notice clusterware to bring them up.
    You need to use this service name in your clients tnsnames.
    Another issue are TCP timeouts, to protect against them you use
    outbount_connect_timeout in your sqlnet.ora
    Also have a look at
    http://www.oracle.com/technology/deploy/availability/pdf/MAA_WP_10gR2_SwitchoverFailoverBestPractices.pdf
    HTH Mathias

  • Location of tnsnames.ora for Tora and Oracle XE Client

    I Googled far and wide and did not see a CLEAR answer to my question, hopefully this will help others.
    I have installed the debian oracle-xe-client and tora packages (tora rebuilt for oracle) on Ubuntu 8.04.
    However, I did not know where I was supposed to place the tnsnames.ora file for my databases. I have tried running Tora with the environment variable of TNS_ADMIN set to the file where I placed my tnsnames.ora, however that did not work as Tora did not 'see' the file or its entries apparently. I know this works because I copied it from a Debian Etch box with the client and server installed.
    I had even added a 'network/admin' directory structure to the //usr/lib/oracle/xe/app/oracle/product/10.2.0/client (ORACLE_HOME) with the tnsnames.ora but also with no success.
    Now for the solution:
    Simply remember that TNS_ADMIN points to the directory where the tnsnames.ora is and it will work. :)
    I do have a suggestion that both Tora and sqlplus use a config file to set these directory(s) in addition to the overriding ability of the environment variable, TNS_ADMIN as is usually the case with UNIX apps (and thus expected).
    Thank you,
    Jason

    The ODBC Instant Client Readme that is included in the install also indicates that %ORACLE_HOME%/network/admin/tnsnames.ora is the correct default location. What about OCI?

  • Oracle 8i clients, inconsistent handling of tnsnames.ora (ORA-06401 gotcha)

    This is more of a bug report / oddity declaration than a real problem, though it was a pain in the butt to nail down. I post it here for the benefit of anyone else who may run into it down the road.
    Using the linux sqlplus client, I kept getting consistent failures connecting to one of a dozen db's, but tests with the (java) netasst client worked fine. After various debugging of other potential causes, it came down to strace'ing the sqlplus client, and noting that it was attempting to connect to the wrong host, despite what was specified on the command line.
    What we identified as the most probable cause:
    The routines that load and parse the tnsnames.ora file differ between the linux and java clients, with the java client being more tolerant/robust. The tnsnames.ora file I'd been supplied with had come from a fellow user's Win32 machine, and had been edited there, which probably included a couple ^M's or other non-visible characters within the file.
    The solution (at least, what I did):
    Load the tnsnames.ora file with netasst, and save it again with netasst. Netasst wrote the file in a manner that sqlplus could read accurately, and I got to go have a beer.
    - billn

    Hi Fredrik,
    You r right. But I have its entry in tnsnames.ora file. The entry looks like this -
    My_Service_Name.world =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS =
    (COMMUNITY = tcp.world)
    (PROTOCOL = TCP)
    (Server = Computer_Name_of_Server_having_Ora8i)
    (Host = IP_Add_of_Server_having_Ora8i)
    (Port = 1521)
    (Pipe = ORAPIPE)
    (CONNECT_DATA = (SID = ORCL)
    The same entry exists in the tnsnames.ora file on the local PCs (same office where the Oracle 8i Server is present) at Site 1 and these PCs connect the server without any problem.
    Thanks
    Lokesh

  • DBD::Oracle & Instant client - don't find tnsnames.ora

    Hello,
    I'm trying to use tns names in Perl scripts to connect with Instant client. I always get the ORA-12154 error when connecting with Perl :
    ORA-12154: TNS:could not resolve the connect identifier specified (DBD ERROR: OCIServerAttach).
    The perl command that raise the error is :
    +$dbh = DBI->connect("dbi:Oracle:MYDB","user","password") or die $DBI::errstr."\n";+
    I checked my Oracle installation and everything seems fine. Connection with sqlplus work without problem using the same connection string (sqlplus user/passowrd@MYDB).
    I stat'ed my tnsnames.ora file to check if it's accessed : it is with sqlplus, but not with my perl script.
    Instant Client has been installed with the zip files made available by Oracle (not RPM). ORACLE_HOME points to the installation directory and tnsnames.ora is located in $ORACLE_HOME//network/admin/. Server is a Red Hat Entreprise 5.
    In my knowledge DBD::Oracle use OCI so there should not have difference between sqlplus and DBD::Oracle. Am I wrong ? Anyone have had this problem before ?
    Thanks for your help
    Florent

    Hi,
    Environment variables was correctly defined, but your comment put me on the right track.
    I printed the %ENV content to check ORACLE_HOME which was OK.
    I check the directory and remind I put a sqlnet.ora file in the same directory than tnsnames.ora with the followin content :
    AUTOMATIC_IPC = OFF
    TRACE_LEVEL_CLIENT = OFF
    names.directory_path = (TNSNAMES)
    names.default_domain = world
    name.default_zone = world
    I removed this file and everything is ok now. I don't really know what this file is used for, but if I keep it online and change MYDB in the connection name to MYDB.world, it worked. I think I have to learn more about names...
    Thanks for your help anyway !
    Regards,
    Florent

  • Oracle client in linux problem with tnsnames.ora

    hi all
    i installed oracle-xe-cleint10.2 on linux machine i did not get any tnsnames.ora in my machine i am unable to connect to database. it shows tns connectiont identifier unfound. . is it come all with oracle client or some where else it .
    or further any proceeding i should follow steps. if found solution regard this pls forward solution to me
    Regard
    syam

    hi all
    i did not get any tnsnames.ora after installing oracle client in linux machine
    i installed oracle-xe-cleint10.2 on linux machine i did not get any tnsnames.ora in my machine i am unable to connect to database. it shows tns connectiont identifier unfound. . is it come all with oracle client or some where else it .
    or further any proceeding i should follow steps. if found solution regard this pls forward solution to me
    Regard
    syam
    Regards syam

Maybe you are looking for

  • My iPad is dead after trying to Update

    I have about a 5yr old iPad. I plugged it into my MacBook Air to charge it, got a request to update iOS to 8.2. Then got error message 3014 saying it can't be updated nor restored. Now it won't launch. Went to Support based on the error message 3014,

  • What happens when the trial ends? (Audition for Mac)

    Might be a silly question - forgive me, I'm a novice. I just downloaded Audition for Mac - and was surprised that it's free! And when the public beta trial ends - do you lose all your sessions? are you given first dibs for upgrading to the new paid-f

  • Setting audio transitions in to out??

    Say I've got 40 audio edit points. Can I apply the default audio transition to every point on my timeline at once...say between my in and out point? Learned this on Media Composer and it was very handy....just having a hard time finding it on CS6....

  • Acrobat plugin won't load in Safari

    Running Snow Leopard. Didn't select using Acrobat plugin when Acrobat first installed. Now I cannot get Safari to recognize acrobat.plugin. I tried Acrobat:Help:Repair Acrobat installation but that didn't help. Tried deleting Safari plist preference

  • LogicPro Multicore handling in "Live input Mode"

    Hi, I'm using LogicPro 9.1.3 to mix a band live. This means that I have 24 tracks with input monitoring enabled assigned to a 7.1 surround output and a latency of 128 samples. Plus a few aux return tracks for effects. Unfortunately, as explained on t