Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 11.2中SCAN的鸡肋功能

 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 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12Oracle 11g ASM增加磁盘时ORA-15260解决Oracle 11gR2 在Linux下安装时 cluster verification utility failed相关资讯      oracle数据库教程 
  • Oracle raw数据类型介绍  (01/29/2013 10:05:53)
  • 监听器注册与ORA-12514 错误分析  (11/13/2012 14:30:08)
  • Oracle SQL的cursor理解  (11/13/2012 14:16:17)
  • Oracle 如何强制刷新Buffer Cache  (01/29/2013 10:02:46)
  • dblink致Oracle库的SCN变成两库的  (11/13/2012 14:24:41)
  • Linux操作系统下完全删除Oracle数  (11/13/2012 08:25:52)
本文评论 查看全部评论 (0)
表情: 姓名: 字数