dns域名访问 oracle数据库_oracle dns访问数据库 - CSDN
精华内容
参与话题
  • 监听连接时间过长如何解决(论坛讨论干货帖) 最近某客户环境下oracle链接异常缓慢,检查oracle 配置,log 文件 无果 最终发现是dns 解析问题。 vi /etc/resolv.conf ...无法通过域名访问外网。 ip访问有效。...

    监听连接时间过长如何解决(论坛讨论干货帖)

    最近某客户环境下oracle链接异常缓慢,检查oracle 配置,log 文件 无果
    最终发现是dns 解析问题。
    vi /etc/resolv.conf 统统注掉 问题解决

    带来新问题(暂时无碍)
    无法通过域名访问外网。
    ip访问有效。

    展开全文
  • Oracle 11g RAC SCAN ip的原理及配置

    千次阅读 2018-03-07 11:02:25
    SCAN概念: 先介绍一下什么叫SCAN,SCAN(Single Client Access Name)是Oracle从11g R2开始推出的,客户端可以通过SCAN特性负载均衡地连接到RAC数据库。所以在Oracle 11gR2 中,引入了SCAN(Single ClientAccess ...
    SCAN概念:
        先介绍一下什么叫SCAN,SCAN(Single Client Access Name)是Oracle从11g R2开始推出的,客户端可以通过SCAN特性负载均衡地连接到RAC数据库。所以在Oracle 11gR2 中,引入了SCAN(Single ClientAccess Name)的特性。SCAN是一个域名,可以解析至少1个IP,最多解析3个SCAN IP,客户端可以通过这个SCAN 名字来访问数据库,另外SCAN ip必须与public ip和VIP在一个子网。
    SCAN提供一个域名来访问RAC,域名可以解析1个到3个(注意,最多3个)SCAN IP,我们可以通过DNS或者GNS来解析实现。其中DNS大家都很熟悉,这里不多说。GNS(Grid Naming Service)则是Oracle 11g R2的新功能,可以通过DHCP服务为节点和SCAN分配VIP和SCAN IP。另外还有个优点是,对于新加入集群的节点,它会自动分配VIP地址,更新集群资源,客户端依然通过SCAN特性负载均衡地连接到新增集群节点上。DNS和GNS配置与解析相关内容在下面还有说明。
         除了DNS和GNS解析方法外,SCAN也可以使用hosts文件来解析,但用过的人都知道,此方法不仅在安装RAC的时候产生问题,后期使用也是存在问题的,比如SCAN域名只能定义一个SCAN IP。所以这种方法也是Oracle不推荐使用的。
    但尽管如此,很多生产上依然这样使用,也就是废弃了11g的新特性SCAN,而是依然采用VIP连接方式。

    SCAN ip 工作原理:



    启用SCAN 之后,会在数据库与客户端之间,添加了一层虚拟的服务层,就是SCAN IP和SCAN IP Listener,在客户端仅需要配置SCAN IP的tns信息,通过SCANIP Listener,连接后台集群数据库。这样,不论集群数据库是否有添加或者删除节点的操作,均不会对客户端产生影响,也就不需要修改配置。

    配置SCAN有3种方法:
    1. 使用/etc/hosts文件
    这个是我们目前用的最多的方式,但是缺点只能对应一个SCAN IP,该方法Oracle 不推荐,但是简单,不需要单独的DNS 服务器,使用该方法,客户端还是需要VIP来链接。 Oracle 推荐使用其他的2种方法来实现SCAN 功能。
    2. 在DNS中定义域名,只需要在DNS中配置即可实现SCAN 功能。


    .


    3. 通过Grid Naming Server(GNS),需要配置DNS 和DHCP才能实现SCAN 功能。

    .

    配置好之后,直接在客户端的tnsnames里写SCAN NAME就可以了,如下:

    RACSCAN =

    (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan.gns.cndba.com)(PORT = 1521))

    (CONNECT_DATA =

    (SERVER = DEDICATED)

    (SERVICE_NAME = dave)

    )

    )

     

    以后RAC 增加删除节点,客户端都不需要修改。

    展开全文
  • sqlnet.ora 用在oracle client端...1).NAMES.DEFAULT_DOMAIN:域名domain定义,在你用sqlplus访问数据库的时候,会在tns别名后面加上".domain" 示例:.NAMES.DEFAULT_DOMAIN=.com 在客户端执行命令:sqlplus use

    一、sqlnet.ora

    sqlnet.ora 用在oracle client端,用于配置连接服务端oracle的相关参数。
    1).NAMES.DEFAULT_DOMAIN:域名domain定义,在你用sqlplus访问数据库的时候,会在tns别名后面加上".domain"

    示例:.NAMES.DEFAULT_DOMAIN=.com

    在客户端执行命令:sqlplus username/password@local_dev的时候,会出现如下错误信息:

    "ORA-12154: TNS: 无法处理服务名"或者"ORA-12154: TNS:could not resolve service name"这样的错误信息。
    因为sqlplus username/password@orcl的时候,将tns别名“orcl”转换成了“orcl.com”,所以orcl.com在tnsnames.ora中找不到,就报错了。

    修改tnsnames.ora中的定义如下:
    ORCL.com =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.147)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )
    再执行sqlplus username/password@orcl连接成功。

    2)NAMES.DIRECTORY_PATH:定义了在客户端连接数据库时,采用什么样的匹配方式。

    示例:NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)

    那么在客户端执行sqlplus username/password@local_dev连接数据库的时,首先采用tnsnames.ora的别名配置连接数据库;如果连接上;再采用ONAMES进行解析,最后采用主机名进行解析。
    ONAMES表示Oracle使用自己的名称服务器(Oracle Name Server)来解析,目前Oracle建议使用轻量目录访问协议LDAP来取代ONAMES;HOSTNAME表示使用host文件,DNS,NIS等来解析;

    3)SQLNET.AUTHENTICATION_SERVICES:定义登录数据库的认证方式,这个参数默认没有设置。
    示例:SQLNET.AUTHENTICATION_SERVICES=(NONE,NTS)

    NONE表示Oracle数据库身份验证,NTS表示操作系统身份验证,两种方式可以并用,先后顺序表明验证的优先方式。

    4)tcp.validnode_checking=yes:表示启用客户端的IP检查,非法的IP将被拒绝访问Oracle。

    5)tcp.invited_nodes=(IP1,IP2,IP3...):表示允许哪些IP访问Oracle。

    6)tcp.excluded_nodes=(IP1,IP2,IP3...):表示拒绝哪些IP访问Oracle。

    二、tnsnames.ora

    tnsnames.ora 用在oracle client端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样。提供了客户端连接某个数据库的详细信息,主机地址,端口,数据库实例名等。
    示例:
    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.147)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )
    PROTOCOL参数一般是TCP,可以根据服务器情况选择一种配置方式。

    HOST 一般是ip地址,如果是主机名,则应该在客户端系统的host文件上配好主机名和ip地址的映射关系。

    PORT 标准是1521,根据服务器端的监听端口而定。

    SERVICE_NAME 就是数据库的服务名。

    三、listener.ora

    tnslsnr进程是监听、并接受远程连接数据库请求的监听进程。listener.ora是tnslsnr进程的配置文件,监听的参数都是从该配置文件中读取,该文件位于服务端。如果你只需要在本地连接数据库,不接受远程连接,那么也不需要启动tnslsnr进程,也不需要去维护listener.ora文件。
    启动监听进程的命令,在命令模式下,执行lsnrctl start命令就启动了监听进程tnslsnr。

    示例:
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = /oracle/product/10.2.0/db_1)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = orcl)
          (ORACLE_HOME = /oracle/product/10.2.0/db_1)
          (SID_NAME = orcl)
        )
        (SID_DESC =
          (ORACLE_HOME = /oracle/product/10.2.0/db_1/)
          (SID_NAME = eas)
        )
        
      )

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.147)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
      )

    LISTENER部分包含协议地址列表,每个实例一个入口。

    SID_LIST_LISTENER部分标识全局数据库名称、标识监听程序正在服务的每个实例的Oracle软件主目录以及实例或SID。

    当你执行命令sqlplus username/password@tnsname时,一般处理过程如下:
    1) 查询sqlnet.ora看看名称的解析方式,发现是TNSNAME,或者hostname。
    2) 则查询tnsnames.ora文件,从里边找tnsname的记录,并且找到主机名,端口和service_name。
    3) 如果listener进程没有问题的话,建立与listener进程的连接。
    4) 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端就连接上了数据库的server process。
    5) 这时候网络连接已经建立,listener进程的历史使命也就完成了。

    几种连接数据库用到的命令形式:
    1)sqlplus "/ as sysdba" 这是典型的操作系统认证,不需要listener进程,数据库即使不可用也可以登录。
    2)sqlplus username/password 不需要listener进程,登录本机数据库,数据库实例启动即可。
    3)sqlplus username/password@tnsname需要listener进程,最常见的远程登录模式,需要启动数据库实例和listener进程。

     

    展开全文
  • 对scan ip的理解

    千次阅读 2013-11-19 15:43:27
    这些天做11g的RAC实验,才发现oracle 11g的scan ip这个概念,当时在安装的时候,直接在host文件中加入了一条scan对应的解析,之后安装成功。之后才在网上搜了很多资料,自认为对scan ip有了一定的认识,只是身边每个...

    参考:http://www.luocs.com/archives/281.html

    http://www.oracle.com/technetwork/products/clustering/overview/scan-129069.pdf


    这些天做11g的RAC实验,才发现oracle 11g的scan ip这个概念,当时在安装的时候,直接在host文件中加入了一条scan对应的解析,之后安装成功。之后才在网上搜了很多资料,自认为对scan ip有了一定的认识,只是身边每个讨论的人,也许有错误的地方,请看到的人不吝指正。

    scan全程为simple client access name的缩写,并不是英文扫描的意思。这个功能是在oracle 11gR2版本才有的。

    scan的作用

    这个功能的作用是:在服务器端和客户端之间增加了一层虚拟接口,原本客户端的tnsnames中为了实现负载均衡,需要同时注册多个节点服务器的侦听信息,这样,当服务器端增加或删除节点的时候,相应的服务器端的tnsnames文件就要做相应的维护,比如服务器端增加节点,要在客户端的tnsnames中增加该节点的侦听信息,删除节点则要在客户端的tnsnames中删除该节点的侦听信息。这是在11gR2之前的负载均衡实现方式。

    scan与vip的区别

    这种方式看起来挺好,但是,如果对于大型局域网,客户端有成百上千个,而且分布在各个地方,原本简单的事就不简单了。scan ip就是针对这一问题出现的,它是在服务器端和客户端之间建立一层虚拟访问层,客户端的tnsnames中只有scan ip的侦听信息,即客户端直接访问scan ip而不直接访问真实的服务器ip。而scan ip是浮动的,它和节点本身的vip的区别就在于,vip的监听程序是跟instance绑定的,设置vip的作用是,当节点宕机之后,vip会自动的跳到正常节点上,但是vip对应的监听程序并不会跳转,本来,如果不适用vip的话,原本连接到宕机节点上的程序就会得不到服务器回应,然后等待连接超时的时候走完,客户端再重试,重试一定次数仍然失败才会转到其他节点上,这个过程就相当耗时了。若果使用vip的话,节点宕机之后vip跳到正常节点上,原本访问宕机节点的程序请求就发送到了vip跳转的节点,该正常节点收到连接请求后直接给该端点返回错误信息,告知它原本访问的节点已经坏掉了,这是客户端就会使用tns中的其他地址。这个时间相对于不适用vip的时间要小很多。

    而scan ip机制是ip跟对应的监听程序一起浮动,如果a节点宕机,则原本停留在该节点的scan ip和监听程序会一起跳转到其他可用节点上。因此对于客户端而言,就不需要更改原本的配置信息,只需要一直访问scan ip就可以正常使用数据库,至于scan ip跟真实的节点的对应关系,则是scan ip这层要关心和实现的

    scan的实现方式

    scan ip有两种实现方式,一种是DNS,一种是oracle自身提供的GNS(grid Naming Service)。其中GNS是针对DHCP方式的,即服务器端的vip和scan ip是动态分派的,具体什么的都没有研究,我只是看了DNS的实现方式。
    因为host文件的域名解析方式不能实现一个域名和多个ip的对应,如果在host文件中有一个域名对应多个不同ip的解析行,则在域名解析的时候会只有第一行起作用。而DNS服务器却可以实现一个域名与多个ip的对应。并且DNS服务器使用round-robin(轮叫调度)的算法进行多个ip之间的调度。
    比如域名与ip的对应为
    scan.scan.com     192.168.1.221
                             192.168.1.222   
                               192.168.1.223
    则cmd下使用nslookup  scan.scan.com时,则连续多次解析出的结果的第一个ip会依次为221,222,223。从这个层面上看,也是实现了一定程度的负载均衡。
    此外,oracle规定scan ip最多有3个,最少有1个。

    DNS服务器的设置

    首先说一下dns服务器的位置,dns服务器常理上位于独立于节点服务器的一台单独服务器上。它跟oracle服务器几乎没有联系,主要对所有的客户端提供域名解析服务。因此,所有客户端的DNS服务器地址需要是这台服务器的ip。但是,如果没有单独的服务器,也可以把DNS服务安装在节点上,不过,因为如果恰好DNS服务所在节点坏掉的话,会直接影响数据库的访问,所以,最好在所有的节点上都安装上DNS服务。
    我是在window server  2003R2上做的dns,建好DNS服务器后,新建一个域名(这个域可以实际不存在),在这个域下新建主机,例如建立主机名scan,然后输入ip地址,依次建立三个同样主机名不同ip的对应DNS条目即可。
    建好之后可以使用nslookup测试一下。

    一些疑惑的点

    我的实验环境为两个节点,使用了DNS方式实现解析。因此,一个scan ip在一个节点,另外两个scan ip在另外一个节点上,但如果服务器端有超过3个节点,那这个scan ip不够分啊,是不是有的节点就不在工作了,不再参与负载均衡了,答案肯定是否定的,但那些没有分到scan ip的节点是怎么工作的呢?这个问题曾困扰了我一段时间。
    现在我的理解是:
    虽然scan ip浮动到某个节点上,但是并不是跟它所在的节点的实例绑定的,客户端访问域名解析出来的scan ip,则这个访问请求会在scan ip所在节点由scan层根据负载均衡机制进行处理,处理结果会确定这个请求被分配到那个vip,这个vip才是确定节点的关键。
    展开全文
  • PTC Windchill10.2安装

    千次阅读 2018-02-28 19:14:41
    安装PTC Windchill 需要安装jdk与数据库oracle),可以参考前面的文章。这里jdk与数据库略过。安装windchill前一般要先配置host文件:1、在路径C:\WINDOWS\system32\drivers\etc下找到文件hosts,编辑它,在后面&...
  • 渗透测试之信息收集

    万次阅读 多人点赞 2020-09-28 22:56:06
    目录 信息收集 域名信息的收集 公司敏感信息网上搜集 网站指纹识别 ...服务器类型(Linux/Windows) ...数据库类型(Mysql/Oracle/Accees/Mqlserver) 主机扫描(Nessus) 端口扫描(nmap) 网站敏感目录和文件 旁站和...
  • 问题描述:登陆oracle数据库时,无论是从SQL Plus还是从Toad登陆,都会出现登陆不上去的现象。出现提示“提示包接收失败:ORA-12637”。 解决方法:修改SQLNET.ORA文件,把SQLNET.AUTHENTICATION_SERVICES = ...   ...
  • tnsnames.ora配置小结

    万次阅读 2010-07-11 00:09:00
    oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下。 1. sqlnet.ora—–作用类似于linux或者其他unix的nsswitch.conf文件,通过...
  • Oracle RAC 集群 SCAN 说明

    万次阅读 2017-12-01 13:32:18
    1 SCAN 概述 之前有网友在我Blog 留言说我的RAC 搭建中没有写SCAN 配置,这个之前应该是有写过,但刚搜了一下,没找到,正好重新整理一下,并做下实验,实验就用Oracle 12c 进行测试。 在Oracle 11g 之前,我们去...
  • 连接第一次连接MySqL数据库 相当慢

    千次阅读 2016-03-08 22:46:14
    使用Java程序连接MySql数据库...当时找到原因是由于Oracle对连接进行了域名解析,由于DNS服务器不可达,要等到连接超时后,才抛出异常。详细信息请参考 http://blog.csdn.net/lijing_lj928/article/details/46953085 点
  • oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora ,都是放在$ORACLE_HOME\network\admin目录下。 1. sqlnet.ora-----作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来...
  • 1.状态:使用Navicat 打开远程数据库很慢。 2.解决方法:在mysql配置文件 my.cnf 内加入 skip-name-resolve 保存 重启mysql 3.原因: How MySQL uses DNS When a new thread connects to mysqld, mysqld will ...
  • 其中host01、houst02为RAC集群,host03为DNS服务器。 首先我们需要一台DNS服务器来解析,下面就为大家带来host03配置图解。 一、虚拟机安装Redhat 6.7配置YUM。 服务器创建略过。 二、准备服务器,安装DNS组件 yum i
  • linux系统--nameserver惹得祸

    千次阅读 2013-05-21 17:59:53
    症状: ... 2、 在oracle服务端使用tnsping命令执行非常慢 3、 使用oracle客户端或者plsql登录oracle服务器响应非常慢 4、 应用比如mdsp,portalone等...配置了错误的DNS,导致域名解析失败,从而导致访问系统缓慢。
  • scan ip的理解

    千次阅读 2017-08-14 09:39:07
    这些天做11g的RAC实验,才发现oracle 11g的scan ip这个概念,当时在安装的时候,直接在host文件中加入了一条scan对应的解析,之后安装成功。之后才在网上搜了很多资料,自认为对scan ip有了一定的认识,只是身边每个...
  •  经过一周的奋斗,终于把 ORACLE 11G R2 的RAC环境搭起来了,搭起来后的第一件事情就是测试一下该版本中 的新特性 SCAN。没想到这样一个简单的测试竟然遇到了不少的问题,花了半个时间。这里给大家...
  • oracle rac ip 规划

    千次阅读 2018-06-21 10:08:11
    oracle rac搭建首先需要的就是硬件、及网络的规划本文章就来规划一下网络层public ip: 类似与单实例的oracle数据库ip,主要用于管理\访问。virtual ip(vip): oracle在rac架构中专用,这个vip用于实现故障转移...
  • listener.ora、sqlnet.ora、tnsnames.ora 作用

    千次阅读 2010-11-04 19:40:00
    listener.ora、sqlnet.ora、tnsnames.ora 作用
1 2 3 4 5 ... 20
收藏数 7,230
精华内容 2,892
关键字:

dns域名访问 oracle数据库