本文基于19c进行部署,使用centos7.9,nfs做共享存储
一、首先进行网络规划和配置
该实验一共三台机器一台是nfs,另外两台做rac
1.每台机器至少2块网卡,网卡名字必须一样(publicip和VIP使用的是同一张网卡,privilegeip是另外一张网卡改ip 仅做rac间的联系可自起ip 添加路由即可)
2.准备5个可用的IP地址(一个为scan,scan一个配置数据库会提示warning信息,二台配置各配置public和private地址)
3.建议内存4G以上内核4核以上(实验采用4c8G装到最后系统开销很大了)
4.修改两台主机的hostname
[root@rac1] hostnamectl set-hostname rac1
[root@rac1] hostnamectl set-hostname rac2
5.两台机器在/etc/hosts添加
10.8.88.210 rac1
10.8.88.211 rac2
10.8.88.212 rac1-vip
10.8.88.213 rac2-vip
192.168.1.2 rac1-pri
192.168.1.3 rac2-pri
10.8.88.214 rac-scan
6.此时两台机器之间的私有ip 是不通的添加一个主机路由实现互通
[root@rac1] route add -host 192.168.1.3 dev ens224
[root@rac2] route add -host 192.168.1.2 dev ens224
二、进行依赖包安装(两台都操作)
yum install -y bc binutils elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libX11 libXau libXi libXtst libgcc libnsl librdmacm libstdc++ libstdc+±devel libxcb libibverbs make smartmontools sysstat nfs-utils net-tools xterm xclock
如果使用asmlib来进行磁盘管理还需安装:
–安装asm支持包
yum -y install oracleasm-support --nogpgcheck
–安装内核模块
yum -y install kmod-oracleasm --nogpgcheck
–安装oracle asm 库包(这个包需要单独下载)
rpm -ivh oracleasmlib-2.0.12-1.el7.x86_64.rpm
三、用户和用户组创建(两台都操作)
创建GRID组
groupadd asmadmin
groupadd asmoper
groupadd asmdba
创建数据库组
groupadd dba
groupadd oper
groupadd oinstall
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd racdba
创建oracle用户
useradd -g oinstall -G dba,oper,asmdba,backupdba,dgdba,kmdba,racdba oracle
创建grid用户
useradd -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba grid
给两个用户指定密码
echo oracle_4U |passwd --stdin oracle
echo grid_4U|passwd --stdin grid
四、基础环境配置 (两台都操作)
如果不删除可能会在安装时网络连接报错:
[INS-06006] Passwordless SSH connectivity not set up between the following node(s)
1、ifconfig virbr0 down
2、brctl delbr virbr0
3、systemctl disable libvirtd
4、重启虚拟机
5、将原来的rm -rf /home/grid/.ssh文件删除,重新Setup,Test即可
OS默认安装后,使用透明大页内存,如下:
[root@dbserver ~]# cat /proc/meminfo |grep HugePages
AnonHugePages: 32768 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
修改/etc/default/grub文件,在GRUB_CMDLINE_LINUX行最后,加上 transparent_hugepage=never,修改后,其他不用动
修改内核参数:
vim /etc/sysctl.conf
kernel.shmmax = 8589934592(该值可参考实际内存的80%-90%)
kernel.shmmni = 4096
kernel.shmall = 2097152 (kernel.shmmax/kernel.shmmni)
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 1048576
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
fs.file-max = 6815744
fs.aio-max-nr = 3145728
sysctl -p 生效
修改系统限制:
vim /etc/security/limits.conf
grid soft nproc 8192
grid hard nproc 16384
grid soft nofile 8192
grid hard nofile 65536
grid soft stack 10240
oracle soft nproc 8192
oracle hard nproc 16384
oracle soft nofile 8192
oracle hard nofile 65536
oracle soft stack 10240
vim /etc/pam.d/login
session required /usr/lib64/security/pam_limits.so
五、创建用户的环境变量(两台都操作)
su - grid
vim .bash_profile
…
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.10.0/grid
export ORACLE_SID=+ASM
export PATH=
O
R
A
C
L
E
H
O
M
E
/
b
i
n
:
ORACLE_HOME/bin:
ORACLEHOME/bin:PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
su - oracle
vim .bash_profile
…
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=
O
R
A
C
L
E
B
A
S
E
/
p
r
o
d
u
c
t
/
19.10.0
/
d
b
1
e
x
p
o
r
t
O
R
A
C
L
E
S
I
D
=
o
r
c
l
c
d
b
e
x
p
o
r
t
P
A
T
H
=
ORACLE_BASE/product/19.10.0/db_1 export ORACLE_SID=orclcdb export PATH=
ORACLEBASE/product/19.10.0/db1exportORACLESID=orclcdbexportPATH=ORACLE_HOME/bin:
P
A
T
H
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
PATH export LD_LIBRARY_PATH=
PATHexportLDLIBRARYPATH=ORACLE_HOME/lib
–创建GI base目录
mkdir -p /u01/app/grid
–创建GI 的主目录
mkdir -p /u01/app/19.10.0/grid
–创建数据库主目录
mkdir -p /u01/app/oracle/product/19.10.0/db_1
–修改目录属组
chown -R grid:oinstall /u01/app/
chown -R oracle:oinstall /u01/app/oracle
–修改目录权限
chmod -R 775 /u01/app
六、安装nfs准备共享存储
1、在nfs服务器上执行 yum install nfs-utils -y
2、[root@localhost ~]# more /etc/exports
/data *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
3、 systemctl status nfs-server.service && systemctl enable nfs-server.service
4、在rac的机器上执行showmount -e xxx.xxx.xxx.xx 验证能否正常看到挂载目录
5、echo ‘xxx.xxx.xxx.xxx:/data /data nfs rw,bg,hard,nointr,noac,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0’ >> /etc/fstab && mount -a (两台都做)
6、准备文件(一台执行)
dd if=/dev/zero of=/data/asm1 bs=1024k count=15000
dd if=/dev/zero of=/data/asm2 bs=1024k count=15000
dd if=/dev/zero of=/data/asm3 bs=1024k count=15000
dd if=/dev/zero of=/data/asm4 bs=1024k count=15000
dd if=/dev/zero of=/data/asm5 bs=1024k count=15000
dd if=/dev/zero of=/data/asm6 bs=1024k count=15000
chown grid.asmadmin /data/*
chmod 777 /data/*
七、asmlib初始化
[root@rac1 ~]# oracleasm configure -i
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets (‘[]’). Hitting without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface [grid]:
Default group to own the driver interface [asmadmin]:
Start Oracle ASM library driver on boot (y/n) [y]:
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done
[root@rac1 ~]# oracleasm init 做一个初始化
八、grid安装
1、grid用户将grid安装包上传并解压到$ORACLE_HOME
2、通过xmanager或者是vnc进行安装操作
cd $ORACLE_HOME && ./gridSetup.sh
创建一个独立的集群
注意这里的scan-name要和/etc/hosts 中的scan-ip名字保持一致
这里想点击添加将rac2添加进来,然后填写用户的密码点击setup然后test一下(如果不同将knowhost中的内容删除在尝试看看)
这里将asm和priip使用一个网卡
选用asm进行存储管理
这里测试的话建议别选,生产建议选上,会产生集群自动管理的MGMTDB数据库
这里选择外部存储冗余,注意修改存储文件的路径,这里就引用到了nfs共享创建的文件了
这里选择统一的一个密码
后两步的ipmi和oemcc 都可以不用选
asm的用户组
会自动根据环境变量的设置来填充
安装的时候需要使用root权限执行一些脚本可以直接将root面写进去
最后检查如果是出现dns或者是scan-ip的错误可以忽略
[grid@rac1 app]$ crsctl stat res -t 使用该命令查看集群安装是否正常
九、磁盘组添加
在xmanager或者vnc中以grid用户执行asmca
选择asm3/4创建磁盘组DATA,asm5/6创建磁盘组FRA
[grid@rac1 app]$ asmca
完成后可见磁盘组
该处注意修改grid用户oracle的属组,不然oracle安装数据库是看不到磁盘组
[grid@rac1 bin]$ ll
O
R
A
C
L
E
H
O
M
E
/
b
i
n
/
o
r
a
c
l
e
−
r
w
s
r
−
s
−
−
x
1
g
r
i
d
o
i
n
s
t
a
l
l
418591368
J
u
n
1515
:
12
/
u
01
/
a
p
p
/
19.10.0
/
g
r
i
d
/
b
i
n
/
o
r
a
c
l
e
[
g
r
i
d
@
r
a
c
1
b
i
n
]
ORACLE_HOME/bin/oracle -rwsr-s--x 1 grid oinstall 418591368 Jun 15 15:12 /u01/app/19.10.0/grid/bin/oracle [grid@rac1 bin]
ORACLEHOME/bin/oracle−rwsr−s−−x1gridoinstall418591368Jun1515:12/u01/app/19.10.0/grid/bin/oracle[grid@rac1bin] chown grid.asmadmin $ORACLE_HOME/bin/oracle
后续的oracle数据库部署步骤请参考oracle 19c部署