Oracle数据库管理-RedHat 7.4下Oracle 19c RAC部署+udev

RedHat 7.4下Oracle 19c RAC部署+udev

一、主机环境以及配置

虚拟主机环境
RAC主机名:rac1、rac2
CPU:Intel® Xeon® CPU E5-2670 v2 @ 2.50GHz 4core
内存:32G
操作环境: RHEL 7.4 + Oracle 19c + UDEV
SSD:INTEL P3700 1.6T NVME
存储: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-2E33D705E49

yum install -y bc
yum install -y binutils
yum install -y compat-libcap1
yum install -y compat-libstdc++-33
yum install -y elfutils-libelf
yum install -y elfutils-libelf-devel
yum install -y fontconfig-devel
yum install -y glibc
yum install -y glibc-devel
yum install -y ksh
yum install -y libaio
yum install -y libaio-devel
yum install -y libX11
yum install -y libXau
yum install -y libXi
yum install -y libXtst
yum install -y libXrender
yum install -y libXrender-devel
yum install -y libgcc
yum install -y libstdc++
yum install -y libstdc++-devel
yum install -y libxcb
yum install -y make
yum install -y smartmontools
yum install -y sysstat

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磁盘组规划

ASM磁盘组用途大小冗余
CRS_GIMRocr、voting file、19c grid管理库30G+30G+30GNORMAL
DATA数据文件20GEXTERNAL

1.3 主机网络规划

网络配置    节点1    节点2
主机名称    rac1    rac2
public ip      192.168.189.211    192.168.189.212
private ip    10.10.10.211           10.10.10.212
vip              192.168.189.213     192.168.189.214
scan ip       192.168.189.215     192.168.189.215

1.4 操作系统配置部分

两个节点主机名设置

hostnamectl set-hostname racnnode1

1、关闭防火墙

在两个节点关闭防火墙

[root@rac1 ~]# systemctl stop firewalld

[root@rac1 ~]# systemctl disabled firewalld

2、关闭selinux


在两个节点关闭selinux

[root@rac1 ~]# vi /etc/selinux/config

SELINUX=disabled

[root@rac1 ~]#setenforce 0

3、hosts文件配置


在两个节点修改hosts文件

[root@rac1 ~]# vi /etc/hosts
#public ip ent0
192.168.189.211    rac1
192.168.189.212    rac2
192.168.189.213    rac1-vip
192.168.189.214    rac2-vip
10.10.10.211       rac1-prv
10.10.10.212       rac2-prv
192.168.189.215    rac-scan

4、依赖包配置

在两个节点安装rac需要的依赖包

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

rhel7还需单独安装一个独立包rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
 

5、关闭时间同步ntpd服务

检查两节点时间,时区是否相同,并禁止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 54321 oinstall  
groupadd -g 54322 dba  
groupadd -g 54323 oper  
groupadd -g 54324 backupdba  
groupadd -g 54325 dgdba  
groupadd -g 54326 kmdba  
groupadd -g 54327 asmdba  
groupadd -g 54328 asmoper  
groupadd -g 54329 asmadmin  
groupadd -g 54330 racdba  
  
useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle  
useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba grid 
 

设置grid、oracle密码

上传setup脚本配置 ssh等价 

7、创建文件目录

在两个节点创建grid、oracle文件目录

[root@rac1 ~]
mkdir -p /u01/app/19.0.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/19.0.0/db_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
#ORACLE SETTING
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

#ORACLE SETTING

session required pam_limits.so

11、修改sysctl.conf

在两个节点修改/etc/sysctl.conf

[root@rac1 ~]vi /etc/sysctl.conf
#ORACLE SETTING
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、修改用户环境变量

[root@rac1 ~]# su - grid

[grid@rac1:/home/grid]$vi ~/.bash_profile

PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
umask 022

export TMP=/tmp
export LANG=en_US
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
 

[root@rac1 ~]# su - oracle
[oracle@rac1:/home/oracle]$vi ~/.bash_profile

PS1="[`whoami`@`hostname`:"'$PWD]$'

export PS1
export TMP=/tmp
export LANG=en_US
export TMPDIR=$TMP
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_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/db_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环境变量

[root@rac1 opt]# 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、禁用透明大页

echo never > /sys/kernel/mm/transparent_hugepage/enabled 
echo never > /sys/kernel/mm/transparent_hugepage/defrag 

chmod u+x etc/rc.d/rc.local

echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local

grep Huge /proc/meminfo

 cat /proc/sys/vm/nr_hugepages

18、禁用numa特性

备份numa文件
cp /etc/default/grub /etc/default/grub2023bak
vi /etc/default/grub

在 GRUB_CMDLINE_LINUX 参数的末尾增加 : numa=off
例如:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=vg_root/root rd.lvm.lv=vg_root/swap rhgb quiet numa=off"


重建grub 配置文件
MBR 分区表
grub2-mkconfig -o /etc/grub2.cfg
efi 引导模式, efi + GPT分区表
grub2-mkconfig -o /etc/grub2-efi.cfg
重启机器,再来检查numa 是否被关闭即可


dmesg|grep -i numa 
重启节点

18、配置ASM磁盘

19  停止netmanager服务

二、Grid集群软件安装部分

1、上传集群软件包

在节点1上传grid安装包

[root@rac1 grid]# ll -rwxr-xr-x 1 grid oinstall 5.1G Jan 28 15:58 LINUX.X64_180000_grid_home.zip

2、解压grid安装包

在19C中需要把grid包解压放到grid用户下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_grid_home.zip

3、进入grid集群软件目录执行安装

grid@rac1 grid]$ ./gridSetup.sh

4、GUI安装步骤

4.1 创建新的集群

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

4.3 节点互信

4.4 公网、私网网段选择

4.5 选择asm存储

4.6 选择配置GIMR

一般不用GIMR

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

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 db_1]$ pwd
/u01/app/oracle/product/19.0.0/db_1
[oracle@rac1 db_1]$ unzip /opt/LINUX.X64_193000_db_home.zip
[oracle@rac1 db_1]$ ./runInstaller

过程忽略,

ASMCA

DBCA 创建数据库以及ASM磁盘组即可。

升级到最新RU

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装Oracle19c数据库需要一定的系统环境,而Red Hat 8是可以满足这些要求的操作系统之一。但是,在安装Oracle数据库之前,建议先升级Red Hat 8的内核版本至5.3以上。 以下是Red Hat 8安装Oracle19c的步骤: 1. 安装必需的包 Oracle要求Red Hat 8上安装一些必要的软件包。可以使用以下命令安装这些包: ``` dnf install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 elfutils-libelf-devel.x86_64 elfutils-libelf-devel-static.x86_64 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libXext.i686 libXext.x86_64 libXtst.i686 libXtst.x86_64 libX11.i686 libX11.x86_64 libXau.i686 libXau.x86_64 libxcb.i686 libxcb.x86_64 libXi.i686 libXi.x86_64 make.x86_64 sysstat.x86_64 ``` 注意:此处的安装包仅为示例,具体的包要根据您的系统环境进行调整。 2. 创建Oracle用户和组 安装Oracle需要创建一个用于运行Oracle的用户和组。可以使用以下命令创建: ``` groupadd -g 1000 oinstall groupadd -g 1200 dba useradd -u 1100 -g oinstall -G dba oracle ``` 3. 设置内核参数 Oracle需要设置一些内核参数,可以使用以下命令将它们添加到/etc/sysctl.conf文件中: ``` fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmax = 4294967296 kernel.shmall = 1073741824 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 = 1048576 ``` 然后使用以下命令重新加载/etc/sysctl.conf文件中的参数: ``` sysctl -p ``` 4. 修改用户环境变量 Oracle安装需要修改用户环境变量,可以在/oracle/.bash_profile中添加以下内容: ``` export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=your_hostname export ORACLE_UNQNAME=cdb1 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1 export ORA_INVENTORY=/u01/app/oraInventory export ORACLE_SID=cdb1 export PATH=/usr/sbin:/usr/local/bin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib ``` 注意:此处的路径仅为示例,具体的路径要根据您的实际情况进行相应调整。 5. 安装Oracle 下载Oracle安装程序并将其解压缩到/u01目录中。然后,以oracle用户身份运行安装程序,按照向导的指示完成安装即可。 安装完成后,需要执行/root/oracle/product/19.0.0/dbhome_1/root.sh以完成最后的配置。 总结 以上是Red Hat 8安装Oracle19c数据库的步骤。要成功安装Oracle,需要正确的安装Oracle所需的包、创建正确的用户和组、设置正确的内核参数、调整正确的用户环境变量并正确的安装Oracle。在安装过程中,如果有任何困难,可以查阅Oracle安装文档或者参考Red Hat 8的相关文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值