视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle11.2中SCAN的鸡肋功能
2020-11-09 12:45:53 责编:小采
文档


如Oracle 所言,SCAN 的最主要的目的是方便访问RAC 的客户端数据库连接配置。在RAC 增加或减少节点时,客户端不必修改连接配置了

Oracle 11.2 中SCAN 功能,我认为是鸡肋。

如Oracle 所言,SCAN 的最主要的目的是方便访问RAC 的客户端数据库连接配置。在RAC 增加或减少节点时,客户端不必修改连接配置了,这是因为它使用SCAN 访问RAC 。

Oracle 推挤了两种配置SCN 的方法:DNS 和Grid Naming Solutions (GNS)

这两种方法都和网络管理系统密切地结合在一起。对于多层的应用系统而言,这种配置将故障点又扩展到网络层了。哪天DNS 服务器解析不了,就会导致RAC 不能访问。

SCAN 仅仅是客户端访问数据库的一个新的通道。以前VIP 访问机制照样可以正常使用。因此,我们完全绕开这个机制。

在安装配置时,伪造一个SCAN ,保证安装成功。在以后的使用中,继续使用VIP 访问RAC 数据库。这样就可以绕开SCAN 。

下面以linux 环境为例,展示伪造方法如下:

在/etc/hosts 中增加一个条目,,配置SCAN 的IP 地址和名称;再到/usr/bin/nslookup 文件修改,将其备份一份为nslookup.original, 修改文件内容为:

/usr/bin@serv1=>servdb1$more nslookup

#!/bin/bash

HOSTNAME=${1}

if [[ $HOSTNAME = "serv-scan" ]]; then

echo "Server: 24.154.1.34"

echo "Address: 24.154.1.34#53"

echo "Non-authoritative answer:"

echo "Name: serv-scan"

echo "Address: 192.168.15.193"

else

/usr/bin/nslookup.original $HOSTNAME

fi

其实,nslookup 文件你都可以不修改,任其在RAC 安装校验步骤报错,忽略掉可以继续安装。

如果SCAN功能不用,下面一个参数注意了。这是一定要修改的,否则将导致数据库启动不成功。

这个参数就是remote_listener。Oracle 11g会自动将该参数设置为SCAN-NAME:PORTER。因此需要修改成tnsnames.ora文件中的一个条目别名,如LISTENERS_SERVDB。

tnsnames.ora文件中的内容是:

LISTENERS_SERVDB =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = serv1-vip)(PORT = 1561))
(ADDRESS = (PROTOCOL = TCP)(HOST = serv2-vip)(PORT = 1561))
)

当然,SCAN 的使用也是因环境而异的,对于超大型的应用系统或非常非常多客户端访问数据库的环境中,该配置会减少客户端的修改操作工作量。

更多Oracle相关信息见Oracle 专题页面 ?tid=12

下载本文
显示全文
专题