暂无图片
暂无图片
9
暂无图片
暂无图片
暂无图片

RAC 19C +REDHAT7.6安装

原创 SUN 2023-12-15
867

RAC 19C 安装(Redhat7.6)

IP和存储规划

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

https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/oracle-clusterware-storage-space-requirements.html#GUID-97FD5D40-A65B-4575-AD12-06C491AF3F41

操作系统配置部分

1、配置/etc/hosts 所有节点都要配置

10.64.29.111 portal01

10.64.29.112 portal02

10.64.29.113 portal01vip

10.64.29.114 portal02vip

10.10.10.111 portal01prv

10.10.10.112 portal02prv

10.64.29.115 racscan

2、关闭SELINIX、防火墙

sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

setenforce 0

systemctl stop firewalld.service

systemctl disable firewalld.service

3、禁止NTP

systemctl stop ntpd

systemctl disabled ntpd

systemctl stop chronyd.service

systemctl disable chronyd.service

rm -f /etc/chrony.conf

时区设置

# timedatectl set-timezone Asia/Shanghai

4、/dev/shm 配置

vim /etc/fstab

tmpfs /dev/shm tmpfs defaults,size=4G 0 0

mount -o remount /dev/shm #查看/dev/shm大小是否变化

5、添加NOZEROCONF=yes参数

vi /etc/sysconfig/network

NOZEROCONF=yes

6、停止avahi-daemon服务

systemctl disable avahi-daemon.socket

systemctl disable avahi-daemon.service

ps -ef|grep avahi-daemon

kill -9 pid avahi-daemon

7、yum配置

mkdir /mnt/cdrom

mount /dev/cdrom /mnt/cdrom

cd /etc/yum.repos.d

echo "[EL]" >> /etc/yum.repos.d/rhel.repo

echo "name =Linux 7.x DVD" >> /etc/yum.repos.d/rhel.repo

echo "baseurl=file:///mnt/cdrom" >> /etc/yum.repos.d/rhel.repo

echo "gpgcheck=0" >> /etc/yum.repos.d/rhel.repo

echo "enabled=1" >> /etc/yum.repos.d/rhel.repo

cat /etc/yum.repos.d/rhel.repo

8、安装软件包

yum install bc gcc gcc-c++ binutils make gdb cmake glibc ksh \

elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc-devel \

libaio libaio-devel libXrender libXrender-devel libX11 libXau sysstat \

libXi libXtst libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb \

net-tools nfs-utils compat-libcap1 compat-libstdc++ smartmontools targetcli \

python python-configshell python-rtslib python-six unixODBC unixODBC-devel

这2个包要单独上传安装并安装

compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm cvuqdisk-1.0.10-1

9、用户创建目录创建

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

echo 'admin@123' | passwd --stdin oracle

echo 'admin@123' | passwd --stdin grid

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/

10、修改20-nproc.conf

[root@rac1 ~]vi /etc/security/limits.d/20-nproc.conf

# Change this

#注释这行* soft nproc 1024

# To this增加下面一行

* - nproc 16384

11、修改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

12、修改login

[root@rac1 ~]vi /etc/pam.d/login

#ORACLE SETTING

session required pam_limits.so

13、修改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

14、修改grid用户环境变量

[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

节点2 grid

[root@rac2 ~]# su - grid

[grid@rac2:/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=+ASM2; 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

15、修改oracle用户环境变量

节点1 oracle

[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_UNQNAME=orcl; export UNQNAME

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

节点2 oracle

[root@rac2 ~]# su - oracle

[oracle@rac2:/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_UNQNAME=orcl; export UNQNAME

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.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环境变量

加入grid用户$ORACLE_HOME

[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 PAT

17、禁用透明大页

修改grub文件

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

不重启生效

[root@rac1 ~]#echo never > /sys/kernel/mm/transparent_hugepage/enabled

查看是否禁用透明大页

[root@rac1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

always madvise [never]

[root@rac1 ~]# grep AnonHugePages /proc/meminfo

AnonHugePages: 0 kB---------->>>返回值若是零,代表成功禁用THP

如未禁用可以重启再检查

18、共享存储UDEV绑定

查看共享存储LUN的ID

/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sda

[root@portal02 yum.repos.d]# for i in a b c d e f g ;

> do

> echo "emcpower$i" "`/lib/udev/scsi_id -g -u /dev/emcpower$i` ";

> done

emcpowera 368ccf098005955e91ffcf987845ad123

emcpowerb 368ccf09800c3564bf77452cc252c3a06

emcpowerc 368ccf09800cfa19d3c5d998279f7aafa

emcpowerd 368ccf09800ac53faacc3f0781f5c188c

emcpowere 368ccf0980025b16c18531f93571ad144

emcpowerf 368ccf09800638bd792982f1d3d11c803

emcpowerg 368ccf09800b5036110b6ad790113ff6e

# OWNER:="root", GROUP:="root", MODE:="660"

LABEL="dm_end"

ENV{DM_NAME}=="asmvote01", OWNER:="grid", GROUP:="asmadmin", MODE:="660"

ENV{DM_NAME}=="asmvote02", OWNER:="grid", GROUP:="asmadmin", MODE:="660"

ENV{DM_NAME}=="asmvote03", OWNER:="grid", GROUP:="asmadmin", MODE:="660"

ENV{DM_NAME}=="asmdata01", OWNER:="grid", GROUP:="asmadmin", MODE:="660"

ENV{DM_NAME}=="asmdata02", OWNER:="grid", GROUP:="asmadmin", MODE:="660"

ENV{DM_NAME}=="asmdata03", OWNER:="grid", GROUP:="asmadmin", MODE:="660"

ENV{DM_NAME}=="asmmgmt01", OWNER:="grid", GROUP:="asmadmin", MODE:="660"

ENV{DM_NAME}=="asmfra01", OWNER:="grid", GROUP:="asmadmin", MODE:="660"

配置UDEV映射文件

[root@portal01 rules.d]# vim 99-oracle-asmdevices.rules

KERNEL=="emcpower*", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent",RESULT=="368ccf098005955e91ffcf987845ad123",SYMLINK+="asmdisks/asmdisk01",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="emcpower*", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent",RESULT=="368ccf09800c3564bf77452cc252c3a06",SYMLINK+="asmdisks/asmdisk02",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="emcpower*", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent",RESULT=="368ccf09800cfa19d3c5d998279f7aafa",SYMLINK+="asmdisks/asmdisk03",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="emcpower*", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent",RESULT=="368ccf09800ac53faacc3f0781f5c188c",SYMLINK+="asmdisks/asmdisk04",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="emcpower*", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent",RESULT=="368ccf0980025b16c18531f93571ad144",SYMLINK+="asmdisks/asmdisk05",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="emcpower*", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent",RESULT=="368ccf09800638bd792982f1d3d11c803",SYMLINK+="asmdisks/asmdisk06",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="emcpower*", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent",RESULT=="368ccf09800b5036110b6ad790113ff6e",SYMLINK+="asmdisks/asmdisk07",OWNER="grid",GROUP="asmadmin",MODE="0660"

partprobe

/sbin/partprobe /dev/emcpowera-g

udevadm trigger --type=devices --action=change

udevadm control --reload-rules

ll /dev/asmdisk/*

第二个节点

节点2拷贝节点1的udev规则文件

scp rac1:/etc/udev/rules.d/99-oracle-asmdevices.rules /etc/udev/rules.d/99-oracle-asmdevices.rules

partprobe

udevadm trigger --type=devices --action=change

udevadm control --reload-rules ll

/dev/asmdisk/*

19、rlwrap软件配置

rlwrap-0.37-1.el6.x86_64.rpm 该软件务必在ROOT用户下安装

如果你当前不是oracle用户的话请执行以下命令

su - oracle

vi /home/oracle/.bash_profile

将下面两行文字粘贴进该文件中即可

alias sqlplus='rlwrap sqlplus'

alias rman='rlwrap rman'

添加完内容后保存退出 并执行以下命令来生成环境变量

. /home/oracle/.bash_profile

20、grid 安装 软件一定要解压到$ORACLE_HOME目录

在节点1上传grid安装包

解压grid安装包

在19C中需要把grid包解压放到grid用户下ORACLE_HOME目录内

解压文件到/u01/app/19.0.0/grid

[grid@rac2 grid]$ cd /u01/app/19.0.0/grid

[grid@rac2 grid]$ unzip LINUX.X64_193000_grid_home.zip

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

如果不进入用户界面,可以用MobaXterm_Portable连接ssh,然后在用户下设置export DISPLAY=本机地址:0.0

[grid@rac1 grid]$ ./gridSetup.sh

01  创建新的集群

配置集群名称以及scan名称 scan 名称要与/etc/hosts一样

节点互信 与/etc/hosts一样

 公网、私网网段选择 私网心跳要选择ASM&Pivate

选择ASM存储

 选择配置GIMR 19C RAC这里可以选择是否安装GIMR管理库,不装不影响,选择是的话(创建GIMR管理库),有一步是说是否为GIMR创建单独的存储,如果LUN是规划在一起的话,要选择NO.

下面这个是不安装GIMR管理库

下面这个是安装GIMR管理库

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

选择ASM磁盘 ChangeDiscovery Path /dev/asmdisks

正常情况下/dev/shm是没有警告的,只有single dns这2项的话可以忽略

运行脚本这里一定不能有报错,有报错就得重新配置,节点一执行完再执行节二

Grid 安装完成 最后安装完成有个报错提示,/u01/app/grid/diag/crs/db195/crs/trace

查看日志发现是因为使用了一个scan ip的提示,可以忽略 crsctl stat res -t查看集群资源状态信息

然后进入GIRD用户,asmca 配置数据磁盘组各归档磁盘组

21、oracle安装 软件一定要解压到$ORACLE_HOME目录

安装前检查下ORACLE用户的环境变量,和$ORACLE_HOME/bin/下的oracle用户的权限,要是oracle:asmadmin 7661权限

22、DBCA建库

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论