关于TNS_ADMIN环境变量


这里我补充一句:TNS_ADMIN正常是写客户端的路径(但是很奇怪,我改成服务端的居然也不影响访问,我服务端客户端都在本地)

很多oracle产品都有自己的TNS文件,如果你的系统里装了多个Oracle的产品的话,那么客户端连instance的时候,到底是使用那个tnsnames.ora呢?这个时候就需要看TNS_ADMIN这个参数了。

Question: What is the tns_admin parameter and how do I use tns_admin to define a common location for my TNS files?

Answer:  The tns_admin parameter determines the location of the tns administration files (e.g. tnsnames.ora and listener.ora, etc.) 
The tns_admin parameter is super useful on servers with many databases on different release levels (hence different $ORACLE_HOME directories) because all databases tns_admin values can be set to a single location, allowing a single set of SQL*Net files for all databases on the server. 

Without the tns_admin variable, each instance would have it's own set of TNS files in the $ORACLE_HOME/network/admin directory.


查看方法:命令行
C:\Documents and Settings\ptian>set TNS_ADMIN
TNS_ADMIN=D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN
这就表示客户端会从D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN下读取TNS的设置

修改方法:
有两个地方可以修改,一个是注册表,一个是系统环境变量。
注册表的位置:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\TNS_ADMIN
系统环境变量的优先级高于注册表,如果设置了环境变量,那么就会忽略注册表的值。

转载自:https://blog.csdn.net/pan_tian/article/details/7699599/


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM