在动手配置前,最好先了解下DNS的理论,以免犯不必要的错误。这都是被坑后的觉悟 -_-!!!

  Oracle 11g RAC 集群中引入了SCAN(SingleClientAccessName)的概念,是指集群的单客户端访问名称。相当于在客户端和数据库之间增加一层虚拟的网络服务层,即 SCAN IP 和 SCAP IP Listener。在客户端的 tnsnames.ora 配置文件中,只需要配置 SCAN IP 的配置信息即可,客户端通过 SCANIP、 SCAN IP Listener 来访问数据库。

  同之前各版本的 RAC 相比,使用 SCAN IP 的好处就是, 当后台 RAC 数据库添加、删除节点时,客户端配置信息无需修改。SCAN 可以通过配置DNS 服 务器或 GNS 来配置 SCAN,我们这里以 DNS 为例来进行配置。

1、安装环境

 可用单独机器作为DNS服务器,也可直接使用RAC的一个节点来做DNS解析。
使用某个RAC节点时,容易出现该节点如果宕机将导致SCAN无法解析,客户端无法连接数据库.
由于资源限制,我们只使用RAC1节点的public ip用作DNS。
[root@racdb ~]# cat /etc/issue
Oracle Linux Server release .6Kernel \r on an \m [root@racdb ~]#

2、主机节点host信息

[root@racdb ~]# cat /etc/hosts
127.0.0.1 localhost.racdb.com localhost
:: localhost6.localdomain6 localhost6 #public ip:
192.168.1.203 rac1.racdb.com rac1 --用作DNS服务器地址
192.168.1.204 rac2.racdb.com rac2 #private ip:
192.168.0.203 rac1priv.racdb.com rac1priv
192.168.0.204 rac2priv.racdb.com rac2priv #vip
192.168.1.213 rac1vip.racdb.com rac1vip
192.168.1.214 rac2vip.racdb.com rac2vip
[root@racdb ~]#

3、配置DNS

  • 安装所需的rpm包
  • 配置named.conf文件,配置zone文件(可称为zone的索引文件)
  • 配置正向和反向文件(zone文件中所指向的文件)
  • 配置解析文件resolv.conf
  • 启动dns服务

3.1 安装所需的rpm包,注意安装顺序

 [root@node1 dns_rpm]# ls
bind-9.3.-.P1.el5.i386.rpm
bind-chroot-9.3.-.P1.el5.i386.rpm
caching-nameserver-9.3.-.P1.el5.i386.rpm
下面安装rpm包
[root@node1 dns_rpm]# rpm -ivh bind-9.3.-.P1.el5.i386.rpm
[root@node1 dns_rpm]# rpm -ivh bind-chroot-9.3.-.P1.el5.i386.rpm
[root@node1 dns_rpm]# rpm -ivh caching-nameserver-9.3.-.P1.el5.i386.rpm

3.2 配置named.conf文件

 进入目录
[root@racdb ~]# cd /var/named/chroot/etc/ 使用下面的方式复制一个新的副本并修改,参数-p表示连同权限及属主,属组一同复制。切记不可忽略参数-p
[root@node1 etc]# cp -p named.caching-nameserver.conf named.conf
6 [root@node1 etc]# cp -p named.rfc1912.zones   named.zones
修改named.conf文件
将源文件中的所有localhost以及127.0.0.1修改成any,注意any;前后保留空格
该文件主要是配置dns监听那些端口以及ip地址并指明相应的名字解析zone文件名named.zones
下面是修改后的named.conf文件
[root@racdb etc]# cat /var/named/chroot/etc/named.conf
//
// named.caching-nameserver.conf
//
// Provided by Red Hat caching-nameserver package to configure the
// ISC BIND named(8) DNS server as a caching only nameserver
// (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
// to create named.conf - edits to this file will be lost on
// caching-nameserver package upgrade.
//
options {
listen-on port { any; }; //修改
listen-on-v6 port { ::; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt"; // Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53; allow-query { any; }; //修改
allow-query-cache { any; }; //修改
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; }; //修改
match-destinations { any; }; //修改
recursion yes;
include "named.zones"; //修改,修改后的指向我们的拷贝文件 named.zones
53 };
[root@racdb etc]#

配置zone文件(可称为zone的索引文件)

 #文件末尾最后的两个zone为新增加的
#注意每一个zone的file用于指向真正的zone文件,后面要用到
#下面是修改后的named.zones文件
[root@racdb etc]# cat named.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
zone "." IN {
type hint;
file "named.ca";
}; zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
}; zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
}; zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
}; zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
}; zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
}; zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
}; #以下两个zone为新增的,包含正向和反向zone
zone "racdb.com" IN { #正向。racdb.com为域名,此域名的声明要放到 resolv.conf 文件中
type master;
file "racdb.zero"; #正向解析文件名称 此文件目录/var/named/chroot/var/named
allow-update { none; };
}; zone "1.168.192.in-addr.arpa" IN { #反向,1.168.192为所要解析的ip网段
type master;
file "1.168.192.in-addr.arpa"; #反向解析文件名称 此文件目录/var/named/chroot/var/named
allow-update { none; };
};

3.3 配置正向和反向解析文件

 [root@racdb etc]# pwd
/var/named/chroot/etc
[root@racdb etc]# cd ../var/named/
[root@racdb named]#
#同样使用cp -p 方式复制文件到新的正向和反向文件
[root@racdb named]# cp -p named.zero racdb.zero #文件名就是named.zones -> racdb.com(正向域名) -> file的名称一致
[root@racdb named]# cp -p named.local 1.168..in-addr.arpa #文件名就是named.zones -> racdb.com(反向域名) -> file的名称一致

3.3.1 修改后的正向搜索文件

 [root@racdb named]# cat racdb.zero
$TTL
@ IN SOA racdb.com. root.racdb.com. (
; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS racdb.com.
racscan IN A 192.168.1.200
racscan IN A 192.168.1.199
racscan IN A 192.168.1.198
[root@racdb named]# SOA 是授权起始(Start Of Authority)的缩写,后面接着是dns服务器的主机名,这里是"racdb.com。"。
注意,主机名称后面的小圆点。凡是出现在记录文件了的主机名,记得都要加上这各小圆点
NS 是名称服务器资源记录,指明域中的名称服务器,这里就是dns服务器
A是主机记录,把IP名和ip地址对应起来
可以添加多个A记录,我们的SCAN 有三个ip,这里我们就添加了3个
了解这些已经够用了,具体详情自行google ^_^

3.3.2 修改后的反向搜索文件

 [root@racdb named]# cat 1.168..in-addr.arpa
$TTL
@ IN SOA racdb.com. root.racdb.com. (
; Serial
; Refresh
; Retry
; Expire
) ; Minimum
IN NS racdb.com.
IN PTR racdb.com.
IN PTR racscan.
IN PTR racscan.
IN PTR racscan. [root@racdb named]#
同正向解析文件相似,不同点是PTR
PTR记录把IP和IP名对应起来,
可以添加多个PTR记录

3.4 配置解析文件resolv.conf

 在RAC1节点配置resolv.conf文件
[root@racdb named]# vi /etc/resolv.conf
search racdb.com #定义域名的搜索列,即name.zones文件中zone域名均要在此声明(不包含反向zone及系统默认的localhost)
nameserver 192.168.1.203 #定义DNS服务器的IP地址 #在RAC2节点上的resolv.conf文件
[root@racdb named]# vi /etc/resolv.conf
search racdb.com #定义域名的搜索列
nameserver 192.168.1.203 #定义DNS服务器的IP地址

3.5 启动dns服务

 [root@racdb named]# service named restart
Stopping named: .[ OK ]
Starting named: [ OK ]
[root@racdb named]# chkconfig named on #测试dns解析RAC1 正向解析
[root@rac1 bin]# nslookup racscan
Server: 192.168.1.203
Address: 192.168.1.203# Name: racscan.racdb.com
Address: 192.168.1.200
Name: racscan.racdb.com
Address: 192.168.1.198
Name: racscan.racdb.com
Address: 192.168.1.199 [root@rac1 bin]# #测试dns解析RAC2 正向解析
[root@rac2 bin]# nslookup racscan
Server: 192.168.1.203
Address: 192.168.1.203# Name: racscan.racdb.com
Address: 192.168.1.199
Name: racscan.racdb.com
Address: 192.168.1.200
Name: racscan.racdb.com
Address: 192.168.1.198 [root@rac2 bin]# #测试dns解析RAC1 反向解析
[root@rac1 bin]# nslookup 192.168.1.200
Server: 192.168.1.203
Address: 192.168.1.203# 200.1.168.192.in-addr.arpa name = racscan. [root@rac1 bin]# nslookup 192.168.1.199
Server: 192.168.1.203
Address: 192.168.1.203# 199.1.168.192.in-addr.arpa name = racscan. [root@rac1 bin]# nslookup 192.168.1.198
Server: 192.168.1.203
Address: 192.168.1.203# 198.1.168.192.in-addr.arpa name = racscan. [root@rac1 bin]# #测试dns解析RAC2 反向解析
[root@rac2 bin]# nslookup 192.168.1.200
Server: 192.168.1.203
Address: 192.168.1.203# 200.1.168.192.in-addr.arpa name = racscan. [root@rac2 bin]# nslookup 192.168.1.199
Server: 192.168.1.203
Address: 192.168.1.203# 199.1.168.192.in-addr.arpa name = racscan. [root@rac2 bin]# nslookup 192.168.1.198
Server: 192.168.1.203
Address: 192.168.1.203# 198.1.168.192.in-addr.arpa name = racscan. [root@rac2 bin]#

11g RAC R2 之Linux DNS 配置的更多相关文章

  1. 安装Oracle 11g RAC R2 之Linux DNS 配置

    Oracle 11g RAC 集群中引入了SCAN(Single Client Access Name)的概念,也就是指集群的单客户端访问名称.SCAN 这个特性为客户端提供了单一的主机名,用于访问集 ...

  2. oracle 11g rac R2 for linux change(public,vip)IP ,hostname (oracle 11g rac R2 修改公有,虚拟,私有IP,网卡)

    结构如下: 说明: 节点IP,主机名的修改步骤来自ORACLE support文档: 如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1) 实验环境情况如下: 实验 节点名称 数 ...

  3. Redhat linux DNS配置指南(SCANIP配置手册)

    在oracle 11g的RAC中增加了SCAN IP,而使用 SCAN IP的一种方式就是使用DNS,这里介绍在Redhat Linux 5.4中DNS的详细配置操作在配置DNS之前修改主机名Redh ...

  4. 11g RAC R2 体系结构---进程,日志

    进程结构:Overview of Oracle Clusterware Platform-Specific Software Components When Oracle Clusterware is ...

  5. 11g RAC R2 体系结构---用户及用户组

    10.2 RAC 到11.2 RAC 用户及用户组的变化: 在10.2 RAC 的部署中,只需要一个用户(oracle)和一个用户组(dba).Database.Clusterware都是用oracl ...

  6. 11g RAC R2 日常巡检--Grid

    一.巡检RAC数据库 1.1列出数据库 [grid@node1 ~]$ srvctl config database racdb [grid@node1 ~]$ 1.2列出数据库的实例 [grid@n ...

  7. 11g RAC r2 的启停命令概述1

    目标: 熟悉主要进程的启停顺序 了解独占模式 -excl crsctl start crs与crsctl start cluster 区别 1.熟悉主要进程的启停顺序 1.1 启动节点rac1: [r ...

  8. Linux DNS配置

    1.安装bind #安装bind yum install -y bind bind-chroot bind-utils 2.主配置文件 vi /etc/named.conf #修改监听为本机IP li ...

  9. linux dns 配置

    今天线上出现一个bug,图片上传失败. 经过排查发现,上传图片接口调用失败,ping 域名提示 unknow host,ping IP正常. 猜想可能是dns的问题.解决过程如下: /etc 下没有 ...

随机推荐

  1. 自定义EditText实现一键删除数据

    转载请注明出处http://blog.csdn.net/xiaanming/article/details/11066685 自定义EditText带删除小图标, 实现的功能: 点击删除小图标,删除当 ...

  2. 重构20-Extract Subclass(提取父类)

    当一个类中的某些方法并不是面向所有的类时,可以使用该重构将其迁移到子类中.我这里举的例子十分简单,它包含一个Registration类,该类处理与学生注册课程相关的所有信息. public class ...

  3. c#代码使用ResourceDictionary样式

    对于ResourceDictionary样式代码: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006 ...

  4. javacv实战篇

    看到之前有248位小伙伴看我写的水文还是比较受鼓舞的,所以决定把这个细写一下: 就是javacv怎么实际应用一下: 其实无外乎导包,写测试代码. 这样 那我们先导包儿. javacv-1.2-bin( ...

  5. 使用Boost asio实现异步的TCP/IP通信

    可以先了解一下Boost asio基本概念,以下是Boost asio实现的异步TCP/IP通信: 服务器: #include "stdafx.h" #include <io ...

  6. static和public

    static:静态.   可以设置:静态类.静态变量.静态方法.   没有使用static修饰的成员为实例成员. 静态成员的使用:通过类名.   1.不加static修饰的成员是对象成员,归每个对象所 ...

  7. DWZ 验证 CLASS 规则

     验证:格式  class="XXXX" 即可验证. required: "必填字段",  remote: "请修正该字段",  email ...

  8. 1 对WinMain的理解

    就像C语言的main是它的程序路口一样,windows的程序入口是WinMain,WinMain的定义可以查看winbase.h文件. Hello Windows(c语言中的Hello world!) ...

  9. ajax请求简写

    <script type="text/javascript"> function changle() { $.post( "SendMail", / ...

  10. 转: Python集合(set)类型的操作

    python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...