一、系统环境配置
(1)环境介绍
(2)NFS SERVER服务端配置
OS> yum install -y nfs-utils rpcbind
OS> yum install -y rpcbind (默认安装)
创建挂载目录
os>mkdir /asm
os>vi /etc/exports
录入内容: /asm *(rw,sync,no_wdelay,insecure,no_root_squash)
$ /nfs 192.168.2.0/24(rw,async,no_root_squash)
#如果设置为 /nfs *(rw,async,no_root_squash) 则对所以的IP都有效
设置开机启动并启动
OS > systemctl enable nfs
OS > systemctl restart nfs
查看是否有可用的NFS地址
os>showmount -e 172.172.1.73
(3)NFS 客户端配置 192.168.31.70,71
OS> yum install -y nfs-utils rpcbind
OS> yum install -y rpcbind (默认安装)
os > vi /etc/fstab
录入内容: 172.172.1.73:/asm /asm nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0
挂载目录:mount -a (如果挂载不上可能是防火墙没有关闭)
二、19cRAC集群安装
2.1 配置hosts文件(2个节点)
127.0.0.1 localhost
#Public ip
172.172.1.70 node1
172.172.1.71 node2
#Private ip
10.0.60.70 node1-priv
10.0.60.71 node2-priv
#Virture ip
172.172.1.73 node1-vip
172.172.1.74 node2-vip
#Scan ip
172.172.1.82 scanip
2.2 配置网卡
2.3 yum配置,并安装依赖包(2个节点)
[root@node1 ~]# vim /etc/yum.repos.d/my.repo
[Oracle]
name=oracle_rac
baseurl=file:///mnt/
gpgcheck=0
enabled=1
如果是RHEL或者CentOS,请先将/etc/yum.repos.d下面的文件删除或者移动到别的目录下,RHEL创建方法和OEL一样,CentOS则baseurl=file:///mnt/ 即可,因为CentOS的repodata目录就在光盘根下。
配置好YUM,然后进行所需软件包的安装
yum -y install compat-libstdc+±33 elfutils-libelf-devel gcc gcc-c++ glibc-devel glibc-headers libaio-devel libstdc+±devel sysstat unixODBC unixODBC-devel compat-libcap1
2.3 创建用户与组(两个节点)
oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
/u01/app/12.2.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
compat-libstdc+±33-3.2.3-72.el7.x86_64
ksh-20120801-139.el7.x86_64
userdel oracle
groupdel oinstall
groupdel dba
groupadd -g 5001 oinstall
groupadd -g 5002 dba
groupadd -g 5003 asmdba
groupadd -g 5004 asmoper
groupadd -g 5005 asmadmin
useradd -u 6002 -g oinstall -G asmadmin,asmdba,asmoper grid
useradd -u 6002 -g oinstall -G dba,asmadmin oracle
passwd grid
passwd oracle
2.3 创建目录(两个节点)
mkdir -p /u01/app/grid
mkdir -p /u01/app/19.3.0/grid --解压集群安装包到这里
chown -R grid:oinstall /u01
mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
chown -R oracle:oinstall /u01/app/oracle/product/19.3.0/dbhome_1
chmod -R 775 /u01
2.4 配置grid用户和oracle用户环境变量(2个节点)
注意:ORACLE_SID 2个节点不一样
----------节点1 node1------------
[grid@node1 ~]$ whoami
grid
[grid@node1 ~]$ vim .bash_profile
#alias ls=“ll -at”
ORACLE_SID=+ASM1; export ORACLE_SID
JAVA_HOME=/usr/local/java;export JAVA_HOME
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/19.3.0/grid; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm;export ORACLE_TERM
NLS_DATE_FORMAT=“YYYY-MM-DD HH24:MI:SS”;export NLS_DATE_FORMAT
TNS_ADMIN=
O
R
A
C
L
E
H
O
M
E
/
n
e
t
w
o
r
k
/
a
d
m
i
n
;
e
x
p
o
r
t
T
N
S
A
D
M
I
N
O
R
A
N
L
S
11
=
ORACLE_HOME/network/admin; export TNS_ADMIN ORA_NLS11=
ORACLEHOME/network/admin;exportTNSADMINORANLS11=ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:
J
A
V
A
H
O
M
E
/
b
i
n
:
{JAVA_HOME}/bin:
JAVAHOME/bin:{PATH}:
H
O
M
E
/
b
i
n
:
HOME/bin:
HOME/bin:ORACLE_HOME/bin
PATH=
P
A
T
H
:
/
u
s
r
/
b
i
n
:
/
b
i
n
:
/
u
s
r
/
b
i
n
/
X
11
:
/
u
s
r
/
l
o
c
a
l
/
b
i
n
P
A
T
H
=
{PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin PATH=
PATH:/usr/bin:/bin:/usr/bin/X11:/usr/local/binPATH={PATH}:/u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=
O
R
A
C
L
E
H
O
M
E
/
l
i
b
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
ORACLE_HOME/lib LD_LIBRARY_PATH=
ORACLEHOME/libLDLIBRARYPATH={LD_LIBRARY_PATH}:
O
R
A
C
L
E
H
O
M
E
/
o
r
a
c
m
/
l
i
b
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
ORACLE_HOME/oracm/lib LD_LIBRARY_PATH=
ORACLEHOME/oracm/libLDLIBRARYPATH={LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=
O
R
A
C
L
E
H
O
M
E
/
J
R
E
C
L
A
S
S
P
A
T
H
=
ORACLE_HOME/JRE CLASSPATH=
ORACLEHOME/JRECLASSPATH={CLASSPATH}:
O
R
A
C
L
E
H
O
M
E
/
j
l
i
b
C
L
A
S
S
P
A
T
H
=
ORACLE_HOME/jlib CLASSPATH=
ORACLEHOME/jlibCLASSPATH={CLASSPATH}:
O
R
A
C
L
E
H
O
M
E
/
r
d
b
m
s
/
j
l
i
b
C
L
A
S
S
P
A
T
H
=
ORACLE_HOME/rdbms/jlib CLASSPATH=
ORACLEHOME/rdbms/jlibCLASSPATH={CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_LANG=american_america.ZHS16GBK
#alias sqlplus=“rlwrap sqlplus”
umask 022
$ whoami
oracle
$ vim .bash_profile
#alias ls=“ll -at”
ORACLE_SID=orcl1; export ORACLE_SID
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=
O
R
A
C
L
E
B
A
S
E
/
p
r
o
d
u
c
t
/
19.3.0
/
d
b
h
o
m
e
1
;
e
x
p
o
r
t
O
R
A
C
L
E
H
O
M
E
O
R
A
C
L
E
P
A
T
H
=
/
u
01
/
a
p
p
/
c
o
m
m
o
n
/
o
r
a
c
l
e
/
s
q
l
;
e
x
p
o
r
t
O
R
A
C
L
E
P
A
T
H
O
R
A
C
L
E
T
E
R
M
=
x
t
e
r
m
;
e
x
p
o
r
t
O
R
A
C
L
E
T
E
R
M
N
L
S
D
A
T
E
F
O
R
M
A
T
=
"
D
D
−
M
O
N
−
Y
Y
Y
Y
H
H
24
:
M
I
:
S
S
"
;
e
x
p
o
r
t
N
L
S
D
A
T
E
F
O
R
M
A
T
T
N
S
A
D
M
I
N
=
ORACLE_BASE/product/19.3.0/dbhome_1; export ORACLE_HOME ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH ORACLE_TERM=xterm; export ORACLE_TERM NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT TNS_ADMIN=
ORACLEBASE/product/19.3.0/dbhome1;exportORACLEHOMEORACLEPATH=/u01/app/common/oracle/sql;exportORACLEPATHORACLETERM=xterm;exportORACLETERMNLSDATEFORMAT="DD−MON−YYYYHH24:MI:SS";exportNLSDATEFORMATTNSADMIN=ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=
O
R
A
C
L
E
H
O
M
E
/
n
l
s
/
d
a
t
a
;
e
x
p
o
r
t
O
R
A
N
L
S
11
P
A
T
H
=
.
:
ORACLE_HOME/nls/data; export ORA_NLS11 PATH=.:
ORACLEHOME/nls/data;exportORANLS11PATH=.:{JAVA_HOME}/bin:
P
A
T
H
:
{PATH}:
PATH:HOME/bin:
O
R
A
C
L
E
H
O
M
E
/
b
i
n
P
A
T
H
=
ORACLE_HOME/bin PATH=
ORACLEHOME/binPATH={PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=
P
A
T
H
:
/
u
01
/
a
p
p
/
c
o
m
m
o
n
/
o
r
a
c
l
e
/
b
i
n
e
x
p
o
r
t
P
A
T
H
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
{PATH}:/u01/app/common/oracle/bin export PATH LD_LIBRARY_PATH=
PATH:/u01/app/common/oracle/binexportPATHLDLIBRARYPATH=ORACLE_HOME/lib
LD_LIBRARY_PATH=
L
D
L
I
B
R
A
R
Y
P
A
T
H
:
{LD_LIBRARY_PATH}:
LDLIBRARYPATH:ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=
L
D
L
I
B
R
A
R
Y
P
A
T
H
:
/
l
i
b
:
/
u
s
r
/
l
i
b
:
/
u
s
r
/
l
o
c
a
l
/
l
i
b
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
C
L
A
S
S
P
A
T
H
=
{LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export LD_LIBRARY_PATH CLASSPATH=
LDLIBRARYPATH:/lib:/usr/lib:/usr/local/libexportLDLIBRARYPATHCLASSPATH=ORACLE_HOME/JRE
CLASSPATH=
C
L
A
S
S
P
A
T
H
:
{CLASSPATH}:
CLASSPATH:ORACLE_HOME/jlib
CLASSPATH=
C
L
A
S
S
P
A
T
H
:
{CLASSPATH}:
CLASSPATH:ORACLE_HOME/rdbms/jlib
CLASSPATH=
C
L
A
S
S
P
A
T
H
:
{CLASSPATH}:
CLASSPATH:ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
umask 022
#alias sqlplus=“rlwrap sqlplus”
#alias rman=“rlwrap rman”
----------节点2 node2------------
[grid@node2 ~]$ whoami
grid
[grid@node2 ~]$ vim .bash_profile
#alias ls=“ll -at”
ORACLE_SID=+ASM2; export ORACLE_SID
JAVA_HOME=/usr/local/java;export JAVA_HOME
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/19.3.0/grid; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm;export ORACLE_TERM
NLS_DATE_FORMAT=“YYYY-MM-DD HH24:MI:SS”;export NLS_DATE_FORMAT
TNS_ADMIN=
O
R
A
C
L
E
H
O
M
E
/
n
e
t
w
o
r
k
/
a
d
m
i
n
;
e
x
p
o
r
t
T
N
S
A
D
M
I
N
O
R
A
N
L
S
11
=
ORACLE_HOME/network/admin; export TNS_ADMIN ORA_NLS11=
ORACLEHOME/network/admin;exportTNSADMINORANLS11=ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:
J
A
V
A
H
O
M
E
/
b
i
n
:
{JAVA_HOME}/bin:
JAVAHOME/bin:{PATH}:
H
O
M
E
/
b
i
n
:
HOME/bin:
HOME/bin:ORACLE_HOME/bin
PATH=
P
A
T
H
:
/
u
s
r
/
b
i
n
:
/
b
i
n
:
/
u
s
r
/
b
i
n
/
X
11
:
/
u
s
r
/
l
o
c
a
l
/
b
i
n
P
A
T
H
=
{PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin PATH=
PATH:/usr/bin:/bin:/usr/bin/X11:/usr/local/binPATH={PATH}:/u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=
O
R
A
C
L
E
H
O
M
E
/
l
i
b
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
ORACLE_HOME/lib LD_LIBRARY_PATH=
ORACLEHOME/libLDLIBRARYPATH={LD_LIBRARY_PATH}:
O
R
A
C
L
E
H
O
M
E
/
o
r
a
c
m
/
l
i
b
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
ORACLE_HOME/oracm/lib LD_LIBRARY_PATH=
ORACLEHOME/oracm/libLDLIBRARYPATH={LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=
O
R
A
C
L
E
H
O
M
E
/
J
R
E
C
L
A
S
S
P
A
T
H
=
ORACLE_HOME/JRE CLASSPATH=
ORACLEHOME/JRECLASSPATH={CLASSPATH}:
O
R
A
C
L
E
H
O
M
E
/
j
l
i
b
C
L
A
S
S
P
A
T
H
=
ORACLE_HOME/jlib CLASSPATH=
ORACLEHOME/jlibCLASSPATH={CLASSPATH}:
O
R
A
C
L
E
H
O
M
E
/
r
d
b
m
s
/
j
l
i
b
C
L
A
S
S
P
A
T
H
=
ORACLE_HOME/rdbms/jlib CLASSPATH=
ORACLEHOME/rdbms/jlibCLASSPATH={CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_LANG=american_america.ZHS16GBK
#alias sqlplus=“rlwrap sqlplus”
umask 022
$ whoami
oracle
$ vi .bash_profile
#alias ls=“ll -at”
ORACLE_SID=orcl2; export ORACLE_SID
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME
JAVA_HOME=/usr/local/java; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=
O
R
A
C
L
E
B
A
S
E
/
p
r
o
d
u
c
t
/
19.3.0
/
d
b
h
o
m
e
1
;
e
x
p
o
r
t
O
R
A
C
L
E
H
O
M
E
O
R
A
C
L
E
P
A
T
H
=
/
u
01
/
a
p
p
/
c
o
m
m
o
n
/
o
r
a
c
l
e
/
s
q
l
;
e
x
p
o
r
t
O
R
A
C
L
E
P
A
T
H
O
R
A
C
L
E
T
E
R
M
=
x
t
e
r
m
;
e
x
p
o
r
t
O
R
A
C
L
E
T
E
R
M
N
L
S
D
A
T
E
F
O
R
M
A
T
=
"
D
D
−
M
O
N
−
Y
Y
Y
Y
H
H
24
:
M
I
:
S
S
"
;
e
x
p
o
r
t
N
L
S
D
A
T
E
F
O
R
M
A
T
T
N
S
A
D
M
I
N
=
ORACLE_BASE/product/19.3.0/dbhome_1; export ORACLE_HOME ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH ORACLE_TERM=xterm; export ORACLE_TERM NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT TNS_ADMIN=
ORACLEBASE/product/19.3.0/dbhome1;exportORACLEHOMEORACLEPATH=/u01/app/common/oracle/sql;exportORACLEPATHORACLETERM=xterm;exportORACLETERMNLSDATEFORMAT="DD−MON−YYYYHH24:MI:SS";exportNLSDATEFORMATTNSADMIN=ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=
O
R
A
C
L
E
H
O
M
E
/
n
l
s
/
d
a
t
a
;
e
x
p
o
r
t
O
R
A
N
L
S
11
P
A
T
H
=
.
:
ORACLE_HOME/nls/data; export ORA_NLS11 PATH=.:
ORACLEHOME/nls/data;exportORANLS11PATH=.:{JAVA_HOME}/bin:
P
A
T
H
:
{PATH}:
PATH:HOME/bin:
O
R
A
C
L
E
H
O
M
E
/
b
i
n
P
A
T
H
=
ORACLE_HOME/bin PATH=
ORACLEHOME/binPATH={PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=
P
A
T
H
:
/
u
01
/
a
p
p
/
c
o
m
m
o
n
/
o
r
a
c
l
e
/
b
i
n
e
x
p
o
r
t
P
A
T
H
L
D
L
I
B
R
A
R
Y
P
A
T
H
=
{PATH}:/u01/app/common/oracle/bin export PATH LD_LIBRARY_PATH=
PATH:/u01/app/common/oracle/binexportPATHLDLIBRARYPATH=ORACLE_HOME/lib
LD_LIBRARY_PATH=
L
D
L
I
B
R
A
R
Y
P
A
T
H
:
{LD_LIBRARY_PATH}:
LDLIBRARYPATH:ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=
L
D
L
I
B
R
A
R
Y
P
A
T
H
:
/
l
i
b
:
/
u
s
r
/
l
i
b
:
/
u
s
r
/
l
o
c
a
l
/
l
i
b
e
x
p
o
r
t
L
D
L
I
B
R
A
R
Y
P
A
T
H
C
L
A
S
S
P
A
T
H
=
{LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export LD_LIBRARY_PATH CLASSPATH=
LDLIBRARYPATH:/lib:/usr/lib:/usr/local/libexportLDLIBRARYPATHCLASSPATH=ORACLE_HOME/JRE
CLASSPATH=
C
L
A
S
S
P
A
T
H
:
{CLASSPATH}:
CLASSPATH:ORACLE_HOME/jlib
CLASSPATH=
C
L
A
S
S
P
A
T
H
:
{CLASSPATH}:
CLASSPATH:ORACLE_HOME/rdbms/jlib
CLASSPATH=
C
L
A
S
S
P
A
T
H
:
{CLASSPATH}:
CLASSPATH:ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
umask 022
#alias sqlplus=“rlwrap sqlplus”
#alias rman=“rlwrap rman”
2.5 ASM共享存储配置(2个节点)
(1)asm磁盘初始化
dd if=/dev/zero of=/asm/oracleasm/disks/asm1 bs=8192k count=1280
dd if=/dev/zero of=/asm/oracleasm/disks/asm2 bs=8192k count=1280
dd if=/dev/zero of=/asm/oracleasm/disks/asm3 bs=8192k count=1280
dd if=/dev/zero of=/asm/oracleasm/disks/asm4 bs=8192k count=1280
dd if=/dev/zero of=/asm/oracleasm/disks/asm5 bs=8192k count=1280
dd if=/dev/zero of=/asm/oracleasm/disks/asm6 bs=8192k count=128
dd if=/dev/zero of=/asm/oracleasm/disks/asm7 bs=8192k count=128
(2)两个节点授权
chown grid:asmadmin /asm/oracleasm/disks/asm1
chown grid:asmadmin /asm/oracleasm/disks/asm2
chown grid:asmadmin /asm/oracleasm/disks/asm3
chown grid:asmadmin /asm/oracleasm/disks/asm4
chown grid:asmadmin /asm/oracleasm/disks/asm5
chown grid:asmadmin /asm/oracleasm/disks/asm6
chown grid:asmadmin /asm/oracleasm/disks/asm7
2.6 grid集群软件部署
(1)grid用户登录,解压集群安装包文件到 /u01/app/19.3.0/grid 目录下开始安装。
unzip LINUX.X64_193000_grid_home.zip -d /u01/app/19.3.0/grid
./gridSetup.sh
先安装SSH互信,然后测试
2.7 数据库软件部署
(1)解压数据库软件到
unzip Linux.X64_19300_db_home.zip -d /u01/app/oracle/product/19.3.0/dbhome_1
(2) 两个节点检查该目录下oracle目录的用户组是否正确
/u01/app/oracle/product/19.3.0/dbhome_1
ls -lsa oracle
chown oracle:asmadmin oracle
chmod 6751 oracle
修改后
之后两个节点重新停止启动集群。
(3) 数据库软件安装
(3) dbca 建库、