Oracle RAC安装
Posted 微风徐徐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle RAC安装相关的知识,希望对你有一定的参考价值。
参考链接:https://blog.csdn.net/u012779110/article/details/125862423,需要安装两个操作系统Oracle Linux 7.4,分别为rac1和rac2,需要设置
①rac1和rac2操作系统的外部IP,叫Public IP(固定的IP),公共ip,是真实的ip,提供对外的数据服务,这两个需要和宿主机IP在同一个网段。因为宿主机IP是172.25.100.1/255.255.255.0,所以可以设置为172.25.100.131和172.25.100.132
②rac1和rac2的虚拟IP,叫virtual IP(浮动的IP),简称vip,与公共IP在同一个网段,用于故障切换和负载均衡。设置为172.25.100.133和172.25.100.134
③rac1和rac2的内部IP,叫private ip,私有IP,用于节点间的通讯,如心跳同步。设置为172.25.1.1和172.25.1.2
④scan ip,对应的是整个RAC群体(scan是single client access name),通讯路径是client->scan ip->vip。设置为172.25.100.130
一、安装操作系统
安装链接:https://www.cnblogs.com/muhai/p/16567352.html
这里虚拟机名称是rac1和rac2,位置在E:\\RAC\\rac1和E:\\RAC\\rac2
二、配置网络(与之前单节点稍有不同,所以这里重新描述)
1、修改host
vi /etc/hosts #Public IP 172.25.100.131 rac1 172.25.100.132 rac2 #Virtual IP 172.25.100.133 rac1-vip 172.25.100.134 rac2-vip #Private IP 172.25.1.1 rac1-priv 172.25.1.2 rac1-priv #Scan IP 172.25.100.130 rac-scan
2、配置网卡(添加网卡参考链接:https://www.linuxidc.com/Linux/2017-03/142370.htm),rac1和rac2方法一致
cd /etc/sysconfig/network-scripts ls -lrth //可以看到有ifcfg-ens33和ifcfg-ens36两张网卡信息,ifconfig查看只有ens33的信息,没有ens36,ens36的配置文件是空的,可以把ens36删除,利用nmtui生成ens36网卡 rm -rf ens36 nmtui
①Enter;②向右箭头Add;③Enter;
④向下箭头Ethernet;⑤删除默认名称,Profile name和Device都输入ens36;⑥ETHRNET选择Hide,IPv4配置选择Manual->Hide,输入地址172.25.1.1,注意这里是1.1,下面图片搞错了,可以再ifcfg-end36里面修改(也可以到后面配置),向下箭头到OK->back->quit
#vi /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTO=static //修改BOOTPROTO ONBOOT=yes //修改ONBOOT IPADDR=172.25.100.131 //增加rac2是172.25.100.132 NETMASK=255.255.255.0 //增加 GATEWAY=172.25.100.1 //增加 #vi /etc/sysconfig/network-scripts/ifcfg-ens36 BOOTPROTO=static //修改BOOTPROTO
IPADDR=172.25.1.1 //rac2是172.25.1.2
之后通过ifconfifig查看网卡信息还是没有ens36,需要在虚拟机界面添加网卡,即虚拟机->设置->添加->网络适配器->仅主机模式,ifup ens36之后ifconfig查看可以看到ens36的相关信息
三、安装前准备(RAC安装先准备grid和asm,之后再安装数据库,因为安装数据库的时候要选择节点)
参考链接:https://www.cnblogs.com/muhai/p/16498840.html第二步,先挂载iso文件(在安装前准备里第三步的6),关闭selinux和防火墙,后添加yum源(软件包,在131和132之间传送安装包可以使用scp)
1、这里创建安装目录有点区别,不只有oracle的安装路径,还有grid的安装路径
mkdir -p /u01/app/grid mkdir -p /u01/app/19.0.0/grid mkdir -p /u01/app/oracle/product/19.0.0/dbname_1 mkdir -p /home/oracle/scripts chown -R grid:oinstall /u01 chown -R oracle:oinstall /u01/app/oracle /home/oracle/scripts chmod -R 775 /u01 /home/oracle/scripts
2、配置环境变量
①grid用户(节点1的ORACLE_SID是+ASM1,节点二的ORACLE_SID是+ASM2)
//grid用户 su - grid #vi /home/grid/.bash_profile umask 022 export TMP=/tmp export TMPDIR=$TMP export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/app/19.0.0/grid export ORACLE_SID=+ASM1 export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss" export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export PATH=/usr/sbin:/usr/local/bin:$PATH export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib alias sqlplus=\' rlwrap sqlplus\' alias rman=\' rlwrap rman\' alias adrci=\'rlwrap adrci\' alias dgmgrl=\'rlwrap dgmgrl\' alias asmcmd=\'rlwrap asmcmd\'
②oracle用户(节点1的ORACLE_HOSTNAME和ORACLE_SID都是rac1,节点2的都是rac2)
su - oracle
#vi /home/oracle/.bash_profile
umask 022 export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=rac1 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1 export ORACLE_SID=rac1 export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss" export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export PATH=/usr/sbin:/usr/local/bin:$PATH export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib alias sqlplus=\' rlwrap sqlplus\' alias rman=\' rlwrap rman\' alias adrci=\'rlwrap adrci\' alias dgmgrl=\'rlwrap dgmgrl\' alias asmcmd=\'rlwrap asmcmd\'
3、ASM配置
①虚拟机创建共享盘(创建之前E:\\RAC\\sharedisk19c目录要存在,这个命令在宿主机执行)
"C:\\Program Files (x86)\\VMware\\VMware Workstation\\vmware-vdiskmanager.exe" -c -s 10g -a lsilogic -t 2 "E:\\RAC\\sharedisk19c\\share-data01.vmdk" "C:\\Program Files (x86)\\VMware\\VMware Workstation\\vmware-vdiskmanager.exe" -c -s 10g -a lsilogic -t 2 "E:\\RAC\\sharedisk19c\\share-data02.vmdk" "C:\\Program Files (x86)\\VMware\\VMware Workstation\\vmware-vdiskmanager.exe" -c -s 10g -a lsilogic -t 2 "E:\\RAC\\sharedisk19c\\share-data03.vmdk"
//两个磁盘组在后面安装grid配置ASM的时候不会成功,normal方式最少3个
前面的exe是执行程序,-c是创建命令,-s是执行大小命令,-a是指定磁盘适配器类型,有三种类型,这里选择lsi logic scsi接口适配器,-t指定虚拟磁盘的类型,选择2是创建一个包含在单一虚拟文件中的预分配虚拟磁盘,双引号里是创建的共享盘位置
②编辑虚拟机配置文件
关闭两台虚拟机->记事本打开Rac1.wmx和Rac2.wmx添加以下内容->重新打开rac2和rac2,查看两个节点的设置会出现硬盘2、硬盘3和硬盘4
//在Rac1.wmx,Rac2.wmx后面加入以下内容,scsi1:0表示第一块,scsi1:1表示第二块,共添加两块 #shared disks configure diskLib.dataCacheMaxSize=0 diskLib.dataCacheMaxReadAheadSize=0 diskLib.dataCacheMinReadAheadSize=0 diskLib.dataCachePageSize=4096 diskLib.maxUnsyncedWrites = "0" disk.locking = "FALSE" scsi1.sharedBus = "virtual" scsi1.present = "TRUE" scsi1.virtualDev = "lsilogic" scsi1:0.mode = "independent-persistent" scsi1:0.deviceType = "disk" scsi1:0.present = "TRUE" scsi1:0.fileName = "E:\\RAC\\sharedisk19c\\share-data01.vmdk" scsi1:0.redo = "" scsi1:1.mode = "independent-persistent" scsi1:1.deviceType = "disk" scsi1:1.present = "TRUE" scsi1:1.fileName = "E:\\RAC\\sharedisk19c\\share-data02.vmdk" scsi1:1.redo = "" scsi1:2.mode = "independent-persistent" scsi1:2.deviceType = "disk" scsi1:2.present = "TRUE" scsi1:2.fileName = "E:\\RAC\\sharedisk19c\\share-data03.vmdk" scsi1:2.redo = ""
③配置共享存储(这里磁盘组前缀是asm-disk*,后面安装grid配置ASM时查找磁盘组可以/dev/asm*查找)
//获取设备标识符,与之后的对比 /usr/lib/udev/scsi_id -g -u -d /dev/sdb #vi /etc/scsi_id.config //循环将信息输入到 /etc/udev/rules.d/99-oracle-asmdevices.rules文件,循环四次,因为有四个磁盘 for i in a b c d; do echo "KERNEL==\\"sd*\\", ENVDEVTYPE==\\"disk\\", SUBSYSTEM==\\"block\\", PROGRAM==\\"/usr/lib/udev/scsi_id -g -u -d \\$devnode\\",RESULT==\\"`/usr/lib/udev/scsi_id -g -u -d /dev/sd$i`\\", RUN+=\\"/bin/sh -c \'mknod /dev/asm-disk$i b \\$major \\$minor; chown grid:asmadmin /dev/asm-disk$i; chmod 0660 /dev/asm-disk$i\'\\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules; done
cat /etc/udev/rules.d/99-oracle-asmdevices.rules
//加载rules文件,重新加在udev rule /sbin/udevadm control --reload //检查新的设备名称 /sbin/udevadm trigger --type=devices --action=change //诊断udev rule /sbin/udevadm test /sys/block/* ll /dev/asm*
//将配置的文件直接传给rac2,不需要重新生成 scp /etc/udev/rules.d/99-oracle-asmdevices.rules rac2:/etc/udev/rules.d/
reboot
4、停用avahi服务
systemctl stop avahi-daemon
systemctl disable avahi-daemon
5、解压安装文件(grid、oracle、Opatch和RU补丁)
chown -R grid:oinstall /ORACLE19C su - grid -c "unzip /ORACLE19C/LINUX.X64_193000_grid_home.zip -d /u01/app/19.0.0/grid/" chown -R oracle:oinstall /ORACLE19C su - oracle -c "unzip /ORACLE19C/LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1" chown -R grid:oinstall /ORACLE19C su - grid -c "unzip /ORACLE19C/p6880880_190000_Linux-x86-64.zip -d /u01/app/19.0.0/grid/" su - grid -c "unzip /ORACLE19C/p33803476_190000_Linux-x86-64.zip -d /ORACLE19C"
6、安装cvuqdisk
rpm -ivh /u01/app/19.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
四、安装grid软件
1、先升级后安装,升级到19.15版本
//图形化界面登录grid用户 source ~/.bash_profile cd $ORACLE_HOME //升级并安装grid ./gridSetup.sh -applyRU /ORACLE19C/33803476
配置选项,默认 新集群配置 Oracle Grid Infrastructure,Next
集群配置,默认 配置Oracle默认集群,Next
网络即插即用,默认选择Create Local SCAN,SCAN Name为rac-scan
集群节点信息,添加另一个节点信息。Add->Add a single node->Public Hostname:rac2->Virtual Hostname:rac2-vip
点击SSH Connectivity,输入grid密码,点击Setup,出现Failed to setup passwordless SSH的错误(rac2),反应过来是rac2那台主机还没有创建grid用户,所以出现错误,在rac2创建号grid用户之后Setup就成功了。Setup之后点击Test。
网络接口使用情况,默认
存储选项,默认,Use Oracle Flex ASM for storages
创建GI管理仓库,默认,No
创建ASM磁盘组,磁盘组名默认DATA,冗余默认normal,磁盘查找路径修改为查找/dev/asm*,找到后会出现在列表里,勾选两个磁盘组;取消选中configure Oracle ASM Filter Driver
新增一个磁盘(注:选择两个磁盘组不会通过,会出现asm磁盘数量不够,11.2g以后normal至少要三个磁盘组,high至少5个磁盘组)
ASM密码,选择使用统一密码(这里密码太简单了报错)
故障隔离,默认
管理选项,不做任何操作,Next
操作系统组,默认(这些组在前面的时候创建过了)
安装路径,默认(rac2的这些路径也要存在,否则会报错)
在rac2没有创建相关的路径(也没有配置环境变量)时会出现错误
创建产品清单位置,默认
root脚本执行,选择自动运行配置脚本,选择root用户验证
必要条件检查,选择全部忽略
总结,选择安装
两个节点以root用户执行两个脚本
# /u01/app/oraInventory/orainstRoot.sh # /u01/app/19.0.0/grid/root.sh
完成
五、
以上是关于Oracle RAC安装的主要内容,如果未能解决你的问题,请参考以下文章