前言
這兩天看到交流群里有朋友咨詢 SUSE 15 SP3 安裝 Oracle 19C RAC 遇到點(diǎn)問題,趁著周末有時(shí)間,抱著學(xué)習(xí)的心態(tài),研究了一下如何安裝,接下來就分享一下從零開始部署的流程!
總體來說,和 RHEL 部署流程上大同小異,主要是有一些命令不一樣,廢話不多說直接開始了~
一、安裝 SUSE 15 SP3
首先,我們?nèi)ス倬W(wǎng)下載 15 SP3 的安裝鏡像:SUSE Linux Enterprise Server

鏡像比較大,大概 12G 左右,開始安裝系統(tǒng)!
本次演示的是 Parallel Desktop 虛擬機(jī)安裝,其他虛擬機(jī)一樣:

選取下載好的安裝介質(zhì)后,虛擬機(jī)名字為 SUSE01
:

由于是 19C RAC,因此配置物理內(nèi)存為 8G:

至少需要2張網(wǎng)卡,因此添加一個(gè)網(wǎng)卡作為心跳:

掛載官網(wǎng)下載好的鏡像源:

繼續(xù):


上面的步驟,其他的虛擬機(jī)或許不一樣,下面的正式開始安裝流程都是一致的:





選擇語言環(huán)境和版本:



跳過注冊(cè):

建議安裝過程中直接配置網(wǎng)絡(luò):

兩張網(wǎng)卡,一張 eth0 用于公網(wǎng),一張 eth1 用于心跳:
eth0:


eth1:


已配置好兩張網(wǎng)卡:

配置主機(jī)名:


繼續(xù)安裝:







手工配置系統(tǒng)分區(qū):


首先創(chuàng)建一個(gè) /boot 分區(qū):




將剩余磁盤空間創(chuàng)建為 LVM,用于系統(tǒng)安裝:




創(chuàng)建 rootvg 分區(qū):




創(chuàng)建 swaplv 分區(qū):






創(chuàng)建根分區(qū) rootlv:







選擇時(shí)區(qū):

不創(chuàng)建用戶:

輸入 root 密碼:


關(guān)閉防火墻和kdump:




開始安裝:

安裝完成:

以同樣的步驟安裝第二個(gè)節(jié)點(diǎn)!
二、安裝前配置
安裝RAC前,當(dāng)然要先做好規(guī)劃。具體包含以下幾方面:
節(jié)點(diǎn) | 系統(tǒng) | Oracle版本 | 主機(jī)名 | 實(shí)例名 | PublicIP | PirvateIP | VirtualIP | SCANIP |
---|
1 | SLSE 15 SP3 | 19C | suse01 | orcl1 | 10.211.55.100 | 10.10.10.1 | 10.211.55.102 | 10.211.55.105 |
2 | SLSE 15 SP3 | 19C | suse02 | orcl2 | 10.211.55.101 | 10.10.10.2 | 10.211.55.103 | 10.211.55.105 |
1、系統(tǒng)規(guī)劃
- 主機(jī)名: 需要英文字母開頭,建議小寫,suse01/suse02
- 集群名稱: 長(zhǎng)度不超過15位,suse-cluster
- Linux系統(tǒng)版本: SLSE 15 SP3
- 磁盤: 本地磁盤 64G,用于安裝 OS,存放 grid 和 oracle 安裝軟件,用于 oracle 和 grid 安裝目錄
- ASM共享盤:
裁決盤OCR:OCR+VOTING=10G、冗余模式:EXTERNAL
數(shù)據(jù)盤DATA:DATA=20G、冗余模式:EXTERNAL(數(shù)據(jù)文件,歸檔日志文件,spfile 文件等) - RU升級(jí)路徑: 19C 的補(bǔ)丁已經(jīng)不叫PSU,改為 RU
本次是從 19.3.0 升級(jí)到 19.13.0,Oracle 官網(wǎng)下載的基礎(chǔ)版是 19.3.0!
?? 如果想要使用腳本安裝,可以使用博主編寫的 Oracle 一鍵安裝腳本,同時(shí)支持單機(jī)和 RAC 集群模式!
開源項(xiàng)目:Install Oracle Database By Scripts!
更多更詳細(xì)的腳本使用方式可以訂閱專欄:Oracle一鍵安裝腳本。
2、網(wǎng)絡(luò)規(guī)劃
Public IP(公司內(nèi)部訪問,非外網(wǎng))
10.211.55.100 suse01
10.211.55.101 suse02
Private IP(用于節(jié)點(diǎn)間心跳網(wǎng)絡(luò))
10.10.10.1 suse01-priv
10.10.10.2 suse02-priv
Virtual IP(提供客戶端訪問,漂移)
10.211.55.102 suse01-vip
10.211.55.103 suse02-vip
SCAN IP(提供客戶端訪問,均衡)
10.211.55.105 suse-scan
3、存儲(chǔ)規(guī)劃
Oracle RAC 使用 ASM 存儲(chǔ)來存放數(shù)據(jù),通常使用 OCR 和 DATA 兩個(gè)磁盤組!
磁盤名稱 | 磁盤用途 | 磁盤大小 |
---|
asm-ocr | OCR/Voting File | 10G |
asm-data | Data Files | 20G |
三、主機(jī)配置
📢 注意: 以下標(biāo)題中(rac01&rac02)代表節(jié)點(diǎn)一和節(jié)點(diǎn)二都需要執(zhí)行,(rac01)代表只需要節(jié)點(diǎn)一執(zhí)行。
1、配置 zypper 源并安裝依賴包(rac01&rac02)
Linux遠(yuǎn)程連接工具:
- 本文將使用XShell和Xftp工具,安裝包可以在官網(wǎng)下載,也可私信博主獲取。
- 其他工具也可以,比如:putty,SecureCRT 等等工具。

Parallels Desktop掛載Linux主機(jī)鏡像:

掛載鏡像:
mount /dev/cdrom /mnt
df -Th /mnt

配置 zypper 源:
zypper ar -f /mnt/Module-Basesystem sle15
zypper ar -f /mnt/Module-Legacy sle15-Legacy
zypper ar -f /mnt/Module-Development-Tools sle15-Tools

安裝依賴包:
zypper in -y gcc bc binutils glibc glibc-devel insserv-compat libaio-devel libaio1 libX11-6 libXau6 libXext-devel libXext6 libXi-devel libXi6 libXrender-devel libXrender1 libXtst6 libcap-ng-utils libcap-ng0 libcap-progs libcap1 libcap2 libelf1 libgcc_s1 libjpeg8 libpcap1 libpcre1 libpcre16-0 libpng16-16 libstdc++6 libtiff5 libgfortran4 mksh make pixz rdma-core rdma-core-devel smartmontools sysstat xorg-x11-libs xz compat-libpthread-nonshared readline-devel
檢查依賴包安裝情況:
rpm -q gcc bc binutils glibc glibc-devel insserv-compat libaio-devel libaio1 libX11-6 libXau6 libXext-devel libXext6 libXi-devel libXi6 libXrender-devel libXrender1 libXtst6 libcap-ng-utils libcap-ng0 libcap-progs libcap1 libcap2 libelf1 libgcc_s1 libjpeg8 libpcap1 libpcre1 libpcre16-0 libpng16-16 libstdc++6 libtiff5 libgfortran4 mksh make pixz rdma-core rdma-core-devel smartmontools sysstat xorg-x11-libs xz compat-libpthread-nonshared readline-devel --qf '%{name}.%{arch}\n' | grep "未安裝軟件包" | wc -l

📢 注意: 依賴一定要安裝成功,否則可能導(dǎo)致安裝失敗!
2、用戶及組、目錄創(chuàng)建(rac01&rac02)
創(chuàng)建安裝 Oracle 數(shù)據(jù)庫所需的用戶、組以及安裝目錄:
/usr/sbin/groupadd -g 54321 oinstall
/usr/sbin/groupadd -g 54322 dba
/usr/sbin/groupadd -g 54323 oper
/usr/sbin/groupadd -g 54324 backupdba
/usr/sbin/groupadd -g 54325 dgdba
/usr/sbin/groupadd -g 54326 kmdba
/usr/sbin/groupadd -g 54330 racdba
/usr/sbin/groupadd -g 54327 asmdba
/usr/sbin/groupadd -g 54328 asmoper
/usr/sbin/groupadd -g 54329 asmadmin

grid/oracle 用戶創(chuàng)建并修改密碼:
/usr/sbin/useradd -m -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba,oper grid
passwd grid
/usr/sbin/useradd -m -u 54321 -g oinstall -G asmdba,dba,backupdba,dgdba,kmdba,racdba,oper oracle
passwd oracle

查看用戶組
id grid
id oracle

3、創(chuàng)建軟件目錄:
mkdir -p /u01/app/19.3.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle/product/19.3.0/db
mkdir -p /u01/app/oraInventory
mkdir -p /backup
mkdir -p /home/oracle/scripts
chown -R oracle:oinstall /backup
chown -R oracle:oinstall /home/oracle/scripts
chown -R grid:oinstall /u01
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/19.3.0/grid
chown -R grid:oinstall /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01

4、存儲(chǔ)配置(rac01&rac02)
Windows 下配置 ISCSI 共享存儲(chǔ)可參考:
一步步教你Windows配置ISCSI共享存儲(chǔ)
配置好共享存儲(chǔ)后,在 Linux 主機(jī)連接共享存儲(chǔ):
##iscsi識(shí)別共享存儲(chǔ)
##輸出targetname,10.211.55.61 為iscsi共享存儲(chǔ)設(shè)備 IP地址
iscsiadm -m discovery -t st -p 10.211.55.61

##連接共享存儲(chǔ)
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:10.211.55.61-lucifer -p 10.211.55.61 -l
lsblk
## 設(shè)置開機(jī)自啟動(dòng)
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:10.211.55.61-lucifer -p 10.211.55.61 -o update -n node.startup -v automatic

5、UDEV 配置共享存儲(chǔ):
設(shè)置 multipath 開機(jī)自啟:
systemctl start multipathd
systemctl enable multipathd
systemctl status multipathd
配置 multipath 文件:
cat <<EOF >/etc/multipath.conf
defaults {
user_friendly_names yes
}
blacklist {
devnode "^sda"
}
multipaths {
multipath {
wwid "$(/usr/lib/udev/scsi_id -g -u /dev/sdb)"
alias ocr_1
}
multipath {
wwid "$(/usr/lib/udev/scsi_id -g -u /dev/sdc)"
alias data_1
}
}
EOF
激活 multipath:
multipath -v2
multipath -ll

綁定 UDEV:
cd /dev/mapper
for i in ocr_* data_*; do
printf "%s %s\n" "$i" "$(udevadm info --query=all --name=/dev/mapper/"$i" | grep -i dm_uuid)" >>udev_info
done
while read -r line; do
dm_uuid=$(echo "$line" | awk -F'=' '{print $2}')
disk_name=$(echo "$line" | awk '{print $1}')
echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${dm_uuid}\",SYMLINK+=\"asm_${disk_name}\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\"" >>/etc/udev/rules.d/99-oracle-asmdevices.rules
done </dev/mapper/udev_info
cat /etc/udev/rules.d/99-oracle-asmdevices.rules

生效 UDEV:
udevadm control --reload-rules
udevadm trigger --type=devices
ll /dev/asm_*

6、hosts文件配置(rac01&rac02)
配置hostname:
hostnamectl set-hostname suse01
hostnamectl set-hostname suse02
配置hosts文件:
cat <<EOF>>/etc/hosts
#Public IP
10.211.55.100 suse01
10.211.55.101 suse02
#Private IP
10.10.10.1 suse01-priv
10.10.10.2 suse02-priv
#Vip IP
10.211.55.102 suse01-vip
10.211.55.103 suse02-vip
#Scan IP
10.211.55.105 suse-scan
EOF

7、防火墻配置(rac01&rac02)
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

8、時(shí)間同步配置(rac01&rac02)
禁用 chronyd:
zypper in -y chrony
timedatectl set-timezone Asia/Shanghai
systemctl stop chronyd.service
systemctl disable chronyd.service
systemctl status chronyd.service

配置ntpdate時(shí)間同步計(jì)劃任務(wù):
zypper in -y ntp
##10.211.55.61 為時(shí)間服務(wù)器IP,每天12點(diǎn)同步系統(tǒng)時(shí)間
cat <<EOF>>/var/spool/cron/root
00 12 * * * /usr/sbin/ntpdate -u 10.211.55.61 && /usr/sbin/hwclock -w
EOF
##查看計(jì)劃任務(wù)
crontab -l
##手動(dòng)執(zhí)行
/usr/sbin/ntpdate -u 10.211.55.61 && /usr/sbin/hwclock -w
9、關(guān)閉透明大頁和NUMA(rac01&rac02)
SUSE 15 SP3 配置內(nèi)核文件,關(guān)閉透明大頁和numa:
sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg

重啟后檢查是否生效:
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /proc/cmdline
📢 注意: 關(guān)閉 透明大頁
和 numa
的配置,需要重啟主機(jī)生效!
10、avahi-daemon 配置(rac01&rac02)
有些主機(jī)安裝選擇最小化安裝,沒有安裝 avahi-daemon 功能,建議安裝之后禁用,防止以后誤操作導(dǎo)致出問題:
zypper in -y avahi*
systemctl stop avahi-daemon.socket
systemctl stop avahi-daemon.service
pgrep -f avahi-daemon | awk '{print "kill -9 "$2}'
systemctl disable avahi-daemon.service
systemctl disable avahi-daemon.socket
systemctl status avahi-daemon.service
systemctl status avahi-daemon.socket

11、removeIPC
sed -i 's/#RemoveIPC=no/RemoveIPC=no/g' /etc/systemd/logind.conf
systemctl daemon-reload
systemctl restart systemd-logind

12、系統(tǒng)參數(shù)配置(rac01&rac02)
安裝 Oracle 數(shù)據(jù)庫需要配置系統(tǒng)參數(shù),以下使用腳本命令一鍵式配置:
memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}')
totalMemory=$((memTotal / 2048))
shmall=$((memTotal / 4))
if [ $shmall -lt 2097152 ]; then
shmall=2097152
fi
shmmax=$((memTotal * 1024 - 1))
if [ "$shmmax" -lt 4294967295 ]; then
shmmax=4294967295
fi
cat <<EOF >>/etc/sysctl.conf
#OracleBegin
##shmmal's Calculation formula: physical memory 8G:(8*1024*1024*1024)/4096=2097152
##shmmax's Calculation formula: physical memory 8G:(8/2)*1024*1024*1024 -1=4294967295
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = $shmall
kernel.shmmax = $shmmax
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
#OracleEnd
EOF
生效系統(tǒng)參數(shù):
sysctl -p

13、系統(tǒng)資源限制配置(rac01&rac02)
配置limits.conf:
cat <<EOF>>/etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle hard memlock 134217728
oracle soft memlock 134217728
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
grid soft nproc 2047
grid hard nproc 16384
EOF

配置 pam.d/login:
cat <<EOF>>/etc/pam.d/login
session required pam_limits.so
session required /lib64/security/pam_limits.so
EOF

配置 shm:
memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}')
cat <<EOF >>/etc/fstab
tmpfs /dev/shm tmpfs size=${memTotal}k 0 0
EOF
mount -o remount /dev/shm
df -Th /dev/shm

14、安裝 rlwrap
cd /soft
tar -xf rlwrap-0.42.tar.gz
cd rlwrap-0.42
./configure && make && make install
cd /soft
rm -rf rlwrap-0.42*
15、環(huán)境變量配置(rac01&rac02)
root 用戶環(huán)境變量:
cat <<EOF >>/root/.profile
################OracleBegin#########################
alias so='su - oracle'
export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '
alias crsctl='/u01/app/19.3.0/grid/bin/crsctl'
alias sg='su - grid'
################OracleEnd###########################
EOF
grid 用戶環(huán)境變量:
cat <<EOF >>/home/grid/.profile
################OracleBegin#########################
umask 022
export TMP=/tmp
export TMPDIR=\$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.3.0/grid
export ORACLE_TERM=xterm
export TNS_ADMIN=\$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=+ASM1
export PATH=/usr/sbin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH
alias sas='sqlplus / as sysasm'
export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias lsnrctl='rlwrap lsnrctl'
alias asmcmd='rlwrap asmcmd'
alias adrci='rlwrap adrci'
################OracleEnd###########################
EOF
📢 注意: 每個(gè)節(jié)點(diǎn)的 ORACLE_SID 不一樣(+ASM1/+ASM2),需要自行修改!
oracle用戶環(huán)境變量:
cat <<EOF >>/home/oracle/.profile
################OracleBegin#########################
umask 022
export TMP=/tmp
export TMPDIR=\$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db
export ORACLE_HOSTNAME=suse01
export ORACLE_TERM=xterm
export TNS_ADMIN=\$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=orcl1
export PATH=/usr/sbin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH
alias sas='sqlplus / as sysdba'
alias alert='tail -500f \$ORACLE_BASE/diag/rdbms/\$ORACLE_SID/\$ORACLE_SID/trace/alert_\$ORACLE_SID.log|more'
export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias lsnrctl='rlwrap lsnrctl'
alias asmcmd='rlwrap asmcmd'
alias adrci='rlwrap adrci'
alias ggsci='rlwrap ggsci'
alias dgmgrl='rlwrap dgmgrl'
################OracleEnd###########################
EOF
📢 注意: 每個(gè)節(jié)點(diǎn)的 ORACLE_HOSTNAME(suse01/suse02)和 ORACLE_SID(orcl1/orcl2)不一樣,需要自行修改!
16、安裝介質(zhì)上傳解壓(rac01)
安裝包使用 XFTP 工具進(jìn)行上傳,只需要上傳至一節(jié)點(diǎn) /soft 目錄下:
##上傳安裝介質(zhì)到/soft目錄
LINUX.X64_193000_db_home.zip
LINUX.X64_193000_grid_home.zip
p33182768_190000_Linux-x86-64.zip
p6880880_190000_Linux-x86-64.zip

📢 注意: 19C 的安裝包需要解壓到對(duì)應(yīng)的 ORACLE_HOME 目錄下!
靜默解壓grid安裝包:
chown -R grid:oinstall /soft
su - grid -c "unzip -q /soft/LINUX.X64_193000_grid_home.zip -d /u01/app/19.3.0/grid/"
靜默解壓oracle安裝包:
chown -R oracle:oinstall /soft
su - oracle -c "unzip -q /soft/LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/db/"
靜默解壓 RU 補(bǔ)丁安裝包:
cd /soft
chown -R grid:oinstall /soft
su - grid -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/19.3.0/grid"
su - grid -c "unzip -q /soft/p33182768_190000_Linux-x86-64.zip -d /soft"
chown -R oracle:oinstall /soft
su - oracle -c "unzip -q -o /soft/p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/db"
chown -R grid:oinstall /soft/33182768
📢 注意: 由于19C支持安裝grid軟件前打RU補(bǔ)丁,因此提前解壓OPatch和RU補(bǔ)丁,為安裝做準(zhǔn)備!
root用戶下,cvuqdisk安裝(rac01&rac02):
rpm -ivh /u01/app/19.3.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
##傳輸?shù)焦?jié)點(diǎn)二安裝
scp /u01/app/19.3.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm suse02:/soft
rpm -ivh /soft/cvuqdisk-1.0.10-1.rpm

📢 注意: 19C 版本的 cvu 包換位置了,目錄為:$ORACLE_HOME/cv/rpm/
,以上所有軟件只需要在節(jié)點(diǎn)一上傳解壓即可。
至此,準(zhǔn)備工作已經(jīng)完成,安裝前重啟主機(jī)!
重啟后,檢查 numa 和透明大頁:

📢 注意: 重啟后別忘記兩個(gè)節(jié)點(diǎn) ISCSI 連接共享存儲(chǔ):
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:10.211.55.61-lucifer -p 10.211.55.61 -l
四、安裝Grid軟件(rac01)
關(guān)于 VNC
配置具體可參考文章:
Linux 配置 VNC 遠(yuǎn)程桌面
配置 grid 用戶 vnc 圖形界面:
##root用戶下切換到grid用戶
chown -R grid:oinstall /soft
su - grid
##執(zhí)行vncserver,按提示輸入密碼即可
vncserver

在 vnc 客戶端界面輸入 10.211.55.100:2,輸入剛才輸入的密碼即可連接:

打開終端命令行:

開始安裝:
source ~/.profile
cd $ORACLE_HOME
##執(zhí)行安裝程序開始安裝,通過-applyRU參數(shù)指向補(bǔ)丁解壓位置,提前安裝grid補(bǔ)丁
./gridSetup.sh -applyRU /soft/33182768

📢 注意: 可以看到,已經(jīng)開始對(duì) ORACLE_HOME 進(jìn)行補(bǔ)丁安裝。
補(bǔ)丁打完,進(jìn)入安裝界面,選擇集群安裝:

選擇 standlone 模式:

修改 scan 名稱,與 hosts 文件配置 scan 名稱保持一致:

添加節(jié)點(diǎn)二信息,進(jìn)行互信:

輸入 grid 用戶密碼,創(chuàng)建用戶時(shí)兩節(jié)點(diǎn)必須保持一致。先執(zhí)行 setup,再執(zhí)行 test,開始互信:


確保對(duì)應(yīng)網(wǎng)卡和IP網(wǎng)段對(duì)應(yīng)即可,19C 心跳網(wǎng)段需要選 ASM & Private,用于 ASM 實(shí)例的托管:

選擇存儲(chǔ)類型,19C 只有兩個(gè)選項(xiàng),ASM 只能選 Flex:

GIMR,這里不選擇安裝:

安裝時(shí)填創(chuàng)建 OCR 盤,一塊盤冗余 External,目錄選擇 udev 綁的路徑:

填寫 sys/system 密碼,需要記住自己設(shè)置的密碼:

默認(rèn)即可:

EM 選擇不開,比較占資源,后面安裝好后可以配置:

默認(rèn)即可:




安裝預(yù)檢查:

兩個(gè)節(jié)點(diǎn)執(zhí)行依賴安裝:
zypper in -y libcap-ng0-32bit libcap1-32bit libcap2-32bit libgcc_s1-32bit libXtst6-32bit nfs-kernel-server libXi6-32bit libXrender1-32bit libpcre1-32bit libpng16-16-32bit libstdc++6-32bit libaio1-32bit
重新檢查后,剩下的報(bào)錯(cuò)都是 DNS 相關(guān)的,可直接忽略:

開始安裝 grid:


兩節(jié)點(diǎn)順序執(zhí)行 root.sh,先節(jié)點(diǎn)一執(zhí)行完,再節(jié)點(diǎn)二執(zhí)行:

兩個(gè)節(jié)點(diǎn)的 root.sh 都執(zhí)行完之后,繼續(xù)安裝:

這個(gè)錯(cuò)誤查過 MOS 可以忽略:

安裝完成:

檢查集群狀態(tài):
crsctl stat res -t

檢查 grid 補(bǔ)丁:
su - grid
opatch lspatches
sqlplus -version

五、創(chuàng)建 ASM 數(shù)據(jù)盤 DATA
這里創(chuàng)建的 DATA 磁盤組主要用于存放數(shù)據(jù)文件、日志文件等數(shù)據(jù)庫文件!
使用圖形化方式添加 ASM DATA 數(shù)據(jù)盤:
asmca




檢查 asm 磁盤:
asmcmd lsdg

建議重啟兩臺(tái)主機(jī),檢查重啟后 Grid 集群是否正常運(yùn)行!
六、安裝Oracle軟件
配置 oracle 用戶 vnc 圖形界面:
chown -R oracle:oinstall /soft
##root用戶下切換到grid用戶
su - oracle
##執(zhí)行vncserver,按提示輸入密碼即可
vncserver
##在vnc客戶端界面輸入10.211.55.100:1,輸入剛才輸入的密碼即可連接。

在 vnc 客戶端界面輸入 10.211.55.100:1,輸入剛才輸入的密碼即可連接:

右鍵打開終端:

開始安裝:
##應(yīng)用環(huán)境變量
source ~/.profile
##進(jìn)入ORACLE_HOME目錄
cd $ORACLE_HOME
##執(zhí)行安裝程序開始安裝,加上jar包防止彈窗不顯示問題
./runInstaller -applyRU /soft/33182768

📢 注意: 可以看到,已經(jīng)開始對(duì) ORACLE_HOME 進(jìn)行補(bǔ)丁安裝!
補(bǔ)丁打完,進(jìn)入安裝界面,選擇僅安裝 Oracle 軟件:

選擇集群模式:

輸入 oracle 用戶密碼,先執(zhí)行 setup,再執(zhí)行 test,開始互信:


選擇企業(yè)版:

默認(rèn)即可:



安裝預(yù)檢查,由于我們只配了一個(gè) SCAN,所以關(guān)于 DNS 相關(guān)的都無視,繼續(xù):

開始安裝:


root 用戶下,兩個(gè)節(jié)點(diǎn)順序執(zhí)行 root.sh:

安裝完成:

檢查補(bǔ)丁版本:
su - oracle
opatch lspatches
sqlplus -version

七、創(chuàng)建數(shù)據(jù)庫實(shí)例
這里建庫還是在第四步安裝 Oracle 軟件的 vnc 界面中繼續(xù):
dbca

選擇創(chuàng)建數(shù)據(jù)庫實(shí)例:

選擇自定義模式:

選擇基礎(chǔ)安裝即可:

選擇節(jié)點(diǎn):

填寫實(shí)例名orcl,由于默認(rèn)添加為1,2,實(shí)例名規(guī)劃為orcl1/2;選擇安裝 CDB 模式,不創(chuàng)建PDB:

默認(rèn)即可,使用 OMF 模式:

不開閃回,不開歸檔,可以建完實(shí)例后再配置:


配置內(nèi)存,使用 ASMM 模式,數(shù)據(jù)庫總內(nèi)存占用物理內(nèi)存 70%-90% 之間:

使用基礎(chǔ)模式安裝,block_size 是無法修改的,process 進(jìn)程數(shù)修改為1500,根據(jù)實(shí)際情況修改:

配置數(shù)據(jù)庫字符集,默認(rèn) AL32UTF8,國(guó)家字符集,默認(rèn) AL16UTF16;根據(jù)實(shí)際情況修改:

建議全關(guān)掉,有可能導(dǎo)致 bug:

填寫sys/system密碼:

默認(rèn)即可:

安裝預(yù)檢查,DNS 相關(guān)忽略:

開始安裝:



經(jīng)過漫長(zhǎng)的等待,數(shù)據(jù)庫建完了:

至此,數(shù)據(jù)庫實(shí)例創(chuàng)建完成!
八、數(shù)據(jù)庫優(yōu)化配置(rac01)
1、開啟數(shù)據(jù)庫歸檔模式
關(guān)于開啟歸檔模式,具體可參考文章:
Oracle 開啟歸檔模式
##關(guān)閉數(shù)據(jù)庫實(shí)例
srvctl stop database -d orcl
##開啟單個(gè)節(jié)點(diǎn)到mount模式
srvctl start instance -d orcl -i orcl1 -o mount
##開啟歸檔
sqlplus / as sysdba
alter database archivelog;
##設(shè)置歸檔路徑
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=+DATA';
exit;
##重啟數(shù)據(jù)庫實(shí)例
srvctl stop instance -d orcl -i orcl1
srvctl start database -d orcl
##檢查歸檔
sqlplus / as sysdba
archive log list
2、配置定期刪除歸檔計(jì)劃任務(wù)
關(guān)于歸檔日志刪除,具體可參考文章:
Oracle RMAN刪除歸檔日志腳本
##進(jìn)入oracle用戶
su - oracle
mkdir -p /home/oracle/scripts/
##寫入腳本
{
echo '#!/bin/bash'
echo 'source ~/.profile'
echo 'deltime=`date +"20%y%m%d%H%M%S"`'
echo "rman target / nocatalog msglog /home/oracle/scripts/del_arch_\${deltime}.log<<EOF"
echo 'crosscheck archivelog all;'
echo "delete noprompt archivelog until time 'sysdate-7';"
echo "delete noprompt force archivelog until time 'SYSDATE-10';"
echo 'EOF'
} >>/home/oracle/scripts/del_arch.sh
chmod +x /home/oracle/scripts/del_arch.sh
切換到 oracle 用戶寫入計(jì)劃任務(wù):
cat <<EOF>>/var/spool/cron/oracle
12 00 * * * /home/oracle/scripts/del_arch.sh
EOF
##手動(dòng)執(zhí)行測(cè)試
su - oracle
/home/oracle/scripts/del_arch.sh
3、配置數(shù)據(jù)庫開機(jī)自啟
配置數(shù)據(jù)庫實(shí)例隨集群服務(wù)自啟動(dòng):
##root用戶下執(zhí)行
/u01/app/19.3.0/grid/bin/crsctl modify resource "ora.orcl.db" -attr "AUTO_START=always" -unsupported
📢 注意: ora.orcl.db
中的 orcl 是指 db 名稱;需要在 root 用戶下執(zhí)行!
所有都配置完成之后,關(guān)閉數(shù)據(jù)庫,重啟主機(jī)!