当前位置:   article > 正文

oracle 19c rac搭建详细攻略_oracle19c数据库实例

oracle19c数据库实例

第一部分 说明

1.1 系统需求

  • Oracle Linux 8.1 with the Unbreakable Enterprise Kernel 6: 5.4.17-2011.0.7.el8uek.x86_64 or later
    Oracle Linux 8 with the Red Hat Compatible kernel: 4.18.0-80.el8.x86_64 or later
  • Oracle Linux 7.4 with the Unbreakable Enterprise Kernel 4: 4.1.12-124.19.2.el7uek.x86_64 or later
    Oracle Linux 7.4 with the Unbreakable Enterprise Kernel 5: 4.14.35-1818.1.6.el7uek.x86_64 or later
    Oracle Linux 7.5 with the Red Hat Compatible kernel: 3.10.0-862.11.6.el7.x86_64 or later
  • Red Hat Enterprise Linux 8: 4.18.0-80.el8.x86_64 or later
  • Red Hat Enterprise Linux 7.5: 3.10.0-862.11.6.el7.x86_64 or later
  • SUSE Linux Enterprise Server 12 SP3: 4.4.162-94.72-default or later

SUSE Linux Enterprise Server 15: 4.12.14-23-default or later

1.2 硬件环境需求

服务器品牌和架构

确认支持服务器品牌,型号,核心体系结构和主机总线适配器(HBA)以便与Oracle Grid InfrastructureOracle RAC一起运行。

服务器显示卡

Oracle Universal Installer的显示分辨率至少为1024 x 768。确认显示监视器。

最小RAM

用于Oracle Grid Infrastructure安装的至少8 GB RAM

分配给临时文件系统的磁盘空间

临时磁盘空间(/tmp)目录中至少有1 GB的空间。

相对于RAM的交换空间分配

4 GB16 GB之间:等于RAM
大于16 GB16 GB
注意:如果为Linux服务器启用了HugePages,则在计算交换空间之前,应从可用的RAM中扣除分配给HugePages的内存。

对于一套RAC的实施,我们需要确保基本的硬件环境已经达到要求,具体如下:

  1. 主机操作系统安装,版本在RHEL 7.5以上(本文档针对的版本)
  2. 存储已经挂载,并且所有的存储LUN已经两两映射到对应的两台主机
  3. LUN要求:需要2G LUN 3块(ocr用) 500G LUN若干(具体视数据库空间而定),1块MGMT盘可选(建议不使用mgmt) 并且互相映射
  4. 网线已经正常接驳,心跳建议采用交换机模式连接
  5. 本地盘,至少100G,使用逻辑卷管理

1.3 介质需求

Oracle:19.3.0.0.0

LINUX.X64_193000_db_home.zip

LINUX.X64_193000_grid_home.zip

最新版本的opatch和PSU

pxxxxxxxxx_190000_Linux-x86-64.zip

p6880880_190000_Linux-x86-64.zip

额外需要的操作系统包

compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

第二部分 操作系统基础配置(以下操作双节点进行)

2.1 检查服务器硬件和内存配置

使用以下命令确定服务器上的物理RAM大小至少8G以上

# grep MemTotal /proc/meminfo

确定配置的交换空间的大小

# grep SwapTotal /proc/meminfo

确定tmp目录空间足够1G

# df -h /tmp

注意(如果/tmp空间不足,则清理/tmp目录以满足磁盘空间要求。

或设置Oracle用户环境时,还要设置TMP和TMPDIR环境变量到要使用的目录中,而不是/tmp)

确定系统版本能够支持19c数据库

# uname -a

2.2关闭NetworkManager

NetworkManager管理主机网络配置信息,该服务如果出现down的话会影响系统网络运行,建议关闭:

关闭运行中的服务

# systemctl stop NetworkManager

关闭操作系统自启动

# systemctl disable NetworkManager

# systemctl status NetworkManager

2.3 关闭防火墙

关闭运行中的服务

#systemctl stop firewalld

关闭操作系统自启动

#systemctl disable firewalld

检查关闭情况

systemctl status firewalld

如下,dead表示未开启开机启动;inactive表示现在的状态是关闭

关闭selinux:

编辑/etc/selinux/config 文件

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

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#       enforcing - SELinux security policy is enforced.

#       permissive - SELinux prints warnings instead of enforcing.

#       disabled - SELinux is fully disabled.

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

#       targeted - Only targeted network daemons are protected.

#       strict - Full SELinux protection.

SELINUXTYPE=targeted

2.4 关闭Chrony服务

关闭运行中的服务

#systemctl stop chronyd.service

关闭操作系统自启动

#systemctl disable chronyd.service

检查关闭情况

#systemctl status chronyd.service

如下,dead表示未开启开机启动;inactive表示现在的状态是关闭

2.5 关闭NUMA:

根据MOS Doc ID: 1962100.1 的描述,需要关闭NUMA

It is observed there are hang issues in RHEL 7 with many CPU cores and more RAM, due NUMA was enabled. As a work around it is recommended to turn off NUMA.

#查看default 的grub 的entry

[root@dusadbs01 ~]# grubby --default-kernel

/boot/vmlinuz-3.10.0-862.el7.x86_64

#查看default grub的具体信息

[root@dusadbs01 ~]# grubby --info /boot/vmlinuz-3.10.0-862.el7.x86_64

index=0

kernel=/boot/vmlinuz-3.10.0-862.el7.x86_64

args="ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 "

root=/dev/mapper/centos-root

initrd=/boot/initramfs-3.10.0-862.el7.x86_64.img

title=CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)

#更新args , 添加numa=off的参数

[root@dusadbs01 ~]# grubby --args=numa=off --update-kernel /boot/vmlinuz-3.10.0-862.el7.x86_64

# 确认numa=off加入default grub中

[root@dusadbs01 ~]# grubby --info /boot/vmlinuz-3.10.0-862.el7.x86_64

index=0

kernel=/boot/vmlinuz-3.10.0-862.el7.x86_64

args="ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off"

root=/dev/mapper/centos-root

initrd=/boot/initramfs-3.10.0-862.el7.x86_64.img

title=CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)

#重启服务器

reboot

确认numa已经被禁用了

[root@utsdbs02 etc]#  grubby --info /boot/vmlinuz-3.10.0-862.el7.x86_64

index=0

kernel=/boot/vmlinuz-3.10.0-862.el7.x86_64

args="ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off"

root=/dev/mapper/centos-root

initrd=/boot/initramfs-3.10.0-862.el7.x86_64.img

title=CentOS Linux (3.10.0-862.el7.x86_64) 7 (Core)

[root@utsdbs02 etc]# grep -i numa /var/log/dmesg

[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-862.el7.x86_64 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off

[    0.000000] NUMA turned off

[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-862.el7.x86_64 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet LANG=en_US.UTF-8 numa=off

2.6  RPM包安装

安装数据库依赖包

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

安装自己上传的依赖

rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

rpm预安装需求包

yum install -y libaio-devel-0.3.109-13.el7.x86_64.rpm

yum install -y ksh-20120801-139.el7.x86_64.rpm

2.7 安装用户创建

双节点创建grid用户及oracle用户:

/usr/sbin/groupadd oinstall

/usr/sbin/groupadd dba

/usr/sbin/useradd -g oinstall -G oinstall,dba oracle

/usr/sbin/useradd -g oinstall -G dba grid

修改用户密码(根据客户需求修改指定密码):

passwd grid    ----修改grid用户密码

passwd oracle   ----修改oracle用户密码

2.8 关闭透明大页

在/etc/rc.local中加入如下两行--先备份,修改后重启系统

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then

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

fi

if test -f /sys/kernel/mm/transparent_hugepage/defrag; then

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

fi

重启系统

reboot

2.9 内核参数设置

vi /etc/sysctl.conf

kernel.shmall = 1073741824      physical RAM size / pagesize

kernel.shmmax = 4398046511104   1/2 of physical RAM

fs.file-max = 6815744

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.aio-max-nr = 1048576

net.ipv4.conf.all.rp_filter = 2

net.ipv4.conf.default.rp_filter = 2

net.ipv4.ip_local_port_range = 9000 65500

kernel.panic_on_oops = 1

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

执行sysctl -p 命令使以上设置生效

一般设置按照如上规则设置,如果文件中已经设置的值比计算结果大,以文件中本身的值为准

编辑/etc/pam.d/login 添加如下内容:

vi /etc/pam.d/login

session    required     pam_limits.so

编辑vi /etc/profile添加如下内容:   #系统环境变量

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

编辑/etc/security/limits.conf 添加如下内容:

vi /etc/security/limits.conf

grid   soft nproc   2047

grid   hard nproc   16384

grid   soft nofile  1024

grid   hard nofile  65536

grid   soft stack   10240

oracle soft stack   10240

oracle soft nproc   2047

oracle hard nproc   16384

oracle soft nofile  1024

oracle hard nofile  65536

oracle hard memlock 3145728

oracle soft memlock 3145728

2.10 环境变量设置

vi ~/.bash_profile        #当前用户环境变量

在两个节点创建相应的目录(记得赋予权限,哪个用户的路径就用哪个用户创建)

一节点:

grid 用户:

export ORACLE_BASE=/oracle/gridbase

export ORACLE_HOME=/oracle/grid/crs_1

export ORACLE_SID=+ASM1

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

oracle用户:

export ORACLE_BASE=/oracle/app

export ORACLE_HOME=/oracle/app/product/19.3.0/db_1

export ORACLE_SID=orcl1

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

二节点:

grid 用户:

export ORACLE_BASE=/oracle/gridbase

export ORACLE_HOME=/oracle/grid/crs_1

export ORACLE_SID=+ASM2

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

oracle用户:

export ORACLE_BASE=/oracle/app

export ORACLE_HOME=/oracle/app/product/19.3.0/db_1

export ORACLE_SID=orcl2

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

2.11 /etc/hosts写入

Root用户

vi /etc/hosts

#公网

192.168.126.211          rac1

192.168.126.212          rac2

#虚拟IP

192.168.126.213          rac1-vip

192.168.126.214          rac2-vip

#私有网络

10.10.10.211             rac1-priv

10.10.10.212             rac2-priv

#scanIP

192.168.126.215          rac-scan

2.12 基本检查

1.检查双节点时区 时间是否一致:

date -R

第三部分 多路径软件安装

共享盘步骤略

第四部分 介质安装前准备

上传介质

LINUX.X64_193000_grid_home.zip

LINUX.X64_193000_db_home.zip

将gi介质设置好属组,设好权限

chown grid:oinstall LINUX.X64_193000_grid_home.zip

chmod 775 LINUX.X64_193000_grid_home.zip

将db介质设置好属组,设好权限

chown oracle:oinstall LINUX.X64_193000_db_home.zip

chmod 775 LINUX.X64_193000_db_home.zip

用grid用户解压介质

unzip LINUX.X64_193000_grid_home.zip -d $ORACLE_HOME

用oracle用户解压介质

unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

第五部分 19c安装GI

安装之前,重启两台数据库主机

要保证两个节点都开着,在一节点上做即可

开始安装集群:

打开Xmanager-passive

在解压gi介质的路径下运行gridSetup.sh:

./gridSetup.sh

安装截图如下:

选择为新集群配置gi

配置独立集群

将scan name更换为/etc/hosts中的一样的名字,下一步

Add添加2节点hostname以及vip name

选SSH connectivity… 输入grid用户密码,选test-setup-下一步(test以下报错可忽略)

将私网 Use for设为ASM &Private(若和11g一样选private后续会报错)

若选择private

下一步时会报错

选择好网络后,选择oracle flex asm存储

这个GIMR在12c和18c中是固定选项,在19c中回归可以自己选择是和11g一样还是选择GIMR(默认为不选择GIMR) ,如果选yes,下一步,是否要单独磁盘放gimr,选yes

创建ocr盘

创建mgmt盘

回到前面选择是否要mgmt,如果选NO,为以下状态

选择好OCR盘,disk group name为ocr盘的名,redundancy的选择按照ocr盘是否做冗余来区分,盘数5,3,1对应redundancy的High,Normal,External。change discovery用来选择磁盘的位置,flex模式可以自己选择数据文件的冗余模式

下图为选择好的ocr盘选项设置

设置asm密码,一下报错可yes跳过

选择不使用IPMI

下一步

下一步

yes,下一步

查看是否为环境变量中设置好的gi的oracle base路径,下一步

下一步

下一步

正在检测

检测出的错误,可以修复

2个脚本分别在1和2节点上用root用户跑,先跑完1节点的2个脚本再跑2节点,不要换顺序,不要在跑的过程中跑下一个脚本,不要心急

如果root运行脚本失败,执行以下代码清除root.sh脚本执行信息(与11g有区别从12.1.0.2开始rootcrs.sh改为rootcrs.pl)

Step 1: As root, run "$GRID_HOME/crs/install/rootcrs.sh -verbose -deconfig -force"

以上$GRID_HOME即为grid用户的$ORACLE_HOME

crsctl status res -t 查看集群状态

第六部分 19C安装DB

要一直保证两个节点都开着,在一节点上做就可以

开始安装RDBMS软件

oracle用户执行安装:

打开Xmanager-passice

在解压db介质的路径下运行runInstaller

./runInstaller

安装截图如下:

set up software only,选择下一步

oracle real application clusters database installation,选择下一步

select all,点击SSH connectivity,输入oracle的密码,test-setup-next

选择enterprise edition,点击下一步

查看oracle的base路径是否正确,下一步

下一步

下一步

预检查

在节点2端用root用户跑以下命令,记住一边跑完再跑另一边,2边跑完后点击ok

完成db安装

oracle用户下sqlplus -v 查看db版本确认db安装完成

第七部分 19c安装补丁

打补丁

第八部分 19C创建数据磁盘组

单个节点上执行就可。

grid用户执行:

打开Xmanager-passive

grid用户运行asmca

asmca

添加asm盘组名,选择好redundancy,选择好要加入组的磁盘,Hide advanced options

兼容性写上19.0.0.0   点ok     

mount all,exit

第九部分 19c创建实例

Oracle用户执行dbca命令:

dbca

创建一个数据库

advanced configuration,next

选择好database类别、模板,下一步,默认按照图上选择

select all,next

输入oracle的sid,选择是否需求CDB,PDB,PDB的名字,个数

选择数据文件存放位置,是否使用OMF

下一步

下一步

选择好sga、pga大小

选择好最大进程连接数

选择好字符集,next

按照需求是否勾选EM,本文档不勾选,cvu跑出来的日志在grid用户下$ORACLE_BASE/crsdata/hostname/cvu/cvulog下

输入密码

创建数据库

finish

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/689684
推荐阅读
相关标签
  

闽ICP备14008679号