YH12:一篇文章读懂SCAN(2)
从上图输出可以看出,支持基于IPv6的IP 是Oracle Grid Infrastructure 12c SCAN中的一个基本概念. 上图未使用基于IPv6的IP地址,并且在分配给网络接口卡(NIC)eth0的第一个网络上的集群中仅部署了一个SCAN,还显示了SCAN中新安全功能的跟踪. 默认情况下,Oracle Grid Infrastructure 12c中的SCAN将仅接受作为SCAN侦听器分配到的集群一部分的数据库实例的注册. 注意:为了仅允许数据库实例注册集群中托管的数据库,使用其分配的SCAN的数据库实例的默认注册将使用专用互连. 如果由于某种原因 – 无法访问或不使用为集群定义的专用互连的数据库需要向相应的SCAN侦听器注册,则可以修改SCAN侦听器以允许在每个(命名的)节点上进行其他注册或子网基础,如下图所示. 启用多子网扫描支持为了在集群中的多个子网上使用SCAN,必须首先启用集群中多个子网的使用,这通常是安装后任务,包括以下步骤: 1、在(公共)网络上创建附加子网 2、将节点VIP分配给新创建的子网 3、为新创建的子网创建一个节点侦听器 4、使用一个或两个选项创建扫描 步骤1假设要么有多个网络接口卡(NIC),打算用于Oracle RAC集群中的公共网络通信,或者有一个要与来自多个网络的IP一起使用的接口地址. 两者都可以各种方式建立,而在任一情况下,Oracle Clusterware层应该能够看到由oifcfg命令确定的多个接口,如下图所示. 步骤2到4使用Oracle Clusterware标准命令,如下图所示. 还要注意,将SCAN添加到网络号2,不会在此网络上自动创建SCAN侦听器. 为了充分利用网络号2上的SCAN,需要在此网络上创建并启动SCAN侦听器. 现在已经创建了另一个SCAN设置,使用不同的子网进行公共通信,并创建了相应的节点VIP,节点侦听器和SCAN侦听器,将需要使用这些SCAN通知数据库如何注册. 数据库实例注册侦听器,特别是SCAN侦听器的原则与Oracle Database 12c相比,与Oracle Database 11.2版相比并没有改变. 使用SCAN配置Oracle数据库自Oracle Database 11.2以来,SCAN是Oracle RAC数据库配置的重要组成部分,因此,假设使用标准Oracle工具(例如DBCA)创建数据库,则REMOTE_LISTENER参数将默认设置为SCAN.这允许实例向SCAN Listeners注册为远程监听器,以提供有关实例提供哪些服务的信息,当前负载以及关于应将多少个传入连接引导到实例的建议. 在这种情况下,必须考虑LOCAL_LISTENER参数. LOCAL_LISTENER参数应设置为node-VIP.如果需要完全合格的域名,请确保将LOCAL_LISTENER设置为完全限定的域名(例如node-VIP.example.com).默认情况下,在集群配置期间,将在集群中的每个节点上创建节点侦听器.如果要在集群中使用多个子网,则应在初始安装后配置其他节点VIP,如本文“启用多子网络支持扫描”一节中所述. 从Oracle Grid Infrastructure 11g Release 2开始,节点侦听器用完了Oracle Grid Infrastructure主站,并使用指定的端口监听节点VIP(默认端口为1521). 与以前的数据库版本不同,不建议将REMOTE_LISTENER参数设置为服务器端TNSNAMES别名,将主机解析为地址列表条目中的SCAN(例如:HOST = sales1- scan),但使用简化的“SCAN:端口“语法,如下图所示. 注意:如果使用简单的连接命名方法,则可能需要修改SQLNET.ORA,以确保在指定用于客户端名称解析查找的命名方法的顺序时,EZCONNECT在列表中(NAMES.DIRECTORY_PATH =(tnsnames,ldap,ezconnect). SCAN实现客户端负载均衡对于使用Oracle SQL * Net 11g第2版连接的客户端,客户端将通过DNS解析SCAN名称来接收三个IP地址. 然后,客户端将通过从DNS接收的列表,并尝试通过接收到的IP之一进行连接. 如果客户端收到错误,它会在向用户或应用程序返回错误之前尝试其他地址. 这类似于当客户端连接字符串中提供地址列表时,客户端连接故障转移在以前版本中的工作原理. 当SCAN侦听器接收到连接请求时,SCAN侦听器将检查提供所请求服务的最少加载的实例. 然后,它会将连接请求重新定向到运行最少加载实例的节点上的本地侦听器. 随后,客户端将被给予本地侦听器的地址. 本地侦听器将最终创建与数据库实例的连接. 文章来自微信公众号:数据和云 (编辑:ASP站长网) |