一、基本环境需求 系统环境: 系统版本: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: <rawdev> <major> <minor> # <rawdev> <blockdev> # 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 oracle@192.168.100.143 [oracle@odb1 .ssh]$ ssh-copy-id-i id_rsa.pub oracle@192.168.100.144 需要注意,在配置完成之后,需要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安装
转载于:https://blog.51cto.com/devliangel/1288235