Oracle tnsnames.ora

时间:2021-09-17 17:08:15

安装过ORACLE的都知道,oracle安装时需要进行配置,这个配置可以在客户端的企业管理器一步一步进行,或者直接拷贝一个tnsnames.ora文件到安装目录下(c:\app\Administrator\product\11.2.0\client_1\network\admin)。 为什么要配置这个文件?这个文件的作用又是什么? SQL SERVER你使用客户端的时候,会自动搜过局域网内的在线的数据库,你就可以清楚知道哪台可以连。但ORACLE不同,不能像SQL SERVER列出来。ORACLE的客户机为了和服务器连接,必须先和服务器上的监听进程联络。ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息。一般tnsnames.ora 是建立在客户机上的。如果是客户机/服务器结构,整个网络上只有一台机器安装了ORACLE数据库服务器,那么只需在每个要访问ORACLE服务器的客户机上定义该文件,在服务器上无需定义。但是,如果网络上有多台机器均安装了ORACLE数据库服务器,并且服务器之间有数据共享的要求,那么在每台服务器上都必须定义该文件。tnsnames.ora文件缺省放在/ORACLE_HOME/ product/8.1.7/network/admin目录下。 tnsnames.ora是配置连接字符串的,会配置你连的IP,端口,数据库实例等信息记录客户端访问数据库的本地配置。下面是tnsnames.ora的文件样式: _____________________________________________________________分割线________________________________________________________________ ORA817 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = sun62)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ora817.huawei.com) ) ) INST1_HTTP = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = sun62)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = SHARED) (SERVICE_NAME = ora817.huawei.com) (PRESENTATION = http://admin) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) ________________________________________________________分割线______________________________________________________________ 字段含义如下: ADDRESS_LIST 表示该客户机要经由多种协议与一台或多台服务器连接。在该样式文件中就表示该客户机要用TCP/IP协议来和服务器相连 PROTOCOL 指明要连接使用的协议 SERVICE_NAME “SERVICE_NAME”就是“GlobalDatabase Name”,ORACLE8i数据库使用“GlobalDatabaseName”来唯一标识自己,通常的格式为“name.domain”,此处的值为“ora817.huawei.com” HOST 是TCP/IP协议使用的服务器IP地址 PORT 是TCP/IP使用的端口地址 SID 指定要连接的服务器上ORACLE数据库的ORACLE_SID SERVER=DEDICATED 表示用专用服务器连接ORACLE数据库。 下面是一个tnsnames.ora文件内容举例: ora = //连接描述符名:ora (description = //描述 (address = //网络地址之一 (protocol = tcp) //网络协议(tcp表示TCP/IP协议) (host = 129.9.114.22) //服务器IP地址:129.9.114.22 (port = 1251) //服务器端口号:1251 ) (connect_data = //连接数据 (sid = ora7) //数据库标识名:ora7 (SERVER = DEDICATED) (SERVICE_NAME = ora9i) ) )