Oracle 19c RAC deploy with RedHat 7.4 and openfiler


RedHat 7.4下Oracle 19c RAC部署

一、主机环境
虚拟主机环境

RAC主机名:rac1、rac2
CPU:Intel® Xeon® CPU E5-2420 v2 @ 1.90GHz 24core
内存:32G
操作环境: RHEL 7.4 + Oracle 19c + UDEV
HDD:500G
存储:Openfiler

1.1 Oracle 软硬件要求

官方要求操作系统要在RHEL 7.4及以上
https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/supported-red-hat-enterprise-linux-7-distributions-for-x86-64.html#GUID-2E11B561-6587-4789-A583-2E33D705E498
禁用透明大页
rac需要的最少rpm包
https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/supported-red-hat-enterprise-linux-7-distributions-for-x86-64.html#GUID-2E11B561-6587-4789-A583-2E33D705E498
asm磁盘大小规划最小要求
EXTERNAL最少要30G
NORMAL冗余最少要60G
https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/oracle-clusterware-storage-space-requirements.html#GUID-97FD5D40-A65B-4575-AD12-06C491AF3F41

1.2 ASM磁盘组规划

 
1.3 主机网络规划


                                          
   
rac1节点IP配置:RAC2也按上面的规划配置
注意:两张网卡需要在不同的网络,如果同一个网段,需要在不同的子网内

[root@rac1 network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.1.211  netmask 255.255.255.0  broadcast 172.16.1.255
        inet6 fe80::3622:7d27:1ac3:700f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:d8:31:65  txqueuelen 1000  (Ethernet)
        RX packets 8023  bytes 5337624 (5.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16245  bytes 26851157 (25.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens38: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.16.2.211  netmask 255.255.255.0  broadcast 172.16.2.255
        inet6 fe80::e028:48f3:2710:325e  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:d8:31:6f  txqueuelen 1000  (Ethernet)
        RX packets 5  bytes 483 (483.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26  bytes 1908 (1.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


1.4 操作系统配置部分
两个节点主机名设置:

hostnamectl set-hostname rac1
hostnamectl set-hostname rac2

1、关闭防火墙
在两个节点关闭防火墙
[root@rac1 ~]# systemctl stop firewalld
[root@rac1 ~]# systemctl disabled firewalld
[root@rac1 ~]# systemctl mask firewalld


2、关闭selinux
在两个节点关闭selinux
[root@rac1 ~]# vi /etc/selinux/config
SELINUX=disabled
[root@rac1 ~]#setenforce 0


3、hosts文件配置
在两个节点修改hosts文件
[root@rac1 ~]# vi /etc/hosts
172.16.1.211    rac1
172.16.1.212    rac2
172.16.1.213    rac1-vip
172.16.1.214    rac2-vip
172.16.2.211    rac1-prv
172.16.2.212    rac2-prv
172.16.1.215    rac-scan

4、依赖包配置
挂载系统RPM库:
进程图型界面,挂载系统盘:
[root@rac1 ~]# df -Th
文件系统              类型      容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root xfs        98G  3.5G   95G    4% /
devtmpfs              devtmpfs  6.8G     0  6.8G    0% /dev
tmpfs                 tmpfs     6.9G     0  6.9G    0% /dev/shm
tmpfs                 tmpfs     6.9G  8.9M  6.8G    1% /run
tmpfs                 tmpfs     6.9G     0  6.9G    0% /sys/fs/cgroup
/dev/sda1             xfs      1014M  161M  854M   16% /boot
tmpfs                 tmpfs     1.4G   28K  1.4G    1% /run/user/0
/dev/sr0              iso9660   3.8G  3.8G     0  100% /run/media/root/RHEL-7.4 Server.x86_64
[root@rac1 ~]# mount /dev/cdrom /mnt
[root@rac1 mnt]# cat /etc/yum.repos.d/rhel.repo
[rhel]
baseurl=file:///mnt/
enabled=1
gpgcheck=0
[root@rac1 mnt]# yum makecache
在两个节点安装rac需要的依赖包

[root@rac1 ~]#
yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686  libaio-devel  libaio-devel.i686 libXext libXext.i686 libXtst libXtst.i686 libX11 libX11.i686 libXau libXau.i686 libxcb libxcb.i686 libXi libXi.i686 make sysstat unixODBC unixODBC-devel readline libtermcap-devel bc compat-libstdc++ elfutils-libelf elfutils-libelf-devel fontconfig-devel libXi libXtst libXrender libXrender-devel libgcc librdmacm-devel libstdc++ libstdc++-devel net-tools nfs-utils python python-configshell python-rtslib python-six targetcli smartmontools ksh libaio-devel  kmod-oracleasm-2.0.8-19.el7.x86_64

rhel7还需单独安装一个独立包rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
wget ftp://bo.mirror.garr.it/2/scientific/7.0/x86_64/os/Packages/compat-libstdc++-33-3.2.3-71.el7.x86_64.rpm

还要安装以下软件包:
 kmod-20-21.el7.x86_64.rpm kmod-libs-20-21.el7.x86_64.rpm
[root@rac1 ~]# wget ftp://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/7.4/x86_64/updates/security/kmod-20-21.el7.x86_64.rpm
[root@rac1 ~]# wget ftp://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/7.3/x86_64/updates/security/kmod-libs-20-21.el7.x86_64.rpm
[root@rac1 ~]# rpm -Uvh kmod-20-21.el7.x86_64.rpm kmod-libs-20-21.el7.x86_64.rpm

5、关闭时间同步ntpd服务
检查两节点时间,时区是否相同,并禁止ntp,如果没有安装NTP服务,这步可以忽略
[root@rac1 ~]#systemctl disable ntpd.service
[root@rac1 ~]#systemctl stop ntpd.service
[root@rac1 ~]#mv /etc/ntp.conf /etc/ntp.conf.orig
[root@rac1 ~]#systemctl status ntpd

时区设置
# timedatectl list-timezones |grep Shanghai    #查找中国时区的完整名称
Asia/Shanghai
# timedatectl set-timezone Asia/Shanghai

6、创建用户及用户组
在两个节点创建oracle,grid用户组
[root@rac1 ~]
groupadd -g 64321 oinstall 
groupadd -g 64322 dba 
groupadd -g 64323 oper 
groupadd -g 64324 backupdba 
groupadd -g 64325 dgdba 
groupadd -g 64326 kmdba 
groupadd -g 64327 asmdba 
groupadd -g 64328 asmoper 
groupadd -g 64329 asmadmin 
groupadd -g 64330 racdba 
useradd -u 64321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle 
useradd -u 64322 -g oinstall -G asmadmin,asmdba,asmoper,dba,oper grid

设置grid、oracle密码
[root@rac1 ~]
echo "oracle" | passwd --stdin oracle
echo "oracle" | passwd --stdin grid


7、创建文件目录
在两个节点创建grid、oracle文件目录
注意:这个目录不能随意创建,需要按以下目录名称创建,尤其是19.0.0这个版本号,在后面的dbca中,程序已将这个目录名称写死了。


[root@rac1 ~]
mkdir -p /u01/app/19.0.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/

8、修改20-nproc.conf
在两个节点修改/etc/security/limits.d/20-nproc.conf

[root@rac1 ~]vi /etc/security/limits.d/20-nproc.conf
# Change this
#注释这行*          soft    nproc   1024
# To this增加下面一行
*         -         nproc         16384

9、修改limits.conf
在两个节点修改/etc/security/limits.conf

[root@rac1 ~]vi /etc/security/limits.conf
grid  soft nproc 16384
grid  hard nproc 16384
grid  soft nofile 1024
grid  hard nofile 65536
grid  soft stack 10240
grid  hard stack 32768
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack  10240
oracle hard stack  32768
oracle hard memlock 3145728
oracle soft memlock 3145728


10、修改login
在两个节点修改/etc/pam.d/login文件

[root@rac1 ~]vi /etc/pam.d/login
session    required     pam_limits.so

11、修改sysctl.conf
在两个节点修改/etc/sysctl.conf
[root@rac1 ~]vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 15461882265
kernel.shmall = 3774873
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

12、停止avahi-daemon服务
两个节点分别操作
[root@rac1 ~]# systemctl disable avahi-daemon.socket
[root@rac1 ~]# systemctl disable avahi-daemon.service
ps -ef|grep avahi-daemon
kill -9 pid avahi-daemon


13、添加NOZEROCONF=yes参数
两个节点分别操作
[root@rac1 rpm]# vi /etc/sysconfig/network
NOZEROCONF=yes

14、修改grid用户环境变量
节点1 grid
[root@rac1 ~]# su - grid
[grid@rac1:/home/grid]$vi ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
umask 022
export TMP=/tmp
export TMPDIR=$TMP
ORACLE_SID=+ASM1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/19.0.0/grid; export ORACLE_HOME
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin; export PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
THREADS_FLAG=native; export THREADS_FLAG
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
            ulimit -p 16384
              ulimit -n 65536
  else
   ulimit -u 16384 -n 65536
      fi
    umask 022
fi


节点2 grid
[root@rac2 ~]# su - grid
[grid@rac2:/home/grid]$vi ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
umask 022
export TMP=/tmp
export TMPDIR=$TMP
ORACLE_SID=+ASM2; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/19.0.0/grid; export ORACLE_HOME
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin; export PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
THREADS_FLAG=native; export THREADS_FLAG
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
            ulimit -p 16384
              ulimit -n 65536
  else
   ulimit -u 16384 -n 65536
     fi
    umask 022
fi

15、修改oracle用户环境变量
节点1 oracle
[root@rac1 ~]# su - oracle
[oracle@rac1:/home/oracle]$vi ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
export TMP=/tmp
export TMPDIR=$TMP
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG
PATH=$PATH:$HOME/bin:$ORACLE_BASE/product/19.0.0/dbhome_1/bin:$ORACLE_HOME/bin; export PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
THREADS_FLAG=native; export THREADS_FLAG
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
            ulimit -p 16384
              ulimit -n 65536
  else
   ulimit -u 16384 -n 65536
      fi
    umask 022
fi

节点2 oracle
[root@rac2 ~]# su - oracle
[oracle@rac2:/home/oracle]$vi ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
export TMP=/tmp
export TMPDIR=$TMP
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl2; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG
PATH=$PATH:$HOME/bin:$ORACLE_BASE/product/19.0.0/dbhome_1/bin:$ORACLE_HOME/bin; export PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
THREADS_FLAG=native; export THREADS_FLAG
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
            ulimit -p 16384
              ulimit -n 65536
  else
   ulimit -u 16384 -n 65536
      fi
    umask 022
fi


16、修改root环境变量
加入grid用户$ORACLE_HOME
[root@rac1 /root/]# vi ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:/u01/app/19.0.0/grid/bin:$HOME/bin
export PATH
17、禁用透明大页
oracle官方建议关闭透明大页,两个节点都需要配置
1 修改grub文件
cp /etc/default/grub /etc/default/grub.bak
vi /etc/default/grub
2 增加一行transparent_hugepage=never到尾部
GRUB_CMDLINE_LINUX=
"rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never
3 执行命令
grub2-mkconfig -o /boot/grub2/grub.cfg
4 不重启生效
[root@rac1 ~]#echo never > /sys/kernel/mm/transparent_hugepage/enabled 
5 查看是否禁用透明大页
[root@rac1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@rac1 ~]# grep AnonHugePages /proc/meminfo
AnonHugePages:         0 kB---------->>>返回值若是零,代表成功禁用THP,(需要重启服务器才能生效,如果没有重启,这里还有数值)


节点间配置SSH互信:
为oracle用户配置SSH:
生成用户的公匙和私匙,在每个节点上:
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]# mkdir ~/.ssh
[oracle@rac1 ~]#cd ~/.ssh
[oracle@rac1 ~]# ssh-keygen -t rsa
[oracle@rac1 ~]# ssh-keygen -t dsa
[root@rac2 ~]# su - oracle
[oracle@rac2 ~]# mkdir ~/.ssh
[oracle@rac2 ~]#cd ~/.ssh
[oracle@rac2 ~]# ssh-keygen -t rsa
[oracle@rac2 ~]# ssh-keygen -t dsa
在节点1 上,把所有节点的authorized_keys文件合成一个,再用这个文件覆盖各个节点.ssh 下的同名文件:
[oracle@rac1 ~]# touch authorized_keys
[oracle@rac1 ~]# ssh rac1 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys
[oracle@rac1 ~]# ssh rac2 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys
[oracle@rac1 ~]# ssh rac1 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys
[oracle@rac1 ~]# ssh rac2 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys
[oracle@rac1 ~]# scp authorized_keys rac2:/home/oracle/.ssh/
分别在每个节点上执行检验操作:
[oracle@rac1 ~]# ssh rac1 date
[oracle@rac1 ~]# ssh rac2 date
[oracle@rac1 ~]# ssh-agent $SHELL
[oracle@rac1 ~]# ssh-add
为grid 用户配置SSH:
在每个节点上:
[root@rac1 ~]# su �C grid
[grid@rac1 ~]# mkdir ~/.ssh
[grid@rac1 ~]#cd .ssh
[grid@rac1 ~]# ssh-keygen -t rsa
[grid@rac1 ~]# ssh-keygen -t dsa
[root@rac2 ~]# su �C grid
[grid@rac2 ~]# mkdir ~/.ssh
[grid@rac2 ~]#cd .ssh
[grid@rac2 ~]# ssh-keygen -t rsa
[grid@rac2 ~]# ssh-keygen -t dsa

在节点1 上
[grid@rac1 ~]# touch authorized_keys
[grid@rac1 ~]# ssh rac1 cat /home/grid/.ssh/id_rsa.pub >> authorized_keys
[grid@rac1 ~]# ssh rac2 cat /home/grid/.ssh/id_rsa.pub >> authorized_keys
[grid@rac1 ~]# ssh rac1 cat /home/grid/.ssh/id_dsa.pub >> authorized_keys
[grid@rac1 ~]# ssh rac2 cat /home/grid/.ssh/id_dsa.pub >> authorized_keys
[grid@rac1 ~]# scp authorized_keys rac2:/home/grid/.ssh/

分别在每个节点上:
[grid@rac1 ~]# ssh rac1 date
[grid@rac1 ~]# ssh rac2 date
[grid@rac1 ~]# ssh-agent $SHELL
[grid@rac1 ~]# ssh-add

通过openfiler创建磁盘卷[略]

请参考:https://blog.51cto.com/zhaodongwei/1749759


rac1,rac2节点挂载ISCSI磁盘卷:
以下是rac1节点配置,rac2节点配置一样
配置ISCSI,挂载到本地做为磁盘使用(两台服务器都需要执行):
[root@rac1 ~]# cd /mnt/Server/
[root@rac1 ~]# yum install iscsi-initiator-utils
[root@rac1 ~]# service iscsid start
[root@rac1 ~]# chkconfig iscsid on
[root@rac1 ~]# chkconfig iscsi on

[root@rac1 yum.repos.d]# iscsiadm -m discovery -t sendtargets -p 172.16.1.210
172.16.1.210:3260,1 iqn.2006-01.com.openfiler:tsn.4715ede47217.DG_OCR
172.16.1.210:3260,1 iqn.2006-01.com.openfiler:tsn.8b0295f08d99.DG_MGMT
172.16.1.210:3260,1 iqn.2006-01.com.openfiler:tsn.cd3236d92c30.data

挂载到本地做为磁盘使用
iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.fe13d33a6948.data -p 172.16.1.210 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.2c3001230e8f.mgmt -p 172.16.1.210 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.0ab80726376c.voting -p 172.16.1.210 --op update -n node.startup -v automatic
iscsiadm -m node -T iqn.2006-01.com.openfiler:tsn.6a14688a166a.ocr -p 172.16.1.210 --op update -n node.startup -v automatic

====
卸载磁盘:
iscsiadm -m node -U all
iscsiadm -m node  -o delete -T  iqn.2006-01.com.openfiler:tsn.8a10aa9821b7.fra
iscsiadm -m node  -o delete -T  iqn.2006-01.com.openfiler:tsn.1ccee8d6d76a.ocr
iscsiadm -m node  -o delete -T  iqn.2006-01.com.openfiler:tsn.92bfa9183352.data
====

[root@rac1 ~]# service iscsi restart
Stopping iscsi: [ OK ]
[root@rac1 ~]# service iscsi start
Starting iscsi: [ OK ]

查看当前会话连接的ISCSI Target:
[root@rac1 ~]# iscsiadm -m node session
172.16.1.210:3260,1 iqn.2006-01.com.openfiler:tsn.8a10aa9821b7.fra
172.16.1.210:3260,1 iqn.2006-01.com.openfiler:tsn.1ccee8d6d76a.ocr
172.16.1.210:3260,1 iqn.2006-01.com.openfiler:tsn.92bfa9183352.data
172.16.1.210:3260,1 iqn.2006-01.com.openfiler:tsn.a6965e0fce9c

绑定UDEV共享磁盘
for i in b c d e 
do
echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\""  >>/etc/udev/rules.d/99-oracle-asmdevices.rules
done

/sbin/partprobe /dev/sdb
/sbin/partprobe /dev/sdc
/sbin/partprobe /dev/sdd
/sbin/partprobe /dev/sde

查看磁盘详情:
/sbin/udevadm test /sys/block/sdb
/sbin/udevadm test /sys/block/sdc
/sbin/udevadm test /sys/block/sdd
/sbin/udevadm test /sys/block/sde

[root@rac1 ~]# /sbin/udevadm control --reload-rules

[root@rac1 ~]# ll /dev/asm*
lrwxrwxrwx 1 root root 3 Apr 19 17:15/dev/asm-diskc -> sdc
lrwxrwxrwx 1 root root 3 Apr 19 17:16/dev/asm-diskd -> sdd
lrwxrwxrwx 1 root root 3 Apr 19 17:16/dev/asm-diske -> sde

[root@rac1 ~]# ll /dev/sd*
brw-rw---- 1 root disk     8,  0 1月  19 08:21 /dev/sda
brw-rw---- 1 root disk     8,  1 1月  19 08:21 /dev/sda1
brw-rw---- 1 root disk     8,  2 1月  19 08:21 /dev/sda2
brw-rw---- 1 grid asmadmin 8, 16 1月  19 08:31 /dev/sdb
brw-rw---- 1 grid asmadmin 8, 32 1月  19 08:31 /dev/sdc
brw-rw---- 1 grid asmadmin 8, 48 1月  19 08:31 /dev/sdd 
brw-rw---- 1 grid asmadmin 8, 48 1月  19 08:31 /dev/sde

注意:到这一步,最好重启一下服务器,看一下是否会自动加载磁盘

 
二、Grid集群软件安装
1、上传集群软件包
在节点1上传grid安装包,以下操作都在rac1节点的安装
[root@rac1 grid]# ll
-rwxr-xr-x 1 grid oinstall 5.1G Jan 28 15:58 LINUX.X64_193000_db_home.zip

2、解压grid安装包
在19C中需要把grid包解压放到grid用户下ORACLE_HOME目录内(注意注意注意,这个跟11G不同的地方)
由于从12.2开始,安装包变化了,实际上整个安装包就是整个ORACLE_HOME。所以直接解压到ORACLE_HOME下即可。


解压文件到/u01/app/19.0.0/grid
[grid@rac1 grid]$ cd /u01/app/19.0.0/grid


[grid@rac1 grid]$ unzip LINUX.X64_193000_db_home.zip

3、进入grid集群软件目录执行安装
[grid@rac1 grid]$ cd /u01/app/19.0.0/grid
[grid@rac1 grid]$ ./gridSetup.sh

4、GUI安装步骤
4.1 创建新的集群



4.2 配置集群名称以及scan名称

4.3 节点互信


4.4 公网、私网网段选择

4.5 选择asm存储

4.6 选择配置GIMR

4.7 这里选择ocr、voting file与gimr放在一起

4.8 选择asm磁盘组


4.9 输入密码

4.10 保持默认


4.11 保持默认

4.12保持默认

4.13 确认base目录

4.14保持默认

4.15这里可以选择自动root执行脚本,也可以保护默认

4.16 预安装检查

4.17 解决相关依赖后,忽略如下报错

4.18 安装前摘要

4.19 如下警告可以忽略

如上警告是由于没有使用DNS解析造成可忽略

在两个节点分别运行脚本


4.20 grid安装完毕


三、Oracle DataBase软件安装

解压压缩包到oracle用户的ORACLE_HOME目录,执行安装
[oracle@rac1 dbhome_1]$ pwd
/u01/app/oracle/product/19.0.0/dbhome_1
[oracle@rac1 dbhome_1]$ unzip /root/LINUX.X64_193000_db_home.zip
[oracle@rac1 dbhome_1]$ ./runInstaller

1 software only

2 选择rac

3 ssh互信验证

4 保持默认

5 保持默认

6 保持默认

7 可选择自动执行root脚本

8 预安装前检查

忽略如下警告
9 安装摘要


10 开始安装

11 执行root脚本

12 oracle软件安装部分结束




四、DBCA创建实例

在创建实例前先通过grid的asmca创建磁盘组,随后再用oracle dbca创建实例,在节点rac1上操作
1、通过asmca创建oracle数据文件磁盘组
[grid@rac1 grid]$ asmca

data磁盘组

asm磁盘组创建完毕


2、dbca图形化安装实例

在rac1节点上操作
[oracle@rac1 dbhome_1]$ dbca
常规配置DBCA


















DBCA完成


查看集群状态

[root@rac1 ~]# crsctl stat res -t          
--------------------------------------------------------------------------------
Name           Target  State       Server                   State details      
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS_GIMR.GHCHKPT.advm
               OFFLINE OFFLINE      rac1                     STABLE
               OFFLINE OFFLINE      rac2                     STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE      rac1                     STABLE
               ONLINE  ONLINE      rac2                     STABLE
ora.chad
               ONLINE  ONLINE      rac1                     STABLE
               ONLINE  ONLINE      rac2                     STABLE
ora.crs_gimr.ghchkpt.acfs
               OFFLINE OFFLINE      rac1                     STABLE
               OFFLINE OFFLINE      rac2                     STABLE
ora.helper
               OFFLINE OFFLINE      rac1                     IDLE,STABLE
               OFFLINE OFFLINE      rac2                     IDLE,STABLE
ora.net1.network
               ONLINE  ONLINE      rac1                     STABLE
               ONLINE  ONLINE      rac2                     STABLE
ora.ons
               ONLINE  ONLINE      rac1                     STABLE
             ONLINE  ONLINE      rac2                     STABLE
ora.proxy_advm
               OFFLINE OFFLINE      rac1                     STABLE
               OFFLINE OFFLINE      rac2                     STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE ONLINE       rac1                     STABLE
      2        ONLINE ONLINE       rac2                     STABLE
      3        ONLINE OFFLINE                              STABLE
ora.CRS_GIMR.dg(ora.asmgroup)
      1        ONLINE ONLINE       rac1                     STABLE
      2        ONLINE ONLINE       rac2                     STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE ONLINE       rac1                     STABLE
      2        ONLINE ONLINE       rac2                     STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE ONLINE       rac1                     STABLE
ora.MGMTLSNR
      1        ONLINE ONLINE       rac1                     169.254.11.15 10.10.
                                                           10.211,STABLE

ora.asm(ora.asmgroup)
      1        ONLINE ONLINE       rac1                     Started,STABLE
      2        ONLINE ONLINE       rac2                     Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE ONLINE       rac1                     STABLE
      2        ONLINE ONLINE       rac2                     STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE      rac1                     STABLE
ora.mgmtdb
      1        ONLINE ONLINE       rac1                     Open,STABLE
ora.orcl.db
      1        ONLINE ONLINE       rac1                     Open,HOME=/u01/app/o
                                                      racle/product/19.0.0
                                                            /dbhome_1,STABLE
      2        ONLINE ONLINE       rac2                     Open,HOME=/u01/app/o
                                                             racle/product/19.0.0
                                                            /dbhome_1,STABLE
ora.qosmserver
      1        ONLINE ONLINE       rac1                     STABLE
ora.rac1.vip
      1        ONLINE ONLINE       rac1                     STABLE
ora.rac2.vip
      1        ONLINE ONLINE       rac2                     STABLE
ora.rhpserver

      1        OFFLINE OFFLINE                               STABLE
ora.scan1.vip
      1        ONLINE ONLINE       rac1                     STABLE
--------------------------------------------------------------------------------


查看数据库版本

[oracle@rac1 dbhome_1]$ sqlplus / as sysdba
SQL> col banner_full for a120
SQL> select BANNER_FULL from v$version;
BANNER_FULL
--------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production


 
分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS