【Oracle 11G RAC 零基础搭建】
redhat6.9+oracle 11g rac 搭建过程
因工作需要,在虚拟机上搭建rac,零基础学习,现将搭建过程整理后记录,欢迎大家交流。
虚拟机环境:RedHat 6.9
rac版本:oracle 11g rac 11.2.0.4
本文所用到的全部资源已经整理上传到CSDN,有需要的可以在文末链接获取。
目录
一、操作系统安装
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
更多推荐
所有评论(0)