所有的环境配置需要在所有的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下面.