TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,(可以用sqlDeveloper,不用配置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配置文件才能列出经过配置的服务器名。

配置文件名一般为: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:配置客户端到服务器端的连接服务,包括客户端要连接到的服务器和数据库的配置信息。只要是发出,client,server都需要

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配置相应参数。

转自:http://www.jb51.net/article/44668.htm

oracle数据库tns配置方法详解-转相关推荐

  1. oracle tns 代理配置_oracle数据库tns配置方法详解

    TNS简要介绍与应用 Oracle中TNS的完整定义:transparence Network Substrate透明网络底层,监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器. TNS ...

  2. mysql数据库tns配置_oracle数据库tns配置方法详解

    TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,下面看一如何配置它吧 TNS简要介绍与应用 Ora ...

  3. linux oracle 用户创建,LINUX下Oracle数据库用户创建方法详解

    本文实例分析了LINUX下Oracle数据库用户创建方法.分享给大家供大家参考,具体如下: 1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切 ...

  4. 删除oracle数据库的三种方法,oracle数据库的删除方法详解

    oracle数据库的删除方法详解 1.图形界面删除 练习之前记得创建快照 执行命令之前要保证数据库属于open状态 SQL> alter database open; [oracle@local ...

  5. Linux操作Oracle(9)——Oracle数据库导入导出方法详解 EXP IMP EXPDP IMPDP

    目录 EXP全库导出语句: IMP全库导入语句: IMP单表导入语句:

  6. Linux crontab定时任务配置方法(详解)

    id="BAIDU_DUP_fp_iframe" src="https://pos.baidu.com/wh/o.htm?ltr="> 脚本之家 服务器常 ...

  7. hibenate5.1配置mysql_hibernate5.2的基本配置方法(详解)

    目标:将Student实体对象加入数据库 1.首先需要下载三个东西:hibernate,slf4j,mysql. 2.分别取他们的包导入新建的项目中,我这里的版本是:hibernate-release ...

  8. python定时任务crontab_【Python】Linux crontab定时任务配置方法(详解)

    CRONTAB概念/介绍 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. cron 系统调度 ...

  9. linux下crontab allow,【Python】Linux crontab定时任务配置方法(详解)

    CRONTAB概念/介绍html crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供以后读取和执行.linux ...

最新文章

  1. JAVA SE学习day_06:字符流、异常处理
  2. Hadoop Yarn配置参数整理(非常全面)
  3. springboot教程(三)
  4. 手写实现Spring(IOC、DI),SpringMVC基础功能
  5. 舞台现场直播技术实践
  6. TortoiseSVN使用帮助和下载
  7. java程序经过编译后会产生byte code_Java 虚拟机(JVM)内存模型
  8. HDU 4704 Sum (费马小定理)
  9. hdu_1285_确定比赛名次_201312081335
  10. captcha must be filled out_直播行业这些英文单词,不知道你就out了
  11. js插入元素的新方法insertAdjacentHTML
  12. Android入门(三)Activity-生命周期与启动模式
  13. ArcPad 8 简介
  14. flash buidler 4.5 序列号
  15. Pygame之滑稽球壁碰
  16. 2017最新xcode打包APP详细图文
  17. 常用的电脑显示器接口有哪几种?
  18. Flutter 最佳扫码插件
  19. arcsde mysql_ArcSDE空间数据库安装配置问题
  20. 运营商大数据:未来移动联通电信三大运营商数据会同步共享吗?

热门文章

  1. OpenCV实战之人脸美颜美型(三)——人脸关键点检测
  2. 38个学习新技能的最佳网站
  3. leetcode--802. Find Eventual Safe States题解
  4. 如何安装python3.8.2_Python-3.8.2安装
  5. XJTU2017Robocon少年的总结
  6. Kali之airmon-ng
  7. 超限学习机(ELM)
  8. VS 用cout输出字符串
  9. VS code上报错invalid UTF-8 encoding:
  10. 23种设计模式之-----简单工厂(静态工厂)模式(SimpleFactory Pattern)