oracle数据库tns配置⽅法详解
TNS简要介绍与应⽤
Oracle中TNS的完整定义:transparence Network Substrate透明⽹络底层,监听服务是它重要的⼀部分,不是全部,不要把TNS当作只是。
TNS是Oracle Net的⼀部分,专门⽤来管理和配置Oracle数据库和客户端连接的⼀个⼯具,在⼤多数情况下客户端和数据库要通讯,必须配置TNS,当然在少数情况下,不⽤配置TNS也可以连接Oracle数据库,⽐如通过JDBC。如果通过TNS连接Oracle,那么客户端必须安装Oracle client程序。
Oracle当中,如果想访问某个服务器,必须要设置TNS,它不像SQL SERVER那样在客户端⾃动列举出在局域⽹内所有的在线服务器,只需在客户端选择需要的服务器,然后使⽤帐号与密码登录即可。⽽Oracle不能⾃动列举出⽹内的服务器,需要通过读取TNS配置⽂件才能列出经过配置的服务器名。
配置⽂件名⼀般为:a,默认路径:%ORACLE_HOME%\network\a
安装oracle客户端上图中的CGDB和STDCG就是对应的TNS,HOST是指向数据库服务器的IP,当然局域⽹内⽤计算机名称也是可以的。通过客户端Net Manager创建⼀个连接到数据库服务器的连接服务时,实际上就是在a⽂件中增加了⼀个TNS的内容。
TNS的详细配置⽂件
TNS的配置⽂件包括服务器端和客户端两部分。
服务器端有a、a和a,如果通过OCM(Oracle Connection Manage)和域名服务管理客户端连接,服务器端可能还包括a等⽂件;
客户端有a,a。
Oracle所有的TNS配置⽂件的默认路径:%ORACLE_HOME%\network\admin
TNS配置
可以通过Oracle Net Configuretion Assitant配置TNS,也可以⼿动配置。
⾸先在Oracle服务器端安装完成之后,
应该先着⼿配置LISTENER,LISTENER是进⾏Oracle通讯的⾸要组件,
紧接着在客户端安装Oracle client,同时配置a⽂件。
⾸先包括两个部分:
Oracle要监听的地址、端⼝、通讯协议;
Oracle要监听的数据库实例,
⾮RAC环境下,LISTENER只能监听本服务器的地址和实例,RAC环境下,LISTENER还可以监听远程服务器。每个数据库最少要配置⼀个。(注:RAC环境,指的是Oracle服务器集配置的环境)
LISTENER部分配置了Oracle要监听的地址和端⼝信息;该⽂件中还会包括SID_LIST_LISTENER部分,这部分配置了Oracle需要监听的实例。(注:在上述截图中并没有SID_LIST_LISTENER这⼀部分,
这是因为Oracle⾃9i版本引⼊了动态监听服务注册,在数据库启动时,会⾃动注册当前数据库实例到监听列表,所以⽆需配置SID_LIST_LISTENER部分了)
HOST参数可以是Oracle服务器主机名称,也可以是相应的IP地址。
在⼀个多IP的服务器上可以配置listener同时监听多个地址,⽐如下⾯的配置:
LISTENER= (DESCRIPTION= (ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.11)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.11) (PORT=1521))) ),或者可以配置多个,分别监听不同的IP地址。
⼀般说的TNS配置其实就是对a⽂件的配置,a有客户端的配置,也有服务器端的配置。
客户端和服务器端配置的区别是因为服务器端的配置跟LISTENER的配置相关。下⾯是⼀个简单的配置⽰例:
ADDRESS_LIST 部分包含了Oracle数据库服务器的监听地址信息,也就是要告诉TNS数据库可通过这个地址和CLIENT进⾏通讯;CONNECT_DATA 定义了CLIENT要连接的数据库,以及数据库的连接⽅式,(专⽤或共享)。
在⼀个多IP环境中,TNS也可以配置多个远程IP地址:
CGDB = (DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.55)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.56)(PORT = 1521)))
(CONNECT_DATA = (SERVICE_NAME = CGDB) (SERVER = DEDICATED) ) )

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。