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 檢查集羣運行情況。