云服务器网:购买云服务器和VPS必上的网站!

oracle数据库tns配置方法详解

TNS扼要介绍与利用
Oracle中TNS的完全定义:transparence Network Substrate透明网络底层,监听服务是它重要的一部份,不是全部,不要把TNS当作只是监听器。
TNS是O

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配置文件才能列出经过配置的服务器名。


配置文件名通常是:tnsnames.ora,默许路径:%ORACLE_HOME%\network\admin\tnsnames.ora



上图中的CGDB和STDCG就是对应的TNS,HOST是指向数据库服务器的IP,固然局域网内用计算机名称也是可以的。通过客户端Net Manager创建一个连接到数据库服务器的连接服务时,实际上就是在tnsnames.ora文件中增加了一个TNS的内容。

TNS的详细配置文件

TNS的配置文件包括服务器端和客户端两部份。服务器端有listener.ora、sqlnet.ora和tnsnames.ora,如果通过OCM(Oracle Connection Manage)和域名服务管理客户端连接,服务器端可能还包括cman.ora等文件;客户端有tnsnames.ora,sqlnet.ora。Oracle所有的TNS配置文件的默许路径:%ORACLE_HOME%\network\admin


listener.ora:监听器配置文件,成功启动后是驻留在服务器真个一个服务。监听器是用来侦听客户真个连接要求和建立客户端和服务器端连接通道的一个服务程序。默许情况下Oracle在1521端口上侦听客户端连接要求。


sqlnet.ora:用来管理和束缚或限制tns连接的配置,通过在该文件中设置一些参数,可以管理TNS连接。根据参数作用的区别,需要分别在服务器和客户端配置.。


tnsnames.ora:配置客户端到服务器真个连接服务,包括客户端要连接到的服务器和数据库的配置信息。

TNS配置

可以通过Oracle Net Configuretion Assitant配置TNS,也能够手动配置。首先在Oracle服务器端安装完成以后,应当先着手配置LISTENER,LISTENER是进行Oracle通讯的重要组件,紧接着在客户端安装Oracle client,同时配置tnsnames.ora文件。


首先监听器包括两个部份: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配置其实就是对tnsnames.ora文件的配置,tnsnames.ora有客户真个配置,也有服务器真个配置。客户端和服务器端配置的区分是由于服务器真个配置跟LISTENER的配置相关。下面是一个简单的配置示例:



tnsnames.ora也包括两部份,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) ) )


sqlnet.ora是个很重要的配置,它可以控制和管理Oracle连接的属性,根据参数作用的区别决定在客户端配置或者在server端配置。sqlnet.ora的配置是全局性的,也就说sqlnet.ora的配置是对所有的连接起作用,如果想对某个特殊的连接或服务进行束缚或限制,可以 在TNS配置相应参数。

本文来源:https://www.yuntue.com/post/236517.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注