因工作需要,在虚拟机上搭建rac,零基础学习,现将搭建过程整理后记录,欢迎大家交流。

虚拟机环境:RedHat 6.9

rac版本:oracle 11g rac 11.2.0.4

本文所用到的全部资源已经整理上传到CSDN,有需要的可以在文末链接获取。

目录

一、操作系统安装

1.虚拟机配置

 2.系统安装

 二、rac节点配置

1.添加虚拟网卡

2.网络设置

2.1 修改主机名

2.2 配置网络

2.3 Host文件文件设置

2.4 修改linux防火墙设置

2.5 关闭linux安全服务

3.系统配置

3.1 检查安装依赖

3.2 修改系统配置

4.创建组、用户等信息 

4.1 创建组

4.2 创建用户

4.3 添加用户相关功能

4.4 创建目录

4.5 配置环境变量

 5.共享磁盘创建

 6.磁盘分区

三、rac安装

1.安装grid

2.创建磁盘组

3.安装DB软件

4.创建数据库

 四、可能遇到的问题

五、总结


一、操作系统安装

1.虚拟机配置

使用vmware15虚拟机安装系统,安装过程如下。

未贴图部分按默认选项下一步即可。

为虚拟机添加光盘映像文件。

至此完成虚拟机创建。 

 2.系统安装

系统安装过程如下,未截图部分按照默认选择点击下一步即可。

 

磁盘分区如下图。/boot目录200M,/ 根目录5G,swap 空间与虚拟机内存保持一致2.5G,其余空间分给 /u01目录。

 

 

 

系统安装完成点击reboot重启。

 

 系统相关配置配置如下。

 

未截图部分按默认选择下一步即可。 

 

系统安装完成。

 二、rac节点配置

系统安装完成后作为备份使用,克隆两台虚拟机node1,node2作为本次实验搭建oracle 11g rac 环境使用。

1.添加虚拟网卡

在虚拟机中添加两块虚拟网卡,vmnet5(公网)vmnet3(私网),子网地址按图示设定。

节点 1:添加两块网卡(用于公网和私网)。

节点 2:添加两块网卡(用于公网和私网)。

2.网络设置

注意:以下操作2台节点均做设置。

2.1 修改主机名

vi /etc/sysconfig/network

HOSTNAME改为rac1

另一台改为rac2

2.2 配置网络

#注释部分根据本机网卡进行配置。

vi /etc/sysconfig/network-scripts/ifcfg-eth0

vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth0

#HWADDR=00:0C:29:28:E1:3B

TYPE=Ethernet

#UUID=d75da050-2a7c-4c1a-877d-103596eff910

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

GATEWAY=192.168.174.1

IPADDR=192.168.174.11

NETMASK=255.255.255.0

DEVICE=eth1

#HWADDR=00:50:56:25:4D:F5

TYPE=Ethernet

#UUID=d75da050-2a7c-4c1a-877d-103596eff910

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

GATEWAY=10.10.10.1

IPADDR=10.10.10.11

NETMASK=255.255.255.0

service network restart  --重启网络

reboot  --重启系统

2.3 Host文件文件设置

/etc/hosts  增加如下内容

#PUBLIC

192.168.174.11    rac1

192.168.174.12    rac2

#PRIVATE

10.10.10.11    rac1-priv

10.10.10.12    rac2-priv   

#VIP

192.168.174.111   rac1-vip

192.168.174.121   rac2-vip

192.168.174.24    rac-scan

2.4 修改linux防火墙设置

关闭防火墙

重启后生效

开启: chkconfig iptables on

关闭: chkconfig iptables off

即时生效,重启后失效

开启: service iptables start

关闭: service iptables stop

2.5 关闭linux安全服务

永久方法 – 需要重启服务器

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器

查看状态为:/usr/sbin/sestatus

3.系统配置

注意:以下操作2台节点均做设置。

3.1 检查安装依赖

  • 光盘插入光驱
  • 如果自动mount,则  umount /media/RHEL_6.5\ x86_64\ Disc\ 1/
  • 然后重新mount,  mount /dev/cdrom /media
  • 配置yum源

mv /etc/yum.repo.d/rhel-source.repo /etc/yum.repo.d/rhel-source.repo.bak

vi /etc/yum.repo.d/rhel-source.repo.bak

添加以下内容

[Base]

name=Red Hat Enterprise Linux

baseurl=file:///media/Server

enabled=1

gpgcheck=0

  • 安装

yum install -y gcc compat* libstdc++-devel elfutils-libelf-devel gcc-c++ libaio-devel pdksh

其中pdksh需要单独下载安装,方法如下:
rpm -ivh pdksh-5.2.14-30.x86_64.rpm

3.2 修改系统配置

  • vi /etc/sysctl.conf  添加如下内容

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 2684354560         #  内存*1024*1024*1024

kernel.shmmni = 4096

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 = 1048586

 sysctl -p  使以上修改生效

  •  vi /etc/security/limits.conf  添加以下内容 

oracle              soft    nproc   2047

oracle              hard    nproc   16384

oracle              soft    nofile  1024

oracle              hard    nofile  65536

oracle              soft    stack   10240

grid              soft    nproc   2047

grid              hard    nproc   16384

grid              soft    nofile  1024

grid              hard    nofile  65536

grid              soft    stack   10240

  •  vi /etc/pam.d/login  添加以下内容

 session required /lib/security/pam_limits.so

  •  vi /etc/profile  添加以下内容

if [ $USER = "oracle" ]||[ $USER = "grid" ]; then

    if [ $SHELL = "/bin/ksh" ]; then

                ulimit -p 16384

                ulimit -n 65536

        else

                ulimit -u 16384 -n 65536

        fi

fi

  •  配置NTP,确保可以ping通时钟同步服务器(10.0.2.2)

vi /etc/ntp.conf  添加以下内容

server 10.0.7.254

fudge 10.0.7.254 stratum 11

driftfile /var/lib/ntp/drift

broadcastdelay 0.008

vi /etc/sysconfig/ntpd  添加下面红色部分

# Drop root to id 'ntp:ntp' by default.

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"

最后重启ntpd服务器:service ntpd restart

确保开机启动ntpd服务:chkconfig ntpd on

4.创建组、用户等信息 

注意:以下操作2台节点均做设置

4.1 创建组

groupadd  -g 200 oinstall

groupadd  -g 201 dba

groupadd  -g 202 oper

groupadd  -g 203 asmadmin

groupadd  -g 204 asmoper

groupadd  -g 205 asmdba

4.2 创建用户

useradd -u 200 -g oinstall -G dba,asmdba,oper,asmadmin oracle

useradd -u 201 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

修改密码:

passwd oracle

passwd grid

4.3 添加用户相关功能

  • 生成密钥对(两个节点,oracle、grid用户分别执行)

ssh-keygen -t rsa

ssh-keygen -t dsa

  • 配置信任关系(在rac1节点上,oracle、grid各做一次)

cat .ssh/id_rsa.pub >>.ssh/authorized_keys

cat .ssh/id_dsa.pub >>.ssh/authorized_keys

ssh rac2 cat .ssh/id_rsa.pub >>.ssh/authorized_keys

ssh rac2 cat .ssh/id_dsa.pub >>.ssh/authorized_keys

scp .ssh/authorized_keys rac2:~/.ssh

  • 验证信任关系(两个节点,oracle、grid用户都要执行下述命令)

ssh rac2 date

ssh rac2-priv date

ssh rac1 date

ssh rac1-priv date

4.4 创建目录

创建oracle、grid安装目录:(两个节点都做)

mkdir -p /u01/app/11.2.0/grid

mkdir -p /u01/app/oracle

chown -R grid:oinstall /u01

chown oracle:oinstall /u01/app/oracle

chmod -R 775 /u01/

4.5 配置环境变量

  • rac1上oracle用户下,vi ~/.bash_profile文件添加:

umask 022

export EDITOR=vi

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export PATH=.:${PATH}:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:${LD_LIBRARY_PATH}

  • rac2上oracle用户下,vi ~/. bash_profile文件添加:

umask 022

export EDITOR=vi

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export PATH=.:${PATH}:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:${LD_LIBRARY_PATH}

  • rac1上grid用户下,vi ~/. bash_profile文件添加:

umask 022

export EDITOR=vi

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export ORACLE_SID=+ASM1

export PATH=.:${PATH}:$ORACLE_HOME/bin:/usr/bin:/bin::/usr/local/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:${LD_LIBRARY_PATH}

  • rac2上grid用户下,vi ~/. bash_profile文件添加

umask 022

export EDITOR=vi

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export ORACLE_SID=+ASM2

export PATH=.:${PATH}:$ORACLE_HOME/bin:/usr/bin:/bin:/usr/local/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:${LD_LIBRARY_PATH}

 5.共享磁盘创建

在vm安装目录下cmd命令行执行如下命令

vmware-vdiskmanager.exe -c -s 5Gb -a lsilogic -t 2 "F:\rac\sharedisk\CRS.vmdk"

vmware-vdiskmanager.exe -c -s 15Gb -a lsilogic -t 2 "F:\rac\sharedisk\DATA.vmdk"

vmware-vdiskmanager.exe -c -s 5Gb -a lsilogic -t 2 "F:\rac\sharedisk\FRA.vmdk"

 选择为虚拟机增加磁盘,节点1和节点2分别增加三块磁盘。

 

找到两台虚拟机的配置文件用记事本模式打开它在最后加入两行参数。

将下面配置粘贴至VMX文件中,两个节点均操作。

disk.locking="FALSE"

disk.EnableUUID = "TRUE" 

 6.磁盘分区

root用户操作:

  • 划分分区,以/dev/sdc为例。(红色为命令,括号里为注释,一个节点操作,划分完成后另外一个节点使用fdisk –l查看结果是否一致)

fdisk /dev/sdc

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

         switch off the mode (command 'c') and change display units to

         sectors (command 'u').

Command (m for help): p(查看分区)

Command (m for help): n(添加一个分区)

Command action

   e   extended

   p   primary partition (1-4)

p(选择主分区,第一次划分区,指定主分区)

Partition number (1-4): 1(输入1)

First cylinder (1-117487, default 1): (回车选择默认)

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-117487, default 117487): (回车选择默认)

Command (m for help): w(保存分区)

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

  • 编辑raw配置文件(两个节点都做)

vi /etc/udev/rules.d/60-raw.rules 添加以下内容(#为注释)

#CRS

ACTION=="add",KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"

#AMP

ACTION=="add",KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add",KERNEL=="sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"

ACTION=="add",KERNEL=="raw1", OWNER="grid", GROUP="asmadmin",MODE="660"

ACTION=="add",KERNEL=="raw2", OWNER="grid", GROUP="asmadmin",MODE="660"

ACTION=="add",KERNEL=="raw3", OWNER="grid", GROUP="asmadmin",MODE="660"

  • 启动udev(两个节点都做)

start_udev

  • 查看生成的raw设备(两个节点都做)

ll /dev/raw

 

 其中一个节点可能不显示raw设备,此时重启两台节点再查看即可正常显示。

三、rac安装

1.安装grid

  • root用户解压grid软件包

 创建/u01/software目录用于安装软件

借助xftp工具,将介质上传到rac1上的/u01/software目录

unzip p13390677_112040_Linux-x86-64_3of7.zip

  • 以grid用户登录

用root执行安装下面rpm包

rpm -ivh /u01/software/grid/rpm/cvuqdisk-1.0.9-1.rpm

scp /u01/software/grid/rpm/cvuqdisk-1.0.9-1.rpm rac2:/u01/software/

在rac2上,使用root用户:

rpm -ivh /u01/software/cvuqdisk-1.0.9-1.rpm

  • grid用户验证,rac1执行:

/u01/software/grid/runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose

  • 在rac1节点使用grid用户进行安装

借助manager-passive图形界面工具

export DISPLAY=192.168.174.1:0.0    # 此处选择本机IP

/u01/software/grid/runInstaller

开始安装grid如下:

 

 

 

 

 

 

此处密码为之前设定的grid用户密码。 

 

 确认网络信息。

 

 

 

 

 

 

 

 dns服务,可以忽略。

 

 

 

顺序:在节点1执行脚本1,节点2执行脚本1

           在节点1执行脚本2,节点2执行脚本2

 

 

 

 该报错可以忽略

 完成安装

验证每个节点的cluster是否正常启动

[grid@rac1 ~]$ crsctl check cluster -all

 

 [grid@rac2 ~]$ crsctl check cluster -all

 

 查看节点状态

[grid@rac1 ~]$ crsctl stat res -t

 

 

 target 与 state 状态一致说明资源都在正常工作

2.创建磁盘组

export DISPLAY=192.168.174.1:0.0

[grid@rac1 grid]$ asmca

 

 创建DATA和FRA磁盘组

ASM磁盘组创建完成。

3.安装DB软件

  • 解压oracle软件包

将介质上传到rac1的/u01/software目录下,解压

unzip p13390677_112040_Linux-x86-64_1of7.zip

unzip p13390677_112040_Linux-x86-64_2of7.zip

  • 登录到oracle用户

开始安装

cd /u01/software/database

使用xmanager-passiv软件,图形界面安装

export DISPLAY=192.168.174.1:0.0  #使用本机IP

./runInstaller

 

 

 

 密码为为oracle账户设定的密码。

图示两个问题可以忽略。

 

 

 分别在两个节点的root用户执行脚本。

 

 

 

 安装完成。

 

4.创建数据库

节点1登录到oracle用户,启动数据库创建向导:

借助manager-passive工具,export DISPLAY=192.168.174.1:0.0

使用dbca命令创建数据库

 

 选择rac数据库,点击下一步

 

 

 

 

 

 

 

 

 

 

 

 

 

 

安装完成。 

 

 验证安装结果

 四、可能遇到的问题

  • grid安装第7步可能报错

 

 两台节点互信可能存在问题,分别ssh 两台节点的两块网卡,设立节点互信。

  • grid安装过程中,第二个节点执行root.sh脚本报错

 

此问题由于在虚拟机快照返回时,共享磁盘路径发生了变化,导致两台节点使用的共享磁盘不一致。后面部署rac的时候相当于同时部署了两台rac,争用同一个scan ip 192.168.174.21,导致出现此问题。

五、总结

建议谨慎使用快照功能,本文建议在rac节点配置前和共享磁盘创建前使用虚拟机快照功能,便于遇到问题回退。

我本身也是第一次学习安装部署rac,如果有什么问题欢迎留言或者私信与我交流。第一次发表文章,文内有可能存在部分问题,也请大家帮忙指正。

本文用到的redhat6.9镜像,oracle安装包,rpm依赖,xshell工具,都是本人辛苦搜集整理得到,已上传在CSDN资源,如有需要可自行下载。oracle11grac部署所需全部资源-Oracle文档类资源-CSDN下载包括Redhat6.9镜像,oracle11glinux安装包,所需rpm依赖,xshell工具更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/weixin_45031409/85205367

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐