加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

YH12:一篇文章读懂SCAN

发布时间:2021-01-15 04:08:45 所属栏目:电商 来源:网络整理
导读:《YH12:一篇文章读懂SCAN》要点: 本文介绍了YH12:一篇文章读懂SCAN,希望对您有用。如果有疑问,可以联系我们。 单客户端访问名称(SCAN)是Oracle RAC环境中使用的功能,为客户端提供访问集群中运行的任何Oracle数据库的单一名称. 用户可以将SCAN视为RAC数
副标题[/!--empirenews.page--]

《YH12:一篇文章读懂SCAN》要点:
本文介绍了YH12:一篇文章读懂SCAN,希望对您有用。如果有疑问,可以联系我们。

单客户端访问名称(SCAN)是Oracle RAC环境中使用的功能,为客户端提供访问集群中运行的任何Oracle数据库的单一名称. 用户可以将SCAN视为RAC数据库的集群别名. 使用SCAN的好处是,如果在集群中添加或删除节点或数据库,则客户端的连接信息不需要更改.

SCAN首次引入了Oracle RAC 11g第2版,并在Oracle RAC 12c中提供了其他功能. 使用单一名称访问集群以连接到此集群中的数据库,客户端可以使用EZConnect和简单的JDBC瘦URL来访问集群中运行的任何数据库,而与集群中运行的数据库或服务器数量无关,集群中所请求的数据库实际上是处于活动状态的服务器.

使用SCAN的网络需求

在安装与Oracle Database 11. 2或更高版本一起分发的Oracle Grid Infrastructure的过程中定义了默认的SCAN配置. Oracle Grid Infrastructure是一个包含Oracle Clusterware和Oracle Automatic Storage Management的Oracle Home.

必须首先安装Oracle Grid Infrastructure才能使用Oracle RAC 11.2或更高版本. 在Oracle Grid Infrastructure安装的面试阶段,系统将提示需要提供SCAN名称. 有两个选项用于定义扫描:

1.使用公司DNS(域名服务)定义SCAN

2.使用Oracle网格命名服务(GNS)定义SCAN

使用公司DNS定义SCAN

对于使用公司的DNS定义SCAN,必须要求网络管理员使用循环算法创建至少一个单一名称,用于解析为三个IP地址. 考虑到负载均衡和高可用性要求,建议使用三个IP地址,无论集群中的服务器数量如何.

IP地址必须与集群中的默认公网位于同一子网. 该名称的长度必须不超过15个字符,不包括域名,并且必须在没有域后缀的情况下解析(例如:“sales1-scan”必须是可解析的而不是“scan1-can.example.com”) . 不能将IP分配给网络接口.

可以使用“nslookup”检查DNS中的SCAN配置. 如果DNS设置为向SCAN条目解析的IP提供循环访问,则至少运行“nslookup”命令两次以查看循环算法的工作. 结果应该是,每次“nslookup”将以不同的顺序返回一组三个IP.

注意:如果DNS服务器没有返回一组三个IP,如上图所示或不循环,请咨询网络管理员启用此类设置. DNS级别的循环允许跨集群中的SCAN侦听器之间的连接请求负载平衡. SCAN作为一个整体不需要,并且没有这样的设置将不会阻止连接请求到另一个SCAN侦听器的故障切换,以防列表中的第一个SCAN侦听器关闭.

Oracle客户端通常处理集群中SCAN侦听器之间的连接请求的故障转移. Oracle数据库11.2或更高版本的Oracle客户端不需要任何特殊配置来提供此类故障转移.较老的客户需要考虑额外的配置.因此,建议使用SCAN连接到数据库的客户端的最小版本是Oracle Database 11.2或更高版本.

使用客户端DNS缓存可能会产生DNS覆盖不会从DNS服务器发生的错误印象. (DNS不返回一组三个IP,如上图所示).客户端DNS缓存通常用于最小化对外部DNS服务器的DNS请求以及最小化DNS解析时间.这是一个带有本地项目的简单递归DNS服务器.

如果客户端DNS无法设置为在本地提供循环或无法禁用,则使用JDBC:thin connect的Oracle客户端通常将尝试连接到列表中首先返回的SCAN-IP和SCAN侦听器.这基本上禁用了来自这些客户端的集群中的SCAN侦听器之间的连接请求负载平衡,但不影响整个SCAN功能.基于Oracle调用接口(OCI)的数据库访问驱动程序将应用内部循环算法,在这种情况下不需要考虑.

使用Oracle GNS 定义SCAN

使用Oracle GNS定义SCAN,只需要在访问期间输入SCAN名称. 在集群配置的某个阶段,当使用基于IPv6的IP地址与Oracle RAC 12c时,将从DHCP服务或使用“无状态地址自动配置”(SLAAC)获取三个IP地址(使用GNS,但假设使用某些在公共网络上进行动态IP分配的形式)来创建扫描. 然后由GNS2提供SCAN名称解析.

在安装时没有DNS服务器可用的解决方法

Oracle通用安装程序(OUI)在Oracle Grid Infrastructure安装期间强制提供默认的SCAN解决方案,因为在集群中创建Oracle RAC 11.2版或更高版本的数据库时,SCAN概念是必不可少的.用于创建数据库的所有Oracle Database 11.2版或更高版本的工具(例如数据库配置助手(DBCA)或网络配置助手(NetCA))将承担其存在.因此,在提供合适的SCAN分辨率之前,OUI不会允许继续进行安装.

但是,为了克服安装要求而不设置基于DNS的SCAN解决方案,可以使用基于hosts-file的解决方法.在这种情况下,将使用典型的主机文件条目将SCAN解析为只有1个IP地址和一个IP地址.不可能模拟DNS服务器使用本地主机文件的循环分辨率.操作系统执行的主机文件查找将仅返回与该名称匹配的第一个IP地址.也不能在一个条目(主机文件中的一行)中执行此操作.因此将仅为集群创建1个SCAN. 这种情况下,必须更改集群中所有节点上的hosts文件.

强烈建议在升级或初始安装后不久,启用上述任一种SCAN配置.为了使集群知道修改的SCAN配置,请删除hosts文件中的条目,然后在集群中的一个节点上以root用户执行:srvctl modify scan -n <scan_name>.

使用Oracle Grid Infrastructure 12.1进行SCAN配置

在11.2的版本中,SCAN的使用仍有一些不足之处,根据客户要求和反馈,Oracle Grid Infrastructure 12c的SCAN上做了增强,包括以下内容:

1. SCAN和Oracle Clusterware管理的VIP现在支持基于IPv6的IP地址

2. SCAN默认情况下仅限于从集群中的节点接受服务注册

3. SCAN支持集群中的多个子网(每个子网一个SCAN)

只有默认的SCAN(在默认网络,通常为网络号1)可以在基于OUI的Oracle Grid Infrastructure安装过程中进行安装和配置. 作为安装后任务,需要启用集群中的多个子网支持.

这些增强功能需要更改SCAN和SCAN_LISTENER的配置:

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读