【Step By Step】VM安装redhat-server7.9搭建Oracle19C RAC(一)环境配置

news/2024/7/7 21:36:45

文章目录

    • 环境规划
      • 网络规划
      • 文件系统规划
      • rac用户规划
      • grid与oracle用户规划
      • ASM规划
    • 虚拟机设置
      • 搭建虚拟机
      • 自定义网卡
      • 安装操作系统
    • 操作系统设置
      • 关闭services
      • 修改/etc/hosts
      • 创建用户与组
      • 创建文件目录
      • 设置环境变量
      • 设置内核参数
      • 资源限制
      • 添加 etc/pam.d/login
      • 关闭大页
      • 关机挂载本地ISO镜像
      • 挂载asm物理磁盘
      • 配置本地yum源
      • 安装依赖包
      • 配置自动SSH
    • 配置第二节点
      • 克隆虚拟机
      • 修改hostname和IP
      • 禁用zeroconf路由(两个节点)
    • ASM磁盘(两个节点)
      • 重启设置ASM磁盘
      • 查看磁盘id绑定磁盘权限
      • 磁盘权限绑定

环境规划

网络规划

192.168.56.41  rac01.example.com  rac01
192.168.56.42  rac02.example.com  rac02

192.168.56.43  rac01-priv.example.com  rac01-priv
192.168.56.44  rac02-priv.example.com  rac02-priv

10.1.54.41  rac01-vip.example.com  rac01-vip
10.1.54.42  rac02-vip.example.com  rac02-vip

192.168.56.45  rac-scan.example.com  rac-scan
192.168.56.46  rac-scan.example.com  rac-scan

文件系统规划

100G:
 /		30G
 /boot + /tmp	10G
 swap		10G
 /u01		50G

rac用户规划

oinstall	54321
dba		    54322
asmadmin	54323
asmdba		54324
asmoper		54325

grid与oracle用户规划

用户uid所属组附属组home路径BASEHOME
grid54321oinstallasmadmin,asmdba,asmoper,dba/home/gridORACLE_BASE=/u01/app/gridORACLE_HOME=/u01/app/19.0.3/grid
oracle54322oinstalldba,asmdba/home/oracleORACLE_BASE=/u01/app/oracleORACLE_HOME=/u01/app/oracle/product/19.0.3/dbhome_1
image.png

ASM规划

+OCR	2G
+DATA	2G
+FRA	2G

虚拟机设置

搭建虚拟机

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

自定义网卡

image.png

image.png

image.png

image.png

image.png

安装操作系统

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

操作系统设置

关闭services

systemctl disable firewalld
systemctl stop firewalld

vi /etc/selinux/config

image.png

systemctl  stop NetworkManager
systemctl disable NetworkManager

image.png

修改/etc/hosts

cat >> /etc/hosts << eof
192.168.56.41  rac01.example.com  rac01
192.168.56.42  rac02.example.com  rac02

192.168.56.43  rac01-priv.example.com  rac01-priv
192.168.56.44  rac02-priv.example.com  rac02-priv

10.1.54.41  rac01-vip.example.com  rac01-vip
10.1.54.42  rac02-vip.example.com  rac02-vip

192.168.56.45  rac-scan.example.com  rac-scan
192.168.56.46  rac-scan.example.com  rac-scan
eof

image.png

创建用户与组

groupadd -g 54321 oinstall	
groupadd -g 54322 dba		
groupadd -g 54323 asmadmin	
groupadd -g 54324 asmdba		
groupadd -g 54325 asmoper	

useradd -u 54321 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid grid

useradd -u 54322 -g oinstall -G dba,asmdba -d /home/oracle oracle

echo "oracle:oracle" | chpasswd
echo "grid:grid" | chpasswd

image.png

创建文件目录

mkdir -p /u01/app/grid
mkdir -p /u01/app/19.0.3/grid
mkdir -p /u01/app/oracle/product/19.0.3/dbhome_1
chown -R grid:oinstall /u01/
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01

设置环境变量

su - grid

cat >> ~/.bash_profile << eof
#add for grid
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.0.3/grid
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH
export TMP=/tmp
export TMPDIR=/tmp
eof

image.png

su - oracle

cat >> ~/.bash_profile << eof
#add for oracle
export ORACLE_SID=mcdb1
export ORACLE_HOSTNAME=rac01
export ORACLE_UNQNAME=mcdb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.3/dbhome_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
export TMP=/tmp
export TMPDIR=/tmp
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS";
export PS1="[\${ORACLE_SID}@`hostname` \${PWD}]$ "
export ORACLE_TERM=xterm
#export NLS_LANG=SIMPLIFIED\ CHINESE_CHINA.ZHS16GBK
eof

image.png

设置内核参数

cat >> /etc/sysctl.conf <<EOF
#add for oracle
kernel.shmmax = 4294967295
kernel.shmall = 268435456
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
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
fs.aio-max-nr = 1048576
EOF

/sbin/sysctl -p

image.png

资源限制

cat >> /etc/security/limits.conf <<EOF
# add for oracle and grid
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
EOF

image.png

添加 etc/pam.d/login

cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
EOF

image.png

关闭大页

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

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

image.png

关机挂载本地ISO镜像

image.png

挂载asm物理磁盘

image.png

image.png

image.png

配置本地yum源

mkdir /mnt/cdrom
mount /dev/sr0 /mnt/cdrom

cat >> /etc/yum.repos.d/local.repo << eof
[local]
name=local
baseurl=file:///mnt/cdrom
gpgcheck=1
enabled=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
eof

yum clean all
yum makecache

安装依赖包

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

yum install -y ipmiutil net-tools nfs-utils python python-configshell python-rtslib python-six targetcli compat-libstdc++-33.i686 gcc  compat-libstdc++  readline  libtermcap-devel unixODBC-devel  unixODBC libXi.i686 libxcb.i686 libXau.i686  libX11.i686 libXtst.i686  libXext.i686 gcc-c++  glibc  glibc.i686  libaio-devel.i686

yum install -y unzip vim

配置自动SSH

cat /etc/ssh/sshd_config |grep LoginGraceTime

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak`date +"%Y%m%d_%H%M%S"`

sed -i 's/#LoginGraceTime 2m/LoginGraceTime 0/' /etc/ssh/sshd_config

cat /etc/ssh/sshd_config |grep LoginGraceTime

image.png

配置第二节点

克隆虚拟机

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

修改hostname和IP

vim /etc/hostname
hostnamectl

cd /etc/sysconfig/network-scripts
# 删除uuid和修改ipaddr
vim ifcfg-ens33
vim ifcfg-ens34

systemctl restart network

image.png

image.png

image.png

禁用zeroconf路由(两个节点)

两个方法都可以,第二种可能方便一些

# 第一节点
vi /etc/sysconfig/network
# Created by anaconda
HOSTNAME=rac01
NOZEROCONF=yes

# 第二节点
cat >> /etc/sysconfig/network << eof
HOSTNAME=rac02
NOZEROCONF=yes
eof

image.png
image.png

ASM磁盘(两个节点)

重启设置ASM磁盘

用记事本打开虚拟机对应的.vmx文件加入以下内容:

#shared disks configure
disk.locking = "false"
scsi1.sharedBus = "virtual"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"

image.png

查看磁盘id绑定磁盘权限

/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdd

image.png

磁盘权限绑定

# RESULT=="36000c296d892cc1eb823bc3f7acdc0ef"的内容修改为自己的scsi_id

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c296d892cc1eb823bc3f7acdc0ef", RUN+="/bin/sh -c 'mknod /dev/asm-data b $major $minor; chown grid:asmadmin /dev/asm-data; chmod 0660 /dev/asm-data'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c2933932d7f8333aef1e305246d3", RUN+="/bin/sh -c 'mknod /dev/asm-far b $major $minor; chown grid:asmadmin /dev/asm-far; chmod 0660 /dev/asm-far'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c29aeedf160041f6d6f1f0d5c0f7", RUN+="/bin/sh -c 'mknod /dev/asm-ocr b $major $minor; chown grid:asmadmin /dev/asm-ocr; chmod 0660 /dev/asm-ocr'"

image.png


http://lihuaxi.xjx100.cn/news/1327184.html

相关文章

python 第十章 函数

系列文章目录 第一章 初识python 第二章 变量 第三章 基础语句 第四章 字符串str 第五章 列表list [] 第六章 元组tuple ( ) 第七章 字典dict {} 第八章 集合set {} 第九章 常用操作 文章目录 系列文章目录10.1函数的作用10.2函数的使用步骤定义函数调用函数函数的注意事项 10…

STM32F1基于HAL库DMA方式驱动ST7735 1.8‘‘屏幕demo

STM32F1基于HAL库DMA方式驱动ST7735 1.8’屏幕demo &#x1f4cc;相关篇《STM32F1基于STM32CubeMX配置硬件SPI驱动1.8寸TFT LCD128X160 ST7735S屏幕》 &#x1f33f;相关ST7735驱动代码来源于基于STM32CubeIDE项目&#xff1a;https://github.com/ScarsFun/STM32F103C8T6_cube…

超链接标签和列表标签

五、超链接标签 href: target: 行内标签&#xff0c;没有href属性和span没区别 有href不写值&#xff0c;跳转当前页面&#xff0c;即刷新效果 写完之后后端数据还没过来&#xff0c;不知道要跳转哪个页面&#xff0c;不想进行刷新页面&#xff0c;加#&#xff0c;叫锚点 回到底…

metersphere主从节点部署

metersphere主从节点关系 环境搭建 docker 环境准备 检查内存是否大于8G free -m 安装docker服务 安装docker&#xff0c;使用yum -y install docker&#xff1b; 启动docker&#xff0c;使用systemctl start docker&#xff1b; 设置开机启动&#xff0c;使用systemctl en…

实现windows系统文件传输到Linux系统中的工具

1、实现windows系统文件传输到Linux系统中的工具 yum -y install lrzsz然后就可以将windows中的文件&#xff0c;直接拖到Xshell窗口即可。

MAC下将jar包安装到本地maven仓库

在终端执行命令如下&#xff1a; mvn install:install-file "-Dfile/Users/kkeer/lost_lib/slf4j-1.7.2.jar" "-DgroupIdorg.slf4j" "-DartifactIdslf4j-log4j12" "-Dversion1.7.2" "-Dpackagingjar" "-DgeneratePomt…

【架构设计】酒店预订应用的系统设计架构(如 Airbnb、OYO)

Airbnb、Booking.com 和 OYO 等酒店预订应用程序如何提供从酒店列表到预订再到付款的流畅流程&#xff1f;而且都没有一个小故障&#xff01;在此博客中&#xff0c;您将获得对此的详细解释。由于它们非常庞大&#xff0c;以至于它们需要处理大量的用户流量。所以要管理这些&am…

十大券商:积极做多 布局中报行情

中信证券&#xff1a;正处三重谷底&#xff0c;布局中报行情 当前市场仍处于经济、政策和情绪的三重谷底&#xff0c;预计经济复苏斜率快速放缓的趋势将在三季度出现改观&#xff0c;政策仍将聚焦在产业和防风险领域&#xff0c;汇率快速贬值阶段接近尾声&#xff0c;减量博弈…