Linux下搭建Oracle11g RAC(2)----配置DNS服务器,确认SCAN IP可以被解析
从Oracle 11gR2开始,引入SCAN(Single Client Access Name) IP的概念,相当于在客户端和数据库之间增加一层虚拟的网络服务层,即是SCAN IP和SCAP IP Listener。在客户端的tnsnames.ora配置文件中,只需要配置SCAN IP的配置信息即可,客户端通过SCAN IP、SCAN IP Listener来访问数据库。同之前各版本的RAC相比,使用SCAN IP的好处就是,当后台RAC数据库添加、删除节点时,客户端配置信息无需修改。可以通过配置DNS服务器或GNS来配置SCAN,我们这里以DNS为例来进行配置。
配置DNS服务器
这里,选择IP地址为172.16.0.176的服务器来配置DNS服务器。
①安装DNS软件包:
我们需要安装这三个rpm。
-rw-r–r– 1 root root 1015531 Apr 23 14:53 bind-9.3.6-4.P1.el5_4.2.x86_64.rpm
-rw-r–r– 1 root root 45360 Apr 23 14:53 bind-chroot-9.3.6-4.P1.el5_4.2.x86_64.rpm
-rw-r–r– 1 root root 62251 Apr 23 14:53 caching-nameserver-9.3.6-4.P1.el5_4.2.x86_64.rpm
大家有没有疑问这三个包,哪来的?身为菜鸟的我,就有这个疑问。
这三个包在linux的安装盘中有,我们通过挂载光盘可以找到。(具体操作百度,关键字mount)
[root@rdd dns_rpm]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:99:DA:22 inet addr:172.16.0.176 Bcast:172.16.15.255 Mask:255.255.240.0 inet6 addr: fe80::20c:29ff:fe99:da22/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:10237921 errors:0 dropped:0 overruns:0 frame:0 TX packets:1394986 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3375785216 (3.1 GiB) TX bytes:596171214 (568.5 MiB) [root@rdd dns_rpm]# pwd /root/dns_rpm [root@rdd dns_rpm]# ll total 1112 -rw-r–r– 1 root root 1015531 Apr 23 14:53 bind-9.3.6-4.P1.el5_4.2.x86_64.rpm -rw-r–r– 1 root root 45360 Apr 23 14:53 bind-chroot-9.3.6-4.P1.el5_4.2.x86_64.rpm -rw-r–r– 1 root root 62251 Apr 23 14:53 caching-nameserver-9.3.6-4.P1.el5_4.2.x86_64.rpm [root@rdd dns_rpm]# rpm -ivh bind-9.3.6-4.P1.el5_4.2.x86_64.rpm warning: bind-9.3.6-4.P1.el5_4.2.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing… ########################################### [100%] 1:bind ########################################### [100%] [root@rdd dns_rpm]# rpm -ivh bind-chroot-9.3.6-4.P1.el5_4.2.x86_64.rpm warning: bind-chroot-9.3.6-4.P1.el5_4.2.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing… ########################################### [100%] 1:bind-chroot ########################################### [100%] [root@rdd dns_rpm]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5_4.2.x86_64.rpm warning: caching-nameserver-9.3.6-4.P1.el5_4.2.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing… ########################################### [100%] 1:caching-nameserver ########################################### [100%] [root@rdd dns_rpm]# |
② 配置/var/named/chroot/etc/named.conf文件
先拷贝生成该文件:
[root@rdd dns_rpm]# cd /var/named/chroot/etc/ [root@rdd etc]# ll total 16 -rw-r–r– 1 root root 405 Apr 18 07:50 localtime -rw-r—– 1 root named 1230 Jan 21 2010 named.caching-nameserver.conf -rw-r—– 1 root named 955 Jan 21 2010 named.rfc1912.zones -rw-r—– 1 root named 113 Apr 23 14:55 rndc.key [root@rdd etc]# cp -p named.caching-nameserver.conf named.conf [root@rdd etc]# |
修改后的该文件内容如下:
[root@rdd etc]# pwd /var/named/chroot/etc [root@rdd etc]# cat 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 53 { any; }; listen-on-v6 port 53 { ::1; }; 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 "/etc/named.rfc1912.zones"; }; [root@rdd etc]# |
说明:为简单起见,将该文件中的127.0.0.1、localhost全部修改成any,且修改时,需要注意左右两边留空格。修改部分在上述配置文件中以红色加粗标示。
通过拷贝来生成/var/named/chroot/etc/named.conf文件时,注意加上-p选项,来保证文件的权限问题,否则会导致DNS服务启不来!
③ 配置Zone文件,修改/var/named/chroot/etc/named.rfc1912.zones文件
配置Zone的目的是为了解析SCAN IP,在该文件末尾添加以下反向Zone:什么是反向Zone,看到红色的部分了吗?我们配置的DNS IP是172.16.0.176,这回大家懂了吧!秒懂
zone "0.16.172.in-addr.arpa." IN { type master; file "0.16.172.in-addr.arpa"; allow-update { none; }; }; |
配置反向Zone之后的该文件内容如下:
[root@rdd etc]# pwd /var/named/chroot/etc [root@rdd etc]# ll total 20 -rw-r–r– 1 root root 405 Apr 18 07:50 localtime -rw-r—– 1 root named 1230 Jan 21 2010 named.caching-nameserver.conf -rw-r—– 1 root root 1200 Apr 23 15:03 named.conf -rw-r—– 1 root named 1085 Apr 23 15:19 named.rfc1912.zones -rw-r—– 1 root named 113 Apr 23 14:55 rndc.key [root@rdd etc]# cat named.rfc1912.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 "0.16.172.in-addr.arpa." IN { type master; file "0.16.172.in-addr.arpa"; allow-update { none; }; }; [root@rdd etc]# |
说明:正常情况下还应该配置正向Zone文件。这里,我们的RAC双节点node1、node2的域名domain都设置为localdomain,而默认情况下,该配置文件(/var/named/chroot/etc/named.rfc1912.zones)的第15行到第20行中已经自带下述正向Zone文件配置信息,所以无需再添加。
zone "localdomain" IN { type master; file "localdomain.zone"; allow-update { none; }; }; |
④ 配置正、反向解析数据库文件。在/var/named/chroot/var/named路径下进行配置
首先,生成正、反向解析数据库文件。利用/var/named/chroot/var/named/localhost.zone复制生成正向解析的数据库文件,利用/var/named/chroot/var/named/named.local复制生成名为0.16.172.in-addr.arpa的反向解析的数据库文件。
[root@rdd etc]# pwd /var/named/chroot/etc [root@rdd etc]# cd /var/named/chroot/var/named/ [root@rdd named]# ll total 36 drwxrwx— 2 named named 4096 Aug 26 2004 data -rw-r—– 1 root named 198 Jan 21 2010 localdomain.zone -rw-r—– 1 root named 195 Jan 21 2010 localhost.zone -rw-r—– 1 root named 427 Jan 21 2010 named.broadcast -rw-r—– 1 root named 1892 Jan 21 2010 named.ca -rw-r—– 1 root named 424 Jan 21 2010 named.ip6.local -rw-r—– 1 root named 426 Jan 21 2010 named.local -rw-r—– 1 root named 427 Jan 21 2010 named.zero drwxrwx— 2 named named 4096 Jul 27 2004 slaves [root@rdd named]# cp -p named.local 0.16.172.in-addr.arpa [root@rdd named]# ll total 40 -rw-r—– 1 root named 426 Apr 23 16:10 0.16.172.in-addr.arpa drwxrwx— 2 named named 4096 Aug 26 2004 data -rw-r—– 1 root named 198 Jan 21 2010 localdomain.zone -rw-r—– 1 root named 195 Jan 21 2010 localhost.zone -rw-r—– 1 root named 427 Jan 21 2010 named.broadcast -rw-r—– 1 root named 1892 Jan 21 2010 named.ca -rw-r—– 1 root named 424 Jan 21 2010 named.ip6.local -rw-r—– 1 root named 426 Jan 21 2010 named.local -rw-r—– 1 root named 427 Jan 21 2010 named.zero drwxrwx— 2 named named 4096 Jul 27 2004 slaves [root@rdd named]# |
说明:在上述步骤③中我们没有配置正向Zone文件,故只需生成反向解析数据库文件,正向解析数据库文件利用默认的localdomain.zone文件。
生成的正、反向解析数据库文件名一定要同上述步骤③中定义的正、反向Zone文件一致,否则DNS出错!
然后,定义正、反向解析数据库文件。
在正向解析数据库文件localdomain.zone末尾添加下述内容:
scan-cluster IN A 172.16.0.203
添加后内容如下:
[root@rdd named]# pwd /var/named/chroot/var/named [root@rdd named]# cat localdomain.zone $TTL 86400 @ IN SOA localhost root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS localhost localhost IN A 127.0.0.1 scan-cluster IN A 172.16.0.203 [root@rdd named]# |
在反向解析数据库文件0.16.172.in-addr.arpa末尾添加下述内容:
203 IN PTR scan-cluster.localdomain.
添加后内容如下:
[root@rdd named]# pwd /var/named/chroot/var/named [root@rdd named]# cat 0.16.172.in-addr.arpa $TTL 86400 @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost. 1 IN PTR localhost. 203 IN PTR scan-cluster.localdomain. [root@rdd named]# |
测试DNS服务器解析SCAN IP正常
首先,在DNS服务器172.16.0.176上启动DNS服务:
[root@rdd named]# /etc/init.d/named status rndc: connect failed: 127.0.0.1#953: connection refused named is stopped [root@rdd named]# /etc/init.d/named start Starting named: [ OK ] [root@rdd named]# /etc/init.d/named status number of zones: 7 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is OFF recursive clients: 0/1000 tcp clients: 0/100 server is up and running named (pid 23307) is running… [root@rdd named]# chkconfig named on [root@rdd named]# |
然后,分别在RAC节点node1、node2的/etc/resolv.conf配置文件中添加下述配置信息:
search localdomain
nameserver 172.16.0.176
添加之后:
[root@node1 ~]# cat /etc/resolv.conf search localdomain nameserver 172.16.0.176 [root@node1 ~]# |
最后,测试SCAN IP解析是否成功?
node1测试:
[root@node1 ~]# nslookup 172.16.0.203 Server: 172.16.0.176 Address: 172.16.0.176#53 203.0.16.172.in-addr.arpa name = scan-cluster.localdomain. [root@node1 ~]# nslookup scan-cluster.localdomain Server: 172.16.0.176 Address: 172.16.0.176#53 Name: scan-cluster.localdomain Address: 172.16.0.203 [root@node1 ~]# nslookup scan-cluster Server: 172.16.0.176 Address: 172.16.0.176#53 Name: scan-cluster.localdomain Address: 172.16.0.203 [root@node1 ~]# |
node2测试:
[root@node2 ~]# nslookup 172.16.0.203 Server: 172.16.0.176 Address: 172.16.0.176#53 203.0.16.172.in-addr.arpa name = scan-cluster.localdomain. [root@node2 ~]# nslookup scan-cluster.localdomain Server: 172.16.0.176 Address: 172.16.0.176#53 Name: scan-cluster.localdomain Address: 172.16.0.203 [root@node2 ~]# nslookup scan-cluster Server: 172.16.0.176 Address: 172.16.0.176#53 Name: scan-cluster.localdomain Address: 172.16.0.203 [root@node2 ~]# |
至此,准备工作中的配置SCAN IP通过配置DNS服务器来解析已经成功!
Linux下搭建Oracle11g RAC(2)----配置DNS服务器,确认SCAN IP可以被解析的更多相关文章
- Linux下搭建Oracle11g RAC(5)----配置ASM磁盘
将共享磁盘格式化.然后用asmlib将其配置为ASM磁盘,用于将来存放OCR.Voting Disk和数据库用. 注意:只需在其中1个节点上格式化就可以,接下来我们选择在node1节点上格式化. 这里 ...
- Linux下搭建Oracle11g RAC(4)----配置oracle,grid用户SSH对等性
虽然在安装软件的过程中,oracle会自动配置SSH对等性,建议在安装软件之前手工配置. 配置oracle用户对等性: node1: [root@node1 ~]# su - oracle node1 ...
- Linux下搭建Oracle11g RAC(1)----IP分配与配置IP
首先需要说明的,我的RAC搭建不是在虚拟机上完成的,而是在实际部署中,二者之间有些许差异,本人水平有限,请见谅. 其中,每台机器至少需要配置3个IP地址,在安装操作系统的过程中,我们需要配置公网IP和 ...
- Linux下搭建Oracle11g RAC(3)----创建用户及配置相关文件
配置11gR2 RAC需要安装Oracle Grid Infrastructure软件.Oracle数据库软件,其中Grid软件等同于Oracle 10g的Clusterware集群件.Oracle建 ...
- Linux下搭建Oracle11g RAC(9)----创建RAC数据库
接下来,使用DBCA来创建RAC数据库. ① 以oracle用户登录图形界面,执行dbca,进入DBCA的图形界面,选择第1项,创建RAC数据库: ② 选择创建数据库选项,Next: ③ 选择创建通用 ...
- Linux下搭建Oracle11g RAC(8)----创建ASM磁盘组
以grid用户创建ASM磁盘组,创建的ASM磁盘组为下一步创建数据库提供存储. ① grid用户登录图形界面,执行asmca命令来创建磁盘组: ② 进入ASMCA配置界面后,单击Create,创建新的 ...
- Linux下搭建Oracle11g RAC(7)----安装Oracle 软件
从此步骤开始,我们正式安装oracle软件: ① 以oracle用户登录图形界面,执行/home/oracle/database/runInstaller,进入OUI的图形安装界面: ② 进入OUI安 ...
- Linux下搭建Oracle11g RAC(6)----安装Grid Infrastructure
从此步骤开始,我们正式安装Grid软件: ① 以grid用户登录图形界面,执行/home/grid/grid/runInstaller,进入OUI的图形安装界面: ② 进入OUI安装界面后,选择第3项 ...
- linux下一个Oracle11g RAC建立(五岁以下儿童)
linux下一个Oracle11g RAC建立(五岁以下儿童) 四.建立主机之间的信任关系(node1.node2) 建立节点之间oracle .grid 用户之间的信任(通过ssh 建立公钥和私钥) ...
随机推荐
- Win7系统Matlab2013a安装.m文件不自动关联到MATLAB.exe解决方法
1.在matlab命令行中输入以下代码: cwd=pwd; cd([matlabroot '\toolbox\matlab\winfun\private']); fileassoc('add',{'. ...
- JQuery 去除字符串两边多余的空格
var str = " hello "; str = $.trim(str);//去除多余空格 //变成了"hello"
- Android 联系人信息的读取注意判断是否为NULL Android联系人的删除实质
在Android系统联系人界面删除一条短信实际上并不是真正的删除,而是在数据库中标记raw_contacts表中Contact_id为null以及data表中raw_contact_id为空,这是为了 ...
- Gson把json串转换成java实体对象
Gson把json串转换成java实体对象的方法如下: 1.首先导入Gson的jar包,网上可以下载. java实体对象如下: public class Model { private double ...
- HDU 2487 Ugly window
这是切的很痛苦的一道题,自己测试了很多样例却终究不过,中间也做了诸多修改,后来无奈去网上看题解,发现遗漏了一种情况,就是两个窗口可能边框都能看见,但是一个嵌套在另一里面,而我判定是不是 “top wi ...
- ANDROID_MARS学习笔记_S03_005_Geocoder、AsyncTask
一.代码1.xml(1)AndroidManifest.xml <uses-permission android:name="android.permission.ACCESS_FIN ...
- elevation 和 translationZ的区别
Z轴阴影: Z = elevation + translationZ elevation 是静态值,是View在Z轴上的初始值 translationZ是动态值,是Z上的偏移变化 参考 http:// ...
- 处理 insert 字段内容包含 单引号 的问题
问题:postgreSQL insert 字段包含单引号,如:insert into table values('1001','tom'cat'),执行报错: 解决:将单引号替换为两个单引号,如 de ...
- .NET开发不可错过的25款高效工具
这些年来,微软的 .NET 开发团队不断在更新升级开发工具,这也提供了一个机会,让我们能对 .NET 系列的开发工具做出不断的评估和规范.以下是我们总结出的一些 .NET 开发不可错过的高效工具. 1 ...
- Android 解决安装Egit时Egit Mylyn和org.eclipse.team.core报错
为了让Aptana支持GitHub,需要安装Egit,但在的时候碰到两个错误,一个是关于缺少EGit Mylyn另一个是缺少org.eclipse.egit.import.feature.group. ...