在动手配置前,最好先了解下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. 【Shell脚本学习12】Shell字符串

    字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号.单双引号的区别跟PHP类似. 单引号 str='this ...

  2. makefile文件的技术

    [快速的学习笔记] gcc命令:http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html#_Toc311642845 makef ...

  3. JS 鼠标事件大全

    一般事件 事件 浏览器支持 描述 onClick HTML: 2 | 3 | 3.2 | 4 Browser: IE3 | N2 | O3 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 onDb ...

  4. mysql表的创建和删除

    在创建数据库表时,最好是在编辑器中写好创建表的代码,然后粘贴到命令行中,这样如果有错修改起来方便. 现在来创建一个user表: -- 打开数据库, --后面必须要有空格, 表示注释 USE mydb3 ...

  5. Part 5 Select statement in sql server

    Select specific or all columns select * from 表名 select * from Student select 列名,列名... from 表名 select ...

  6. 将java项目打包成jar文件并在cmd运行

    保证java项目不报错能够通过运行 选择export 选择一个你要运行的程序入口Main方法 打开cmd,前提是你的javajdk及环境变量配置完成

  7. 关于Windows® API Code Pack for Microsoft® .NET Framework

    相比之前的操作系统,Window 7(or Vista)提供了很多新特性,我们在应用实现中可以利用这些特性来提升用户体验. 这些特性主要包括以下几个方面: Shell Enhancements Dir ...

  8. Zend studio 12.5.1破解过程

    开始学习php了 今天又安装了一下Zend  之前找了很久的教程终于成了 , 今天换了一台电脑需要重新安装一下 又点忘记了. 就讲这个过程写下来 1.安装zend studio 12.5.1.这个过程 ...

  9. ios之UITableViewController(二) tableView的编辑模式

    tableView的编辑模式 表视图可以进入编辑模式,当进入编辑模式就可以进行删除.插入.移动单元等操作 效果图: 让表视图进入编辑模式,进入编辑模式的方法有两种,一种是使用导航栏的edit 按钮,另 ...

  10. VxWorks 6.9 内核编程指导之读书笔记 -- 多任务

    概述 VxWork系统任务 任务调度 任务创建和管理 任务的错误状态 任务异常处理 共享代码和重入 概述 现代实时操作系统是基于多任务和任务间通信的概念的.多任务环境运行一个实时进程RTP可以被作为一 ...