【RAC】RAC搭建步骤Linux7.2+11G(基于Vmware+Openfile)
一、 规划 2
1. 网络规划 2
2. 磁盘规划 2
3. 主机硬件配置 3
二、 思路清晰 3
三、 准备工作 3
1. 网卡准备(rac1&rac2) 3
2. 关闭防火墙和SElinux(rac1&rac2) 5
3. 软件包准备 5
4. 共享磁盘准备 5
四、 搭建RAC 17
1. 修改系统参数(rac1&rac2) 17
2. 修改limits文件(rac1&rac2) 18
3. 修改/etc/hosts文件(rac1&rac2) 18
4. 创建用户和组(rac1&rac2) 18
5. 创建软件安装目录(rac1&rac2) 19
6. 修改环境变量(rac1&rac2) 19
7. 配置本地YUM(rac1&rac2) 20
8. UDEV方式绑定磁盘(rac1&rac2) 21
9. 安装grid软件(rac1) 22
10. 配置ASM磁盘(rac1) 34
11. 创建数据库(rac1) 36
12. DBCA建库(rac1) 43
五、 验证 52
1. 验证集群状态 52
2. 验证实例信息 53
3. 验证数据文件、日志文件、控制文件信息 53
一、规划1.网络规划虚拟IP:虚拟IP是集群搭建完成后,产生的IP。这个IP需要与物理IP在同一个网段。虚拟IP最大的特点:当这个节点服务器或集群宕机的时候,虚拟IP会无缝衔接到另外节点,以保证事务的连续性和查询的连续性。所以建议在业务分离的情况下,业务连接该节点虚拟IP。在双节点的RAC集群中,每个操作系统都有他本身的物理IP,集群各节点还会需要一个虚拟IP(VIP),这两个IP需要在同一个网段。
SCAN-IP:浮动IP。这个IP会随机的浮动与两个节点之间。如果业务没有分离,建议业务连接SCAN-IP,以达到负载均衡的作用
2.磁盘规划磁盘规划需要考虑两个层面:一是集群需要的磁盘,二是数据库需要的磁盘。
1)集群需要的磁盘
为了满足集群的功能,需要提供两种作用的磁盘,OCR和Vote盘。OCR盘记录着集群的一些相关信息,Vote盘在集群单节点出现故障,剔除该节点的时候决定性的作用。
OCR盘和Votefile盘可以在同一个磁盘组,大小要求如下:
- Externel Redundancy
1 OCR(1 x 400M)=0.4G
1 voting files(1 x 300M)=0.3G
- Normal Redundancy
2 OCRs(2 x 400M)=0.8G
3 voting files(3 x 300M)=0.9G
- High Redundancy
3 OCRs(3 x 400M)=1.2G
5 Voting files(5 x 300M)=1.5G
2)数据库需要的磁盘
数据库至少需要两个磁盘组,一个是用于存放数据文件,另一个是用于存放归档日志文件。大小无最低要求,需要根据业务数据量情况分配大小。
3.主机硬件配置(这里是我的测试环境)
二、思路清晰step1: 网卡配置(rac1&rac2)
step2: 关闭防火墙和Selinux(rac1&rac2)
step3: 共享磁盘准备
(自己的测试环境用Openfile作为共享存储就行,如果是生产环境,则需要一 台存储服务器用做共享存储)
step4: 修改内核参数文件
step5: 修改用户限制文件
step6: 修改Hosts文件
step7: 创建用户、组
step8: 创建目录并赋予权限
step9: 配置环境变量(grid和oracle)
step10: 配置本地YUM源,安装必需软件包
step11: udev方式绑定共享磁盘
step12: 安装集群软件(GI)
step13: 配置ASM磁盘
step14: 安装数据库软件
step15: DBCA建库
step16: 结束验证
三、准备工作1.网卡准备(rac1&rac2)解释:在RAC集群中,每台服务器需要两块网卡,一块用做外网服务,一块用于私网通信。
添加私有网卡
2.关闭防火墙和SElinux(rac1&rac2)#systemctl stop firewall
#systemctl disable firewall
关闭selinux
# vi /etc/selinux/config
SELINUX=disabled
3.软件包准备(rac1)
GI目录:# mkdir -p /u01/setup/grid
DB目录:# mkdir -p /u01/setup/db
OS目录:# mkdir -p /u01/setup/os
(rac2)
OS目录:# mkdir -p /u01/setup/os
4.共享磁盘准备Openfile iso文件下载地址
http://www.openfiler.com/community/download
1)创建一个虚拟机,配置如下
磁盘说明:
磁盘1是用于安装openfile系统,30G;
磁盘2用于ocr和vote盘,5G;
磁盘3/4用于DATA磁盘组,每个100G;
磁盘5用于ARCH磁盘组,50G。
2)打开虚拟机,安装openfile
点击Enter,自动安装
3)访问openfile的管理界面(上面的地址)
username: openfiler
password: password
4)进入services标签,启动iscsi服务
5)进入system标签页
添加一个允许访问的IP网段
6) 进入volumes 创建物理卷
此时,物理卷已经创建完成
6)创建一个卷组
7)创建逻辑卷
同理,将上面规划的物理磁盘都创建为逻辑卷
8)添加IQN
4)做磁盘映射
此时逻辑卷添加完成,要使用的话,需要对逻辑卷进行扫描
9)客户端对openfile服务器进行扫描
# iscsiadm -m discovery -t sendtargets -p 172.16.70.176-l
如果iscsiadm命令不可用,则需要安装iscsi-initiatorrpm包
# iscsiadm -m discovery -t st -p 192.168.0.10
-bash: iscsiadm: command not found
# mount /dev/cdrom /media --加载光盘,安装iscsi-initiator rpm包mount: block device /dev/cdrom is write-protected, mounting read-only# cd /media/
# cd Server/# ls -l *iscsi*-r--r--r-- 55 root root 579386 Dec 17 2008 iscsi-initiator-utils-6.2.0.868-0.18.el5.i386.rpm# rpm -ivh iscsi-initiator-utils-6.2.0.868-0.18.el5.i386.rpm
四、搭建RAC1.修改系统参数(rac1&rac2)# vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 8589934591
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
使参数生效
# sysctl -p
2.修改limits文件(rac1&rac2)# vi /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3.修改/etc/hosts文件(rac1&rac2)172.16.70.170 rac1
172.16.70.171 rac2
10.0.0.100 rac1-priv
10.0.0.101 rac2-priv
172.16.70.173 rac1-vip
172.16.70.174 rac2-vip
172.16.70.175 cluster-scan-ip
4.创建用户和组(rac1&rac2)(1)创建组
# groupadd -g 501 dba
# groupadd -g 502oinstall
(2)创建用户
# useradd -u 501-g oinstall -G dba -d /home/oracle oracle
# useradd -u 600 -g oinstall -G dba -d /home/grid grid(3)给oracle和grid用户设置密码
# passwd oracle
# passwd grid
(4)检查
# id oracle
# id grid
5.创建软件安装目录(rac1&rac2)# mkdir -p /u01/app/oracle
# mkdir -p /u01/app/oracle/product/11.2.0/db_1
# mkdir -p /u01/app/grid
# mkdir -p /u01/app/11.2.0/grid
# chown -R oracle:oinstall /u01
# chown -R grid:oinstall /u01/app/grid
# chown -R grid:oinstall /u01/app/11.2.0/grid
# chown -R oracle:oinstall /u01/app/oracle
# chmod -R 775 /u01
(rac1执行)
# chown -R grid:oinstall /u01/setup/grid
# chown -R oracle:oinstall /u01/setup/db
6.修改环境变量(rac1&rac2)-----切换到grid用户下-----
rac1
$ vi .bash_profile
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
rac2
$ vim .bash_profile
export ORACLE_SID=+ASM2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
----切换到Oracle用户下------
rac1
# su - oracle
$ vi /home/oracle/.bash_profile
export ORACLE_SID=ORCL1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
rac2
# su - oracle
$ vi /home/oracle/.bash_profile
export ORACLE_SID=ORCL2
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
使上述环境变量生效
$ source .bash_porofile
7.配置本地YUM(rac1&rac2)(root用户)
# mount -o loop /u01/setup/os/rhel-server-7.2-x86_64-dvd.iso/mnt
# vi /etc/yum.repos.d/mnt.repo
[mnt]
name=Yum Source
baseurl=file:///mnt
enabled=1
gpgcheck=0
# yum makecache
安装如下包:
#yum install-y binutils compat* elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC-devel libaio-devel ksh
8.UDEV方式绑定磁盘(rac1&rac2)# vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45524932494157712d763771782d30694f30", RUN+="/bin/sh -c 'mknod /dev/asm_ocrb $major $minor; chown grid:oinstall /dev/asm_ocr; chmod 0660 /dev/asm_ocr'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45526d70325177442d616f33572d35686452", RUN+="/bin/sh -c 'mknod /dev/asm_data1b $major $minor; chown grid:oinstall /dev/asm_data1; chmod 0660 /dev/asm_data1'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c455251726b30676d2d337842312d55375278", RUN+="/bin/sh -c 'mknod /dev/asm_data2b $major $minor; chown grid:oinstall /dev/asm_data2; chmod 0660 /dev/asm_data2'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="14f504e46494c45527650634d78742d4a7664622d3276506e", RUN+="/bin/sh -c 'mknod /dev/asm_archb $major $minor; chown grid:oinstall /dev/asm_arch; chmod 0660 /dev/asm_arch'"
注:RESULT参数应对应裸设备的wwid号;每个小版本的udev配置略有不同,当前这个配置只适用于RHEL 7.2版本
启动udev
# /sbin/udevadm trigger --type=devices --action=change
查看asm磁盘
# ll /dev/asm*
9.安装grid软件(rac1)(1)解压grid软件
# su - grid
$ cd /u01/setup/grid
$ unzip p*.zip
(2)安装 cvuqdisk
# cd rpm/
# rpm -ivh cvuqdisk-1.0.9-1.rpm
将这个rpm包传输到2节点上安装
(3)运行图形界面
$ unzip /u01/setup/grid/p*
$ cd /u01/setup/grid/grid
运行 ./runInstaller
注:
1)远程运行图形界面需要
打开Xmanager,双机Xmanager-Passive
$ export DISPLAY=本机IP:0.0
2)检查是否可以运行图形
$ xhost +
access control disabled, clients can connect from any hosts
出现以上字样,代表可运行图形界面
3)出现”口口口口口”乱码,执行
$ export Lang=en_US
跳过软件更新
选择高级安装
SCAN name名字要写/etc/hosts文件中scan-ip的名字
这里的rac1/rac1-vip/rac2/rac2-vip名字要和/etc/hosts文件中名字对应
输入密码grid,点击setup配置互信
通用密码写oracle
执行如下两个脚本
执行顺序:
A机执行脚本1 → B机执行脚本1 → A机执行脚本2 → B机执行脚本2
执行脚本必须一个一个来,最好不要一起执行。
rac1:
rac2
脚本执行完成,点击OK
注:
1)如果这里root.sh脚本执行失败,可以回退,如下:
# /u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose
2)如果一直卡在Adding daemon to inittab或者Adding Clusterware entries to inittab或者ohasd进程启动失败,则此时需要新开一个窗口执行下面脚本,等ohasd进行启动成功后再取消执行脚本即可
# /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/nullbs=1024 count=1
忽略报错,不影响
10.配置ASM磁盘(rac1)Grid用户
$ asmca
这里需要注意一下,对于普通磁盘组(非OCR),正常冗余模式至少需要2块盘;高冗余模式至少需要3块盘;不冗余模式至少需要2块盘。
最后结果如下:
11.创建数据库(rac1)(Oracle用户)
# su - oracle
$ cd /u01/setup/db/
$ unzip p13390677_112040_Linux-x86-64_1of7.zip
$ unzip p13390677_112040_Linux-x86-64_2of7.zip
将两个zip包解压会生成一个database目录
$ cd database/
$ pwd
/u01/setup/db/database
$ ./runInstaller
Oracle的密码是oracle,选择setup建立互信
12.DBCA建库(rac1)(Oracle用户)
$ dbca
密码oracle
五、验证1.验证集群状态2.验证实例信息3.验证数据文件、日志文件、控制文件信息----------- end -------------
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。