华为虚拟机CentOS7.3 ORACLE 19C RAC搭建全过程

所有的环境配置需要在所有的rac节点进行配置.oracle软件包解压缩只需要在一台节点操作.最后的ui图形界面安装也只需要在其中一个节点进行安装

csdn传图片太麻烦,包含图片的文档见网页:

https://download.csdn.net/download/su377486/11706413

1.关闭防火墙和selinux

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

vi /etc/selinux/config 设置为disabled

 

2.修改操作系统参数

vi /etc/sysctl.conf

####fs setting

fs.aio-max-nr = 4194304

fs.file-max = 6815744

####kernel setting

kernel.shmall = 4194304

kernel.shmmax = 16106127360

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

kernel.panic_on_oops = 1

kernel.panic = 10

#### Net Setting

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

##TCP Cache Setting

net.ipv4.tcp_moderate_rcvbuf=1

net.ipv4.tcp_rmem = 4096 87380 4194304

net.ipv4.tcp_wmem = 4096 16384 4194304

net.ipv4.conf.ens36.rp_filter = 2

net.ipv4.conf.ens35.rp_filter = 2

net.ipv4.conf.ens34.rp_filter = 1

####Memory Setting

vm.vfs_cache_pressure=200 

vm.swappiness=10

vm.min_free_kbytes=102400

 

sysctl -p生效

 

vi /etc/security/limits.conf

grid soft nproc 16384

grid hard nproc 65536

grid soft nofile 32768

grid hard nofile 65536

grid soft stack 32768

grid hard stack 65536

grid soft memlock -1

grid hard memlock -1

oracle soft nproc 16384

oracle hard nproc 65536

oracle soft nofile 32768

oracle hard nofile 65536

oracle soft stack 32768

oracle hard stack 65536

oracle soft memlock -1

oracle hard memlock -1

 

3.安装依赖软件包

配置yum源:

mkdir -p /etc/yum.repos.d/bak

mv /etc/yum.repos.d/* /etc/yum.repos.d/bak

将镜像光盘挂载到/os目录下

vi /etc/yum.repos.d/Centos-Base.repo

[ISO-DVD]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=file:///os

enabled=1

gpgcheck=0

 

yum -y install bc gcc gcc-c++ binutils make gdb cmake glibc ksh xterm \

elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc-devel \

libaio libaio-devel libXrender libXrender-devel libX11 libXau sysstat \

libXi libXtst libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb \

net-tools nfs-utils compat-libcap1 compat-libstdc++ smartmontools targetcli \

python python-configshell python-rtslib python-six unixODBC unixODBC-devel

下载compat-libstdc++包:

wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/matthewdva:/build:/RedHat:/RHEL-7/complete/x86_64/compat-libstdc++-33-3.2.3-71.el7.x86_64.rpm

yum localinstall compat-libstdc++-33-3.2.3-71.el7.x86_64.rpm

 

 其它配置:

systemctl stop avahi-dnsconfd

systemctl stop avahi-daemon

systemctl disable avahi-dnsconfd

systemctl disable avahi-daemon

systemctl stop NetworkManager

systemctl disable NetworkManager

关闭时间同步

systemctl stop chronyd

systemctl disable chronyd

mv /etc/chrony.conf /etc/chrony.conf.bak

echo "NOZEROCONF=yes" >>/etc/sysconfig/network

关闭透明大页和NUMA

vi /etc/default/grub

在GRUB_CMDLINE_LINUX添加下列选项,用于关闭THP和NUMA

transparent_hugepage=never numa=off

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never numa=off"

编译并重启主机     

grub2-mkconfig -o /boot/grub2/grub.cfg

grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

 

4.配置HOSTS文件

修改主机名:

hostnamectl --static set-hostname rac19c1

vi /etc/hosts

 

#public IP

192.168.56.190 rac19c1

192.168.56.191 rac19c2

 

#VIP

192.168.56.192 rac19c1-vip

192.168.56.193 rac19c2-vip

 

#private IP

11.11.11.1 rac19c1-priv

11.11.11.2 rac19c2-priv

 

#scanip

192.168.56.194 rac19c-cluster rac19c-cluster-scan

192.168.56.195 rac19c-cluster rac19c-cluster-scan

192.168.56.196 rac19c-cluster rac19c-cluster-scan

 

5.创建用户/组和目录

/usr/sbin/groupadd -g 50001 oinstall

/usr/sbin/groupadd -g 50002 dba

/usr/sbin/groupadd -g 50003 oper

/usr/sbin/groupadd -g 50004 backupdba

/usr/sbin/groupadd -g 50005 dgdba

/usr/sbin/groupadd -g 50006 kmdba

/usr/sbin/groupadd -g 50007 asmdba

/usr/sbin/groupadd -g 50008 asmoper

/usr/sbin/groupadd -g 50009 asmadmin

/usr/sbin/groupadd -g 50010 racdba

/usr/sbin/useradd -u 50011 -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba grid

/usr/sbin/useradd -u 50012 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba oracle

passwd oracle

passwd grid

 

mkdir -p /u01/app/grid

mkdir -p /u01/app/19.3.0.0/grid

mkdir -p /u01/app/oracle

mkdir -p /u01/app/oracle/product/19.3.0.0/db_1

chown -R grid:oinstall /u01

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01

 

6.配置用户环境变量

注意修改实例名

注意grid的ORACLE_BASE不再和oracle下的公用,所以grid的一些trace文件放在grid用户下ORACLE_BASE/diag下面

grid用户:

=====================================

export ORACLE_SID=+ASM1

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/19.3.0.0/grid

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

export LANG=en_US

 

oracle用户:

=====================================

export ORACLE_SID=ora19c1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/19.3.0.0/db_1

export GRID_HOME=/u01/app/19.3.0.0/grid

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$PATH

export LANG=en_US

 

root用户:

=====================================

export ORACLE_HOME=/u01/app/19.3.0.0/grid

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

export LANG=en_US

 

7.配置共享存储

1.multipathd多路径配置方式

多路径方式适用于存储环境,大多数环境应该使用多路径配置共享存储,下面以linux自带的multipath配置示例

 

如果不部署mgmtdb,3块5G的磁盘用于OCR和voting disk即可,如果部署mgmtdb

mgmtdb独立磁盘的情况下,normal冗余需要53G+存储,external冗余需要27G+存储

mgmtdb与ocr及vote disk在同一磁盘组的情况下,normal的磁盘需要56G+存储

 

yum install -y device-mapper device-mapper-multipath

mpathconf --enable

systemctl enable multipathd

systemctl start multipathd

vi /etc/multipathd.conf

==============================================================================

multipaths {

        multipath {

        wwid 360002ac000000000000000d400020b1b

        alias ocr4

        }

        multipath {

        wwid 360002ac000000000000000d500020b1b

        alias ocr5

        }

        multipath {

        wwid 360002ac000000000000000d600020b1b

        alias ocr2

        }

        multipath {

        wwid 360002ac000000000000000d700020b1b

        alias ocr1

        }

        multipath {

        wwid 360002ac000000000000000d800020b1b

        alias ocr3

        }        

        multipath {

        wwid 360002ac000000000000000de00020b1b

        alias arch_data1

        }

        multipath {

        wwid 360002ac000000000000000e000020b1b

        alias data3

        }

        multipath {

        wwid 360002ac000000000000000e100020b1b

        alias data1

        }

        multipath {

        wwid 360002ac000000000000000e200020b1b

        alias data4

        }

        multipath {

        wwid 360002ac000000000000000e300020b1b

        alias arch_data2

        }

        multipath {

        wwid 360002ac000000000000000e400020b1b

        alias arch_data3

        }

        multipath {

        wwid 360002ac000000000000000e500020b1b

        alias data2

        }

}

配置磁盘权限:

vi 12-dm-permissions.rules 

ENV{DM_NAME}=="ocr1", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"

ENV{DM_NAME}=="ocr2", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"

ENV{DM_NAME}=="ocr3", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"

ENV{DM_NAME}=="data1", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"

ENV{DM_NAME}=="data2", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"

ENV{DM_NAME}=="data3", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"

ENV{DM_NAME}=="data4", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"

ENV{DM_NAME}=="arch_data1", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"

ENV{DM_NAME}=="arch_data2", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"

ENV{DM_NAME}=="arch_data3", OWNER:="grid", GROUP:="asmadmin", MODE:="660", SYMLINK+="iscsi/oraasm-$env{DM_NAME}"

 

systemctl restart multipathd

multipath -ll

ls -l /dev/mapper/mpath*

 

2.udev绑定的方式

适用于虚拟机环境,例如虚拟机已经对块设备做了绑定了,我们只需要对盘进行绑定即可.(我们这里由于是华为虚拟机,所以采用此种方式)

首先确定你的共享盘,然后盘必须先进行分区

例如sdb:

fdisk /dev/sdb

n->p->一路回车->最后w保存

下面是配置udev进行asm磁盘绑定:

1)例如共享磁盘为sdc,sdd,sde,sdf ,首先获取到wwid

for i in c d e f

do

/usr/lib/udev/scsi_id -g -u -d /dev/sd$i

done

2)然后进行编辑udev文件,红色的RESULT即上面得到的盘wwid,注意用户权限.

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36888603000000d78fa16036047711172", SYMLINK+="asmocr1", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36888603000000d79fa16036047711172", SYMLINK+="asmocr2", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36888603000000d77fa16036047711172", SYMLINK+="asmocr3", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="36888603000000d7afa16036047711172", SYMLINK+="asmdata1" OWNER="grid", GROUP="asmadmin", MODE="0660

可以直接用下面脚本:

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

 

for i in c d e f
do
wwid=`/usr/lib/udev/scsi_id -g -u -d /dev/sd$i`
echo KERNEL==\"sd?1\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d /dev/\$parent\", RESULT==\"$wwid\", SYMLINK+=\"asmdisk-$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"
done

3)重新加载udev

/sbin/partprobe         ##扫盘

udevadm control --reload-rules

udevadm trigger

4)查看asm磁盘.其中这个/dev/asm*的用户和组是root/root,但是/devsd*的所属组为grid:asmadmin即可.

ls -l /dev/asm*

 

==========================================================================

 

 

8.安装grid

12.2之后,解压安装包完成后的目录,即GRID_HOME,所以需要将grid软件解压缩到GRID_HOME中:

unzip  LINUX.X64_193000_grid_home.zip -d  /u01/app/19.3.0.0/grid/

./gridSetup.sh

 

 

9.安装oracle软件

同上,需要将oracle软件解压缩到ORACLE_HOME

 unzip  LINUX.X64_193000_db_home.zip  -d  /u01/app/oracle/product/19.3.0.0/db_1/

10.创建ASM磁盘组

使用asmca创建asm磁盘组:

11.创建数据库

使用dbca创建数据库:下面这里,我们可以选择Custom Database

下面这里,选择是否使用CDB,注意,一旦不选择使用CDB,那么后期如果想转成CDB就比较麻烦

下面这里,建议不选择CVU和EM.我这里测试就随便了

 

遇到的问题:

1.在集群安装完成之后,发现节点2的ASM实例挂掉了.尝试手工nomount,直接卡死,进程无法启动.生成system dump文件

尝试将节点1集群关闭,发现节点2asm就可以启动,

说明同时只能一个节点ASM启动.经过和华为艰难沟通,最终确定是华为虚拟机硬盘配置问题,关闭源目的地址监测后ASM恢复正常.

2.12c的alert日志文件换到了$ORACLE_BASE/diag下面,其中集群的日志crs下面,asm的日志asm下面.

 

 

 

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值