Oracle Linux 7.6 +19c_RAC 安装文档
注:详细内容请关注微信公众号’DBA技术栈’。
一、安装规划
4、其他软件
Xshell 工具
vnc 工具
PL/SQL 工具
二、安装环境配置
1、两个节点安装rac需要的依赖包
可以配置本地yum源
cd /etc/yum.repos.d /mkdir bk mv public-yum-ol7.repo ./bk [EL] name =Linux 7.6 baseurl=file:///mnt gpgcheck=0 enabled=1
复制
安装依赖
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
复制
2、\etc\hosts配置
#public ip 192.168.42.82 rac1 192.168.42.83 rac2 #priv ip 10.10.10.10 rac1prv 10.10.10.20 rac2prv #vip ip 192.168.42.90 rac1vip 192.168.42.93 rac2vip #scan ip 192.168.42.86 racscan #stronge 192.168.42.84 dbstronge
复制
3、修改主机名
hostnamectl set-hostname rac1/rac2
复制
4、在两个节点关闭防火墙
systemctl stop firewalld systemctl disabled firewalld
复制
5、关闭时间同步ntpd服务
systemctl disable ntpd.service systemctl stop ntpd.service mv /etc/ntp.conf /etc/ntp.conf.old
复制
6、/etc/security/limits.conf
#ORACLE SETTING grid soft nproc 16384 grid hard nproc 16384 grid soft nofile 16384 grid hard nofile 65536 grid soft stack 1638 grid hard stack 32768 grid hard memlock 8192000 grid soft memlock 8192000 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft nofile 16384 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 oracle hard memlock 8192000 oracle soft memlock 8192000 ulimit -a
复制
7、vi /etc/security/limits.d/20-nproc.conf
* - nproc 16384
复制
8、vi /etc/pam.d/login
session required pam_limits.so
复制
9、修改内核参数
vi /etc/sysctl.conf #ORACLE SETTING fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmax = 8719476736 kernel.shmall = 2128778 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 kernel.panic_on_oops = 1 vm.nr_hugepages = 2500 sysctl -p
复制
10、关闭透明页
cp /etc/default/grub /etc/default/grub.bak vi /etc/default/grub 在尾部添加 transparent_hugepage=never GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet transparent_hugepage=never" 执行命令 grub2-mkconfig -o /boot/grub2/grub.cfg 不重启生效 echo never > /sys/kernel/mm/transparent_hugepage/enabled
复制
11、关闭selinix
vi /etc/selinux/config SELINIX=disabled setenforce 0
复制
12、 配置 NOZEOCONF
vi /etc/sysconfig/network NOZEROCONF=yes
复制
13、停止avahi-daemon服务
systemctl disable avahi-daemon.socket systemctl disable avahi-daemon.service ps -ef|grep avahi-daemon kill -9 pid avahi-daemon
复制
14、在两个节点创建oracle,grid用户组
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密码 passwd oracle passwd grid 查看 id oracle id grid
复制
15、在两个节点创建grid、oracle文件目录
mkdir -p /u01/app/19.0/grid mkdir -p /u01/app/grid mkdir -p /u01/app/oracle mkdir -p /u01/app/oracle/product/19.0/db_1 chown -R grid:oinstall /u01 chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/
复制
16、修改grid、oracle用户环境变量
节点1 grid
su - 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/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
su - grid vi ~/.bash_profile PS1="[`whoami`@`hostname`:"'$PWD]$' export PS1 umask 022 export TMP=/tmp export LANG=en_US 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/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
复制
节点1 oracle
su - 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/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/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
复制
节点2 oracle
su - 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/db_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/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
复制
修改root环境变量
vi ~/.bash_profile PATH=$PATH:/u01/app/19.0.0/grid/bin:$HOME/bin export PATH
复制
17、共享存储
编写 udev rules 文件,生成文件内容的脚本如下:
for i in b c d; 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\"" done
复制
生成的文件 拷贝到 /etc/udev/rules.d/99-oracle-asmdevices.rules中。
重启 udev 设备
/sbin/udevadm trigger --type=devices --action=change
复制
检查 udev 设备
ls -lsa /dev/asm* ls -lsa /dev/sd*
复制
三、安装GRID
信任关系
cd /oracle/app/12.2/grid/oui/prov/resources/scripts/ ./sshUserSetup.sh -user grid -hosts "rac1 rac2" -advanced -exverify -confirm ./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -advanced -exverify -confirm ssh rac1 date && ssh rac2 date && ssh rac1prv date && ssh rac2prv date
复制
在节点1
su - grid cd $ORACLE_HOME unzip /soft/V982068-01.zip ./gridSetup.sh
复制
通过asmca创建oracle数据文件磁盘组
asmca图形化安装实例
四、Oracle DataBase软件安装
su - oracle cd $ORACLE_HOME umzip /soft/V982063-01.zip ./runInstaller
复制
五、dbca创建实例
dbca图形化安装实例
dbca
安装完成。
查看集群状态
crsctl status res -t
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
548次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
469次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
450次阅读
2025-04-01 11:08:44
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
445次阅读
2025-04-08 09:12:48
墨天轮个人数说知识点合集
JiekeXu
445次阅读
2025-04-01 15:56:03
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
438次阅读
2025-04-22 00:20:37
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
414次阅读
2025-04-22 00:13:51
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
413次阅读
2025-04-20 10:07:02
Oracle 19c RAC更换IP实战,运维必看!
szrsu
393次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
359次阅读
2025-04-17 17:02:24