一、基本环境需求
系统环境:
系统版本:RHEL5U8 x86_64
ORACLE版本:ORACLE 10.2.1
IP地址
odb1 192.168.100.144
192.168.101.144
odb2 192.168.100.143
192.168.101.143
服务器关闭Selinux/iptables
二、前期准备工作
修改两台计算机的主机名字
odb1 odb1-priv odb1-vip
obd2 odb2-priv odb2-vip
配置yum源码,保证数据包都完整安装,oracleRAC最讨厌少包,确包的问题,大多数都是由于rpm包引起的
分别在两台机器上创建oracle用户和oinstall dba两个组
准备六块共享盘,我们在此实验中可以借助virtualbox来模拟,在环境中我们可以使用EMC netapp 来规划
data×2 10G  数据盘 根据业务来划分大小
ocr×2   512M  集群信息注册盘
virdisk×3 512M
需要注意的是 在oracle11g中不支持virtualdis 只支持asm
切忌要格式创建的硬盘,格式化只需要在一台机器上配置测试就可以了
配置双向SSH无密码认证,
SSH需要两台机器互相连接,并且需要SSH本身能SSH连接,不然会在oracle集群节点报错
创建raw(裸)设备,需要修改RAC机器的节点上的两个配置文件
还需要注意raw权限的问题  chmodchown
注意:需要两边的raw设备端口号一样,不然会报错,
例如:我们在节点A上面RAW1对应的是port1,那么我们需要在节点B上的RAW1对应的也是port1,端口不能错误。不然会发生错误
修改系统参数文件,配置oracle用户的环境变量
三、实施前期准备工作
1.创建oracle用户两个节点配置创建一样
[root@rac2 ~]# groupadd oinstall
[root@rac2 ~]# groupadd dba
[root@rac2 ~]# useradd -d /home/oracle -g oinstall -G dba -s /bin/bash oracle
[root@rac2 ~]# echo "123.com" | passwd --stdin oracle
[root@rac1 oracle]# echo "123.com" | passwd --stdin oracle
Changing password foruser oracle.
passwd: all authentication tokens updated successfully.
[root@rac1 oracle]#
2.修改计算机名字,以及修改hosts文件
[root@odb1 ~]# hostname
odb1
修改计算机名字的两种方式
临时修改:hostnameodb1
永久修改:vim /etc/sysconfig/network
hots文件需要修改,双节点需要认证 两台机器配置是一样的,另一台机器直接scp过去就可以
[root@odb1 ~]# cat /etc/hosts
127.0.0.1   localhost
192.168.100.144 odb1
192.168.100.143 odb2
192.168.101.144 odb1-priv
192.168.101.143 odb2-priv
192.168.100.252 odb1-vip
192.168.100.253 odb2-vip
[root@odb1 ~]#
3.修改yum源服务器,我们做是本地yum服务器,两台机器配置完全一样,scp到新的机器就可以
mount/dev/cdrom/mnt
如下附件是yum本地源的配置,因为RHEL5.x系列配置公网yum比较麻烦,rpm安装更恐怖,只能本地yum配置
[root@odb1 ~]# cat /etc/yum.repos.d/opensource.repo
[opensource]
name=opensource
baseurl=file:///mnt/Server
enabled=1
gpgcheck=0
[opensource1]
name=opensource1
baseurl=file:///mnt/VT
enabled=1
gpgcheck=0
[opensource2]
name=opensource2
baseurl=file:///mnt/Cluster
enabled=1
gpgcheck=0
[root@odb1 ~]#
4.共享共享存储磁盘的配置,我们在这里是模拟的,因此我们在第一个节点上添加硬盘共享,然后第二个节点就可以使用
用到的技术 LVM 几个命令:pvcreate cgcreate lvcreate
需要格式化
如下是裸设备的配置修改,两台机器配置的方式一模一样;
root@rac1 /home]# cat /etc/sysconfig/rawdevices
# raw device bindings
# format:    
#           
# example: /dev/raw/raw1 /dev/sda1
#          /dev/raw/raw2 8 5
/dev/raw/raw1/dev/sdb1
/dev/raw/raw2/dev/sdc1
/dev/raw/raw3/dev/sdd1
/dev/raw/raw4/dev/sde1
/dev/raw/raw5/dev/sdf1
/dev/raw/raw6/dev/sdg1
/dev/raw/raw7/dev/sdh1
[root@rac1 /home]#
[root@rac1 /home]# cat /etc/udev/rules.d/60-raw.rules
# Enter raw device bindings here.
#
# An example would be:
#   ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
#   ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor
ACTION=="add", KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdf", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="sdg", RUN+="/bin/raw /dev/raw/raw6 %N"
ACTION=="add", KERNEL=="sdh", RUN+="/bin/raw /dev/raw/raw7 %N"
[root@rac1 /home]#
重启服务
[root@rac1 /home]# /etc/rc.d/init.d/rawdevices restart
Assigning devices:
/dev/raw/raw1-->   /dev/sdb1
/dev/raw/raw1:  bound to major 8, minor 17
/dev/raw/raw2-->   /dev/sdc1
/dev/raw/raw2:  bound to major 8, minor 33
/dev/raw/raw3-->   /dev/sdd1
/dev/raw/raw3:  bound to major 8, minor 49
/dev/raw/raw4-->   /dev/sde1
/dev/raw/raw4:  bound to major 8, minor 65
/dev/raw/raw5-->   /dev/sdf1
/dev/raw/raw5:  bound to major 8, minor 81
/dev/raw/raw6-->   /dev/sdg1
/dev/raw/raw6:  bound to major 8, minor 97
/dev/raw/raw7-->   /dev/sdh1
/dev/raw/raw7:  bound to major 8, minor 113
done
[root@rac1 /home]#
授权在两个节点都需要
[root@odb1 ~]# chown -R root:oinstall /dev/raw/raw[1-2]
[root@odb1 ~]# chown -R oracle:oinstall /dev/raw/raw[3-5]
[root@odb1 ~]# chown -R oracle:dba /dev/raw/raw[6-8]
[root@odb1 ~]# chmod 660 /dev/raw/raw*
[root@odb1 ~]# vim /etc/udev/rules.d/50-udev.rules
KERNEL=="raw[1-7]", OWNER="oracle"GROUP="dba", MODE="0660"
5.配置SSH双向认证
三部曲,如下三步 需要在RAC两个节点上都同时配置
[oracle@odb1 ~]$ ssh-keygen -t rsa  一路回车
[oracle@odb1 ~]$ cd.ssh/
[oracle@odb1 .ssh]$ ssh-copy-id-i id_rsa.pub [email protected]
[oracle@odb1 .ssh]$ ssh-copy-id-i id_rsa.pub [email protected]
需要注意,在配置完成之后,需要SSH手动连接测试,保证正常因为有的会是yes
因为如果在RAC节点检查的时候,没有安装会报错
两台节点在oracle用户下操作
sshodb1
sshodb2
sshodb1-priv
sshodb2-priv
6.yum安装oracle需要使用的包
yum -y installinstallcompat-db.* binutils* binutils-devel.* control-center.* control-center-devel.* control-center.* gcc gcc-c++ glibc-utils  glibc.* glibc-common.* glibc-devel.* glibc-headers.* compat-glibc.*  glibc-common libstdc++.* libstdc++-devel.* libstdc++44-devel.* makesetarch installcompat-db.* compat-db binutils control-center gcc gcc-c++ glibc  glibc-devel glibc-common libstdc++ libstdc++-devel makeopenmotif setarch libaio compat-libstdc++ compat-gcccompat- libXp openmotif22 compat-db
7.配置环境变量
配置环境变量
su - oracle
vim .bashrc  两个节点配置完全一样,只需要修改SID就可以
exportORACLE_BASE=/u01/app/oracle
exportORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
exportPATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
exportORACLE_OWNER=oracle
exportORACLE_SID=odb1
exportORACLE_TERM=vt100
exportTHREADS_FLAG=native
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
exportLANG=en_US
umask022
8.创建环境变量节点 两个节点都需要创建
[root@odb1 ~]# mkdir /u01
[root@odb1 ~]# chown oracle:oinstall /u01/ -R
[oracle@odb1 ~]$ mkdir$ORACLE_BASE/admin-p
[oracle@odb1 ~]$ mkdir-p $ORACLE_HOME
[oracle@odb1 ~]$ mkdir-p $ORA_CRS_HOME
[oracle@odb1 ~]$ mkdir-p  $ORACLE_BASE/oradata/r10g
9.修改oracle最大连接数文件(两台节点都需要修改)
cat/etc/security/limits.com
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
10.添加oracle的pam认证模块
cat/etc/pam.d/login
session required /lib/security/pam_limits.so
11.修改内核参数 两台节点都配置
vim /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file‐max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
sysctl -p  生效
12.修改hangcheck time内核参数 两台节点都安装
vim /etc/modprobe.conf 最后面添加如下一行
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
然后生效:modprobe -vhangcheck-timer
13.自己搭建NTP时间服务器,要么自己来inetrnet时间服务器
ntpdate ntp.api.bz
关于搭建NTP时间服务器,查看我的博文;
时间服务器每小时同步一样
crontab-e
* 1 * * * ntpdate -s ntp.api.bz
至此准备环境配置完成,接下来安装RAC安装