Oracle RAC 12cR2安装手册(2)--环境的准备
注:
除特殊注明外,本文所有命令均使用root用户执行。
配置操作系统
安装依赖包
node01和node02上分别执行1
yum -y install binutils compat-libcap1 compat-libstdc++ compat-libstdc++-33 e2fsprogs e2fsprogs-libs glibc glibc glibc-devel glibc-devel ksh libgcc libgcc libstdc++ libstdc++ libstdc++-devel libstdc++-devel libaio libaio libaio-devel libaio-devel libXtst libXtst libX11 libX11 libXau libXau libxcb libxcb libXi libXi make net-tools nfs-utils sysstat smartmontools
配置内核参数
node01和node02上分别执行
编辑/etc/sysctl.conf文件vi /etc/sysctl.conf
添加或修改1
2
3
4
5
6
7
8
9
10
11
12kernel.shmall = 2097152
kernel.shmmax = 4294967295
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048576
kernel.panic_on_oops=1
执行sysctl -p
使其生效
关闭NTP
安装Oracle RAC要求各节点间时间同步,本文选用Oracle Cluster Time Synchronization Service进行同步,因而关闭NTP服务。1
2
3
4/sbin/service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.org
rm /var/run/ntpd.pid
配置PAM
node01和node02上分别执行
编辑/etc/pam.d/login文件vi /etc/pam.d/login
添加session required pam_limits.so
编辑/etc/security/limits.conf文件vi /etc/security/limits.conf
添加1
2
3
4
5
6
7
8@oinstall hard nofile 65536
@oinstall soft nofile 10240
@oinstall hard nproc 16384
@oinstall soft nproc 16384
@oinstall hard stack 32768
@oinstall soft stack 10240
@oinstall soft memlock 475188563
@oinstall hard memlock 475188563
关闭SELinux
node01和node02上分别执行1
2setenforce 0
vi /etc/sysconfig/selinux
修改为SELINUX=disabled
创建用户、组、文件夹
node01和node02上分别执行1
2
3
4
5
6
7
8
9
10
11
12
13
14
15groupadd -g 1000 oinstall
groupadd -g 1020 asmadmin
groupadd -g 1021 asmdba
groupadd -g 1022 asmoper
groupadd -g 1031 dba
groupadd -g 1032 oper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle
mkdir -p /u01/software
mkdir -p /u01/app/12.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
chown -R grid:oinstall /u01
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
将下面的两个文件分别上传至node01的/u01/software文件夹下
linuxx64_12201_grid_home.zip
linuxx64_12201_database.zip
解压并修改对应权限1
2
3
4
5cd /u01/software
unzip linuxx64_12201_grid_home.zip -d /u01/app/12.2.0/grid/
chown -R grid:oinstall /u01/app/12.2.0/grid/
unzip linuxx64_12201_database.zip
chown oracle:oinstall database
配置环境变量
配置grid用户的环境变量
node01上执行
编辑/home/grid/.bash_profile文件vi /home/grid/.bash_profile
添加1
2
3
4
5
6
7
8export ORACLE_SID=+ASM1
export TMP=/tmp
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/12.2.0/grid
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LC_ALL=en_US.UTF-8
node02上执行
编辑/home/grid/.bash_profile文件vi /home/grid/.bash_profile
添加1
2
3
4
5
6
7
8export ORACLE_SID=+ASM2
export TMP=/tmp
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/12.2.0/grid
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LC_ALL=en_US.UTF-8
配置oracle的环境变量
node01上执行
编辑/home/oracle/.bash_profile文件vi /home/oracle/.bash_profile
添加1
2
3
4
5
6
7
8
9export TMP=/tmp
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_SID=orcl1
export PATH=$ORACLE_HOME/bin:/usr/sbin:$ORACLE_HOME/OPatch:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LC_ALL=en_US.UTF-8
node02上执行
编辑/home/oracle/.bash_profile文件vi /home/oracle/.bash_profile
添加1
2
3
4
5
6
7
8
9export TMP=/tmp
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_SID=orcl2
export PATH=$ORACLE_HOME/bin:/usr/sbin:$ORACLE_HOME/OPatch:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LC_ALL=en_US.UTF-8
配置网络
配置hosts解析
如Oracle RAC安装手册(1)虚拟机的准备中所述,Oracle RAC的安装至少需要两块网卡。前文已完成网卡的添加和IP的配置,此处介绍IP的规划。
Name | node01 | node02 |
---|---|---|
Public IP | 172.16.10.11 | 172.16.10.12 |
Private IP | 192.168.10.11 | 192.168.10.12 |
Virtual IP | 172.16.10.21 | 172.16.10.22 |
SCAN IP | 172.16.10.31 | 172.16.10.32 |
172.16.10.33 |
注:
- Public IP, Virtual IP, SCAN IP必须在同一个子网下;
- SCAN IP推荐配置三个,最少一个。
node01和node02上分别执行
编辑/etc/hosts文件vi /etc/hosts
添加1
2
3
4
5
6
7
8
9
10
11
12
13# Public
172.16.10.11 node01.myCluster.com node01
172.16.10.12 node02.myCluster.com node02
# Private
192.168.10.11 node01-priv.myCluster.com node01-priv
192.168.10.12 node02-priv.myCluster.com node02-priv
# Virtual
172.16.10.21 node01-vip.myCluster.com node01-vip
172.16.10.22 node02-vip.myCluster.com node02-vip
# SCAN
172.16.10.31 nodes-scan.myCluster.com nodes-scan
172.16.10.32 nodes-scan.myCluster.com nodes-scan
172.16.10.33 nodes-scan.myCluster.com nodes-scan
关闭虚拟网卡
如果安装了libvirt,需要关闭虚拟网卡功能。
node01和node02分别执行1
2
3
4virsh net-list
virsh net-destroy default
virsh net-undefine default
service libvirtd restart
禁用ZEROCONF
node01和node02分别执行
编辑/etc/sysconfig/network文件vi /etc/sysconfig/network
添加1
NOZEROCONF=yes
配置SSH互信
使用grid用户登录node01或切换到grid用户,分别为grid用户和oracle用户配置SSH互信。
注:
配置过程中,需要输入oracle和grid的密码,可提前为其设置密码。
1 | cd /u01/app/12.2.0/grid/oui/prov/resources/scripts/ |
使用grid用户登录node01验证1
2ssh node02 date
ssh node02-priv date
使用grid用户登录node02验证1
2ssh node01 date
ssh node01-priv date
使用oracle用户登录node01验证1
2ssh node02 date
ssh node02-priv date
使用oracle用户登录node02验证1
2ssh node01 date
ssh node01-priv date
配置存储
本文选用ASM作为存储方案,前文Oracle RAC安装手册(1)虚拟机的准备中已添加共享磁盘,接下来介绍如何配置ASM。
注:
- 本文使用的磁盘为/dev/sdb,受限磁盘空间,OCR_VOT_GIMR磁盘组和DATA磁盘组的冗余类型都选择为External。/dev/sdb共60G空间,创建1个40G分区分配给OCR_VOT_GIMR磁盘组使用,创建一个20G分区分配至DATA磁盘组。
- 本文仅演示安装过程,关于ASM磁盘的大小官方文档有具体的最小限制,实际生产中请注意。
安装ASMLIB
参考Oracle Linux下安装ASMLIB,分别在node01和node02安装ASMLIB,并配置、启动oracleasm服务。
创建分区
在node01上执行1
fdisk /dev/sdb
创建过程参考如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32[root@node01 ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xc379a890.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-7832, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-7832, default 7832): +40G
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (5224-7832, default 5224):
Using default value 5224
Last cylinder, +cylinders or +size{K,M,G} (5224-7832, default 7832):
Using default value 7832
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
注:
仅创建分区即可,无需格式化。
创建完成后,磁盘分区情况如下:
创建磁盘组
node01执行如下命令创建磁盘组1
2oracleasm createdisk OCR_VOT_GIMR /dev/sdb1
oracleasm createdisk DATA /dev/sdb2
创建过程参考如下
使用oracleasm listdisks
查看已创建的磁盘组
创建成功👆🏻
node02执行如下命令扫描node01上已创建的磁盘组1
oracleasm scandisks
扫描过程参考如下
使用oracleasm listdisks
查看扫描到的磁盘组
扫描成功👆🏻
至此,完成了环境的准备工作。
下一篇Oracle RAC 12cR2安装手册(3)–网格基础设施的安装