赞
踩
SUSE Linux Enterprise Server 15: 4.12.14-23-default or later
服务器品牌和架构 | 确认支持服务器品牌,型号,核心体系结构和主机总线适配器(HBA)以便与Oracle Grid Infrastructure和Oracle RAC一起运行。 |
服务器显示卡 | Oracle Universal Installer的显示分辨率至少为1024 x 768。确认显示监视器。 |
最小RAM | 用于Oracle Grid Infrastructure安装的至少8 GB RAM。 |
分配给临时文件系统的磁盘空间 | 临时磁盘空间( |
相对于RAM的交换空间分配 | 在4 GB到16 GB之间:等于RAM |
对于一套RAC的实施,我们需要确保基本的硬件环境已经达到要求,具体如下:
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
使用以下命令确定服务器上的物理RAM大小至少8G以上
# grep MemTotal /proc/meminfo
确定配置的交换空间的大小
# grep SwapTotal /proc/meminfo
确定tmp目录空间足够1G
# df -h /tmp
注意(如果/tmp空间不足,则清理/tmp目录以满足磁盘空间要求。
或设置Oracle用户环境时,还要设置TMP和TMPDIR环境变量到要使用的目录中,而不是/tmp)
确定系统版本能够支持19c数据库
# uname -a
NetworkManager管理主机网络配置信息,该服务如果出现down的话会影响系统网络运行,建议关闭:
关闭运行中的服务
# systemctl stop NetworkManager
关闭操作系统自启动
# systemctl disable NetworkManager
# systemctl status NetworkManager
关闭运行中的服务
#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
关闭运行中的服务
#systemctl stop chronyd.service
关闭操作系统自启动
#systemctl disable chronyd.service
检查关闭情况
#systemctl status chronyd.service
如下,dead表示未开启开机启动;inactive表示现在的状态是关闭
根据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
安装数据库依赖包
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
双节点创建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用户密码
在/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
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
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
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
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
安装之前,重启两台数据库主机
要保证两个节点都开着,在一节点上做即可
开始安装集群:
打开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 查看集群状态
要一直保证两个节点都开着,在一节点上做就可以
开始安装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安装完成
打补丁
单个节点上执行就可。
grid用户执行:
打开Xmanager-passive
grid用户运行asmca
asmca
添加asm盘组名,选择好redundancy,选择好要加入组的磁盘,Hide advanced options
兼容性写上19.0.0.0 点ok
mount all,exit
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。