资源描述
1 概述和说明
1.1 概述
本文档用于记录在OEL 5.5 X86_64位系统上安装配置Oracle 11gR2(11.2.0.3.0) RAC的详细步骤。
安装平台选择VMware公司的VMware ESXi Version 4.0的虚拟主机,通过在该虚拟机上配置两台OEL 5.5 X86_64位Linux系统的机器,然后在这两台Linux机器上配置Oracle 11gR2 RAC系统。其中,操作系统选择Oracle公司的OEL 5.5 X86_64位Linux系统,数据库软件采用目前Oracle 11gR2最新版本的11.2.0.3.0。
本文档中假定你已经安装配置好VMware ESXi Version 4.0的虚拟主机,如果没有该环境的话,也可以通过自行安装VMware Server来完成11gR2 RAC的安装配置。
1.2 软件获取
操作系统: Oracle Enterprise Linux 5
Oracle软件:Oracle 11g Release 2 (11.2) Software (64 bit)
虚拟机软件:VMware Server
其中,Oracle软件可以通过上述连接直接获取版本为11.2.0.1.0的安装介质,或者通过MetaLink官方网站获取最新版本的11.2.0.3.0安装介质,其中patch编号为10404530。
2 安装前准备工作
2.1 配置虚拟机,安装OEL 5.5 X86_64位Linux操作系统
这里,我们需要在VMware ESXi Version 4.0的虚拟主机上创立两台虚拟机,其中每台机器至少需要配置双网卡,一块网卡作为Public,另一块作为Private,建议IP地址均选择手动配置,而不是DHCP动态分配,且要求指定的IP在网络里是唯一的。主机名也分别要求指定为唯一,防止冲突。主机名、IP地址在前期规划要慎重,一经指定,最好不要轻易改变,防止一些不必要的麻烦。这里列出两台机器前期规划的主机名、IP地址信息:
Hostname
Short Hostname
Type
IP Address
Interface
node1
Public IP
eth0
node1-vip
Virtual IP
eth0:1
node1-priv
Private IP
eth1
node2
Public IP
eth0
node2-vip
Virtual IP
eth0:1
node2-priv
Private IP
eth1
scan-cluster
SCAN IP
eth0
(Figure )
其中,每台机器至少需要配置3个IP地址,在安装操作系统的过程中,我们需要配置公网IP和私有IP即可,虚拟IP在安装集群件时分配。Public IP、Virtual IP、SCAN IP必须配置在同一网段。SCAN IP是Oracle 11g新推出的,在配置11g RAC时需要指定。我们的SCAN IP通过配置DNS效劳器来实现,在下文中将给出配置步骤。
2.1.1 登录VMware ESXi Version 4.0虚拟主机,创立新虚拟机
以root用户登录172.16.0.181的虚拟主机:
进入虚拟主机管理界面:
新建虚拟机:
选择Custom,Next进入下一步:
给虚拟机命名为11gnode1,Next:
选择Datastore位置,这里选择第1个名为snap-0f000dba-SQL-Server的存储设备,Next:
虚拟机版本选择version 7,Next:
操作系统类型选择Linux,版本选择Red Hat Enterprise Linux 5(64-bit),Next:
CPU核数选择2,Next:
内存选择2G,Next:
网卡选择2块,一块作为Public,另外一块作为Private,Next:
SCSI驱动器类型选择LSI Logic Parallel,Next:
选择创立新磁盘,Next:
磁盘大小选择20G,Next:
虚拟设备节点选择默认SCSI(0:0),Next:
选中在虚拟机创立之前编辑选项,Continue:
编辑光驱设备,选择ISO文件,找到之前已经准备就绪的OEL 5.5 X86_64位的ISO文件:
选中光驱在启动时连接选项,最后,单击Finish完成。
至此,一台新的虚拟机配置完成。
2.1.2 启动11gnode1虚拟机,安装操作系统
给11gnode1虚拟机加电,进入图形界面安装系统:
回车,进入安装:
Skip,跳过光驱检查:
Next,开始安装Oracle Enterprise Linux:
语言选择—>English,键盘选择–>U.S.English美式键盘,硬盘分区选择最后一个选项Create custom layout,Next:
给硬盘分区,其中SWAP分区选择3500M,剩余空间全部划给根分区/,Next:
网络配置,参照2.1节中IP配置信息,分别配置eth0,eht1两块网卡的IP、及子网掩码、网关、主机名,Next:
时区选择,亚洲/上海,Next:
配置root用户口令,Next:
选择定制软软包,Next:
其中:
Desktop Environments:
GNOME Desktop Environment
Applications:
Editors
Development:
Development Libraries
Development Tools
GNOME Software Development
Legacy Software Development
X software Development
Base System :
Administration Tools
Base
Legacy Software Support
System Tools
X Window System
其它的软件包,可以忽略,暂时不装,一来加快操作系统的安装进度,二来其余的软件包对于配置Oracle 11gR2 RAC不需要,如果在将来的安装过程中,系统提示缺失软件包的时候,我们也可以手工从安装光盘中自行安装。Next:
进入格式化文件系统,安装软件包,直到最后:
根据提示,选择Reboot系统:
系统重启之后,Forward:
选择关闭Firewall,Next:
禁用SELinux,Next:
直到最后一步,按照提示,再次重新启动系统,使刚刚的配置生效:
重启之后,进入图形界面的登录框:
到此,node1节点机器创立成功。
接下来,完全参照上述创立虚拟机步骤,创立第2个节点,虚拟机命名为11gnode2,在配置网络步骤中,需要注意,将其eth0配置为172.16.0.192,eth1配置为192.168.94.12,主机名为node2.localdomain。
最后,两个节点的机器配置完成!
2.2 配置 /etc/hosts文件
参照Figure 2.1网络配置信息表,修改节点1的/etc/hosts配置文件。
[root@node1 ~]# cp /etc/hosts
[root@node1 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost
::1 localhost6.localdomain6 localhost6
# node1
172.16.0.191 node1.localdomain node1
172.16.0.193 node1-vip.localdomain node1-vip
192.168.94.11 node1-priv.localdomain node1-priv
# node2
172.16.0.192 node2.localdomain node2
172.16.0.194 node2-vip.localdomain node2-vip
192.168.94.12 node2-priv.localdomain node2-priv
# scan-ip
172.16.0.203 scan-cluster.localdomain scan-cluster
[root@node1 ~]#
2.3 配置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为例来进行配置。
2.3.1 配置DNS效劳器
这里,选择IP地址为172.16.0.176的效劳器来配置DNS效劳器。
①安装DNS软件包:
[root@rdd dns_rpm]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:99:DA:22
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
[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]#
②
先拷贝生成该文件:
[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
[root@rdd etc]#
修改后的该文件内容如下:
[root@rdd etc]# pwd
/var/named/chroot/etc
[root@rdd etc]# cat named.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的目的是为了解析SCAN IP,在该文件末尾添加以下反向Zone:
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 root 1200 Apr 23 15:03 named.conf
[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/localhost.zone复制生成名为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
drwxrwx— 2 named named 4096 Jul 27 2004 slaves
[root@rdd named]# ll
total 40
drwxrwx— 2 named named 4096 Aug 26 2004 data
-rw-r—– 1 root named 424 Jan 21 2021 nam
drwxrwx— 2 named named 4096 Jul 27 2004 slaves
[root@rdd named]#
说明:在上述步骤③中我们没有配置正向Zone文件,故只需生成反向解析数据库文件,正向解析数据库文件利用默认的localdomain.zone文件。
生成的正、反向解析数据库文件名一定要同上述步骤③中定义的正、反向Zone文件一致,否那么DNS出错!
然后,定义正、反向解析数据库文件。
在正向解析数据库文件localdomain.zone末尾添加下述内容:
添加后内容如下:
[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
scan-cluster IN A 172
[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]#
2.3.2 测试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
添加之后:
[root@node1 ~]# cat /etc/resolv.conf
search localdomain
[root@node1 ~]#
最后,测试SCAN IP解析是否成功?
node1测试:
[root@node1 ~]# nslookup 17
Address: 172.16.0.176#53
203.0.16.172.in-addr.arpa name = scan-cluster.localdomain.
Address: 172.16.0.176#53
[root@node1 ~]# nslookup scan-cluster
Address: 172.16.0.176#53
[root@node1 ~]#
node2测试:
Address: 172.16.0.176#53
203.0.16.172.in-addr.arpa name = scan-cluster.localdomain.
Address: 172.16.0.176#53
[root@node2 ~]# nslookup scan-cluster
Address: 172.16.0.176#53
[root@node2 ~]#
至此,准备工作中的配置SCAN IP通过配置DNS效劳器来解析已经成功!
建用户、改口令、修改用户配置文件
配置11gR2 RAC需要安装Oracle Grid Infrastructure软件、Oracle数据库软件,其中Grid软件等同于Oracle 10g的Clusterware集群件。Oracle建议以不同的用户分别安装Grid Infrastructure软件、Oracle数据库软件,我们这里以grid用户安装Grid Infrastructure,oracle用户安装Oracle数据库软件。并且grid、oracle用户需要属于不同的用户组。在配置RAC时,还要求这两个用户在RAC的不同节点上uid、gid要一致。用户、组的对应信息见下表:
Group Name
Group ID
Group Info
Oracle User(1100)
Grid User(1101)
oinstall
1000
Inventory Group
Y
Y
dba
1300
OSDBA Group
Y
oper
1301
OSOPER Group
Y
asmadmin
1200
OSASM
Y
asmdba
1201
OSDBA for ASM
Y
Y
asmoper
1202
OSOPER for ASM
Y
(Figure 2.4用户、组配置信息表)
我们可以通过执行下述shell脚本的来完成用户、组的创立,脚本的具体内容可见本文档附录。
[root@node1 shell]# pwd
/root/shell
[root@node1 shell]# ll
total 24
-rwxr–r– 1 root root 3544 Apr 24 09:40 1
-rwxr–r– 1 root root 678 Apr 24 09:40
-rwxr–r– 1 root root 858 Apr 24 09:40
-rwxr–r– 1 root root 465 Apr 24 09:40
-rwxr–r– 1 root root 651 Apr 24 09:40
-rwxr–r– 1 root root 1132 Apr 24 09:40
[root@node1 shell]#
Now create 6 groups named 'oinstall','dba','asmadmin','asmdba','asmoper','oper'
Plus 2 users named 'oracle','grid',Also setting the Environment
Changing password for user grid.
passwd: all authentication tokens updated successfully.
Changing password for user oracle.
passwd: all authentication tokens updated successfully.
The Groups and users has been created
The Environment for grid,oracle also has been set successfully
[root@node1 shell]# id grid
uid=1100(grid) gid=1000(oinstall) groups=1000(oinstall),1200(asmadmin),1201(asmdba),1202(asmoper)
[root@node1 shell]# id oracle
uid=1101(oracle) gid=1000(oinstall) groups=1000(oinstall),1201(asmdba),1300(dba),1301(oper)
[root@node1 shell]#
说明:在节点node2上执行该脚本时,需要将grid用户
展开阅读全文