Oracle RAC19.3 安装手册
数据库版本:RAC 19.3
虚拟化平台:vmware esxi 6
服务器平台:Centos 7.4
网络规划:
主机名 |
Public IP |
Pri IP |
Vir IP |
SCAN IP |
Rac01 |
192.168.1.12 |
192.168.0.13 |
192.168.1.212 |
192.168.1.173 |
Rac02 |
192.168.1.22 |
192.168.0.14 |
192.168.1.222 |
|
|
|
|
|
|
|
|
|
|
|
磁盘组 |
磁盘 |
大小 |
data |
/dev/sdb |
20G |
ocr |
/dev/sdc |
5G |
|
|
|
|
|
|
测试环境MGMT未选择安装
修改host ip和hostname对应信息
echo "# Public " >>/etc/hosts
echo "192.168.1.12 RAC01 " >>/etc/hosts
echo "192.168.1.22 RAC02 " >>/etc/hosts
echo "# Private " >>/etc/hosts
echo "192.168.0.13 RAC01-PRIV " >>/etc/hosts
echo "192.168.0.14 RAC02-PRIV " >>/etc/hosts
echo "# Virtual " >>/etc/hosts
echo "192.168.1.212 RAC01-VIP " >>/etc/hosts
echo "192.168.1.222 RAC02-VIP " >>/etc/hosts
echo "# SCAN 1 " >>/etc/hosts
echo "192.168.1.173 SCAN " >>/etc/hosts
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
关闭 ntp service
systemctl stop ntpd && systemctl disable ntpd
mv /etc/ntp.conf /etc/ntp.conf.bk
关闭chronyd
systemctl stop chronyd && systemctl disable chronyd
mv /etc/chrony.conf /etc/chrony.conf.bak
关闭avahi-daemon(zeroconf 协议的服务)
systemctl stop avahi-daemon && systemctl disable avahi-daemon
添加用户和属组
groupadd dgdba && groupadd kmdba && groupadd asmdba
groupadd asmoper && groupadd asmadmin && groupadd racdba
groupadd oinstall && groupadd dba && groupadd oper && groupadd backupdba
添加oracle用户
useradd -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,asmoper,asmadmin,racdba oracle \
&& echo "oracle" | passwd oracle --stdin
添加asm用户
useradd -g oinstall -G dba,asmoper,asmdba,asmadmin grid \&& echo "oracle" | passwd grid --stdin
添加asm路径
asm_base='/oracle/app/grid'
mkdir -p ${asm_base}/ && chmod -R 775 /oracle
mkdir -p /oracle/app/12.2.0/grid/product/db_1/ && chown -R grid:oinstall /oracle
添加oracle 路径
orcl_base='/oracle/app/oracle'
mkdir -p ${orcl_base}/product/12.2.0/db_1 \&& chown -R oracle:oinstall ${orcl_base}
创建 Oracle Inventory 目录
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
修改资源限制
echo "fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
sysctl -p
echo "oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
grid soft nproc 16384
grid hard nproc 16384
grid soft nofile 65536
grid hard nofile 65536
grid soft stack 10240
grid hard stack 10240" >> /etc/security/limits.d/20-nproc.conf
echo "session required /lib64/security/pam_limits.so
session required pam_limits.so" >> /etc/pam.d/login
echo "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
" >> /etc/profile
修改oracle环境变量(安装节点时注意更改SID名称)
export ORACLE_SID=zycdb1
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export LIBPATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
umask 022
修改asm用户环境变量(安装节点时注意更改SID名称)
export ORACLE_SID=+ASM1
export ORACLE_BASE=/oracle/app/grid
export ORACLE_HOME=/oracle/app/12.2.0/grid/product/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LIBPATH=$ORACLE_HOME/lib
udev磁盘绑定:
for i in b c;
do
echo "KERNEL==\"sd*\", ENV{DEVTYPE}==\"disk\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d \$devnode\", RESULT==\"`/usr/lib/udev/scsi_id -g -u /dev/sd$i`\", RUN+=\"/bin/sh -c 'mknod /dev/asmdisk$i b \$major \$minor; chown grid:asmadmin /dev/asmdisk$i; chmod 0660 /dev/asmdisk$i'\"" >/etc/udev/rules.d/99-oracle-asmdevices.rules
done
udevadm control --reload-rulesre
udevadm trigger —type=devices —action=change
解压安装包到grid-home目录
unzip -d /oracle/app/12.2.0/grid/product/db_1/ LINUX.X64_193000_grid_home.zip
grid安装前预检查
./runcluvfy.sh stage -pre crsinst -n rac01,rac02 -verbose
检查过程中如果提示缺少cvuqdisk,可以在grid软件目录中进行find查找并安装。
到grid-home目录执行安装脚本gridSetup.sh
配置互信方式可以采用图形界面也可以采用命令行界面。
方式一:图形化互信配置
方式二:代码配置互信
#在rac01节点操作
su - oracle
ssh-keygen -t rsa
Generating public/private rsa key pair.
ssh-keygen -t dsa
#在oracle-rac01
cd .ssh
cat id_dsa.pub >>authorized_keys && cat id_rsa.pub >> authorized_keys
ssh rac02 cat ~/.ssh/id_dsa.pub >> authorized_keys \
ssh rac02 cat ~/.ssh/id_rsa.pub >> authorized_keys
scp authorized_keys rac02:~/.ssh
#检查配置是否成功
ssh rac02 date && ssh rac02-priv date && ssh rac01 date && ssh rac01-priv date
不安装集群配置管理库。如果安装建议单独分配磁盘。在这有点区别,12选no也会强制装,而且不能将mgmtdb单独装在一个磁盘,导致ocr磁盘不能少于40g。18的时候可以单独分,19选择no不装。
按要求执行脚本完成grid的安装。
以下配置asm磁盘,在命令行窗口执行asmca。
Asm 磁盘配置完成
以下安装database软件
将database安装包解压到oracle-home目录,执行runinstaller。
database软件安装完成
以下在命令行执行dbca,创建数据库
点击finsh,等待安装完成。
切换到grid用户,执行crsctl status res -t 检查集群运行情况。