大家好,這里是 Lucifer三思而后行,專注于提升數據庫運維效率。
目錄
- 前言
- 一、安裝 SUSE 15 SP3
- 二、安裝前配置
- 三、主機配置
- 1、配置 zypper 源并安裝依賴包(rac01&rac02)
- 2、用戶及組、目錄創建(rac01&rac02)
- 3、創建軟件目錄:
- 4、存儲配置(rac01&rac02)
- 5、UDEV 配置共享存儲:
- 6、hosts文件配置(rac01&rac02)
- 7、防火墻配置(rac01&rac02)
- 8、時間同步配置(rac01&rac02)
- 9、關閉透明大頁、HLE和NUMA(rac01&rac02)
- 10、avahi-daemon 配置(rac01&rac02)
- 11、removeIPC
- 12、系統參數配置(rac01&rac02)
- 13、系統資源限制配置(rac01&rac02)
- 14、安裝 rlwrap
- 15、環境變量配置(rac01&rac02)
- 16、安裝介質上傳解壓(rac01)
- 四、安裝Grid軟件(rac01)
- 五、創建 ASM 數據盤 DATA
- 六、安裝Oracle軟件
- 七、創建數據庫實例
- 八、數據庫優化配置(rac01)
- 往期精彩文章
前言
這兩天看到交流群里有朋友咨詢 SUSE 15 SP3 安裝 Oracle 19C RAC 遇到點問題,趁著周末有時間,抱著學習的心態,研究了一下如何安裝,接下來就分享一下從零開始部署的流程!
總體來說,和 RHEL 部署流程上大同小異,主要是有一些命令不一樣,廢話不多說直接開始了~
?? Oracle安裝包合集和補丁下載地址:2021年Oracle第三季度補丁合集
?? 如果想要使用腳本安裝,可以使用博主編寫的 Oracle 一鍵安裝腳本,同時支持單機和 RAC 集群模式!
更多更詳細的腳本使用方式可以訂閱專欄:Oracle 一鍵安裝腳本實操合集,持續更新中!??!。
一、安裝 SUSE 15 SP3
首先,我們去官網下載 15 SP3 的安裝鏡像:SUSE Linux Enterprise Server

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

選取下載好的安裝介質后,虛擬機名字為 SUSE01:

由于是 19C RAC,因此配置物理內存為 8G:

至少需要2張網卡,因此添加一個網卡作為心跳:

掛載官網下載好的鏡像源:

繼續:


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





選擇語言環境和版本:



跳過注冊:

建議安裝過程中直接配置網絡:

兩張網卡,一張 eth0 用于公網,一張 eth1 用于心跳:
eth0:


eth1:


已配置好兩張網卡:

配置主機名:


繼續安裝:







手工配置系統分區:


首先創建一個 /boot 分區:




將剩余磁盤空間創建為 LVM,用于系統安裝:




創建 rootvg 分區:




創建 swaplv 分區:






創建根分區 rootlv:







選擇時區:

不創建用戶:

輸入 root 密碼:


關閉防火墻和kdump:




開始安裝:

安裝完成:

以同樣的步驟安裝第二個節點!
二、安裝前配置
安裝RAC前,當然要先做好規劃。具體包含以下幾方面:
| 節點 | 系統 | Oracle版本 | 主機名 | 實例名 | 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、系統規劃
- 主機名: 需要英文字母開頭,建議小寫,suse01/suse02
- 集群名稱: 長度不超過15位,suse-cluster
- Linux系統版本: SLSE 15 SP3
- 磁盤: 本地磁盤 64G,用于安裝 OS,存放 grid 和 oracle 安裝軟件,用于 oracle 和 grid 安裝目錄
- ASM共享盤:
裁決盤OCR:OCR+VOTING=10G、冗余模式:EXTERNAL
數據盤DATA:DATA=20G、冗余模式:EXTERNAL(數據文件,歸檔日志文件,spfile 文件等) - RU升級路徑: 19C 的補丁已經不叫PSU,改為 RU
本次是從 19.3.0 升級到 19.13.0,Oracle 官網下載的基礎版是 19.3.0!
?? 如果想要使用腳本安裝,可以使用博主編寫的 Oracle 一鍵安裝腳本,同時支持單機和 RAC 集群模式!
更多更詳細的腳本使用方式可以訂閱專欄:Oracle一鍵安裝腳本。
2、網絡規劃
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
Virtual IP(提供客戶端訪問,漂移)
10.211.55.102 suse01-vip 10.211.55.103 suse02-vip
SCAN IP(提供客戶端訪問,均衡)
10.211.55.105 suse-scan
3、存儲規劃
Oracle RAC 使用 ASM 存儲來存放數據,通常使用 OCR 和 DATA 兩個磁盤組!
| 磁盤名稱 | 磁盤用途 | 磁盤大小 |
|---|---|---|
| asm-ocr | OCR/Voting File | 10G |
| asm-data | Data Files | 20G |
三、主機配置
?? 注意: 以下標題中(rac01&rac02)代表節點一和節點二都需要執行,(rac01)代表只需要節點一執行。
1、配置 zypper 源并安裝依賴包(rac01&rac02)
Linux遠程連接工具:
- 本文將使用XShell和Xftp工具,安裝包可以在官網下載,也可私信博主獲取。
- 其他工具也可以,比如:putty,SecureCRT 等等工具。

Parallels Desktop掛載Linux主機鏡像:

掛載鏡像:
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

?? 注意: 依賴一定要安裝成功,否則可能導致安裝失敗!
2、用戶及組、目錄創建(rac01&rac02)
創建安裝 Oracle 數據庫所需的用戶、組以及安裝目錄:
/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 用戶創建并修改密碼:
/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、創建軟件目錄:
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、存儲配置(rac01&rac02)
Windows 下配置 ISCSI 共享存儲可參考:
配置好共享存儲后,在 Linux 主機連接共享存儲:
##iscsi識別共享存儲
##輸出targetname,10.211.55.61 為iscsi共享存儲設備 IP地址
iscsiadm -m discovery -t st -p 10.211.55.61

##連接共享存儲
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:10.211.55.61-lucifer -p 10.211.55.61 -l
lsblk
## 設置開機自啟動
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 配置共享存儲:
設置 multipath 開機自啟:
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、時間同步配置(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時間同步計劃任務:
zypper in -y ntp
##10.211.55.61 為時間服務器IP,每天12點同步系統時間
cat <<EOF>>/var/spool/cron/root
00 12 * * * /usr/sbin/ntpdate -u 10.211.55.61 && /usr/sbin/hwclock -w
EOF
##查看計劃任務
crontab -l
##手動執行
/usr/sbin/ntpdate -u 10.211.55.61 && /usr/sbin/hwclock -w
9、關閉透明大頁、HLE和NUMA(rac01&rac02)
SUSE 15 SP3 配置內核文件,關閉透明大頁和numa:
sed -i 's/quiet/quiet transparent_hugepage=never numa=off tsx=off/' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg

重啟后檢查是否生效:
cat /sys/kernel/mm/transparent_hugepage/enabled cat /proc/cmdline
?? 注意: 關閉 透明大頁、HLE和 numa 的配置,需要重啟主機生效!
10、avahi-daemon 配置(rac01&rac02)
有些主機安裝選擇最小化安裝,沒有安裝 avahi-daemon 功能,建議安裝之后禁用,防止以后誤操作導致出問題:
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、系統參數配置(rac01&rac02)
安裝 Oracle 數據庫需要配置系統參數,以下使用腳本命令一鍵式配置:
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
生效系統參數:
sysctl -p

13、系統資源限制配置(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、環境變量配置(rac01&rac02)
root 用戶環境變量:
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 用戶環境變量:
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
?? 注意: 每個節點的 ORACLE_SID 不一樣(+ASM1/+ASM2),需要自行修改!
oracle用戶環境變量:
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
?? 注意: 每個節點的 ORACLE_HOSTNAME(suse01/suse02)和 ORACLE_SID(orcl1/orcl2)不一樣,需要自行修改!
16、安裝介質上傳解壓(rac01)
?? Oracle安裝包合集和補丁下載地址:2021年Oracle第三季度補丁合集
安裝包使用 XFTP 工具進行上傳,只需要上傳至一節點 /soft 目錄下:
##上傳安裝介質到/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 的安裝包需要解壓到對應的 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 補丁安裝包:
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補丁,因此提前解壓OPatch和RU補丁,為安裝做準備!
root用戶下,cvuqdisk安裝(rac01&rac02):
rpm -ivh /u01/app/19.3.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
##傳輸到節點二安裝
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/,以上所有軟件只需要在節點一上傳解壓即可。
至此,準備工作已經完成,安裝前重啟主機!
重啟后,檢查 numa 和透明大頁:

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

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

打開終端命令行:

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

?? 注意: 可以看到,已經開始對 ORACLE_HOME 進行補丁安裝。
補丁打完,進入安裝界面,選擇集群安裝:

選擇 standlone 模式:

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

添加節點二信息,進行互信:

輸入 grid 用戶密碼,創建用戶時兩節點必須保持一致。先執行 setup,再執行 test,開始互信:


確保對應網卡和IP網段對應即可,19C 心跳網段需要選 ASM & Private,用于 ASM 實例的托管:

選擇存儲類型,19C 只有兩個選項,ASM 只能選 Flex:

GIMR,這里不選擇安裝:

安裝時填創建 OCR 盤,一塊盤冗余 External,目錄選擇 udev 綁的路徑:

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

默認即可:

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

默認即可:




安裝預檢查:

兩個節點執行依賴安裝:
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
重新檢查后,剩下的報錯都是 DNS 相關的,可直接忽略:

開始安裝 grid:


兩節點順序執行 root.sh,先節點一執行完,再節點二執行:

兩個節點的 root.sh 都執行完之后,繼續安裝:

這個錯誤查過 MOS 可以忽略:

安裝完成:

檢查集群狀態:
crsctl stat res -t

檢查 grid 補丁:
su - grid opatch lspatches sqlplus -version

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




檢查 asm 磁盤:
asmcmd lsdg

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

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

右鍵打開終端:

開始安裝:
##應用環境變量
source ~/.profile
##進入ORACLE_HOME目錄
cd $ORACLE_HOME
##執行安裝程序開始安裝,加上jar包防止彈窗不顯示問題
./runInstaller -applyRU /soft/33182768

?? 注意: 可以看到,已經開始對 ORACLE_HOME 進行補丁安裝!
補丁打完,進入安裝界面,選擇僅安裝 Oracle 軟件:

選擇集群模式:

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


選擇企業版:

默認即可:



安裝預檢查,由于我們只配了一個 SCAN,所以關于 DNS 相關的都無視,繼續:

開始安裝:


root 用戶下,兩個節點順序執行 root.sh:

安裝完成:

檢查補丁版本:
su - oracle opatch lspatches sqlplus -version

七、創建數據庫實例
這里建庫還是在第四步安裝 Oracle 軟件的 vnc 界面中繼續:
dbca

選擇創建數據庫實例:

選擇自定義模式:

選擇基礎安裝即可:

選擇節點:

填寫實例名orcl,由于默認添加為1,2,實例名規劃為orcl1/2;選擇安裝 CDB 模式,不創建PDB:

默認即可,使用 OMF 模式:

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


配置內存,使用 ASMM 模式,數據庫總內存占用物理內存 70%-90% 之間:

使用基礎模式安裝,block_size 是無法修改的,process 進程數修改為1500,根據實際情況修改:

配置數據庫字符集,默認 AL32UTF8,國家字符集,默認 AL16UTF16;根據實際情況修改:

建議全關掉,有可能導致 bug:

填寫sys/system密碼:

默認即可:

安裝預檢查,DNS 相關忽略:

開始安裝:



經過漫長的等待,數據庫建完了:

至此,數據庫實例創建完成!
八、數據庫優化配置(rac01)
1、開啟數據庫歸檔模式
關于開啟歸檔模式,具體可參考文章:
##關閉數據庫實例
srvctl stop database -d orcl
##開啟單個節點到mount模式
srvctl start instance -d orcl -i orcl1 -o mount
##開啟歸檔
sqlplus / as sysdba
alter database archivelog;
##設置歸檔路徑
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=+DATA';
exit;
##重啟數據庫實例
srvctl stop instance -d orcl -i orcl1
srvctl start database -d orcl
##檢查歸檔
sqlplus / as sysdba
archive log list
2、配置定期刪除歸檔計劃任務
關于歸檔日志刪除,具體可參考文章:
##進入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 用戶寫入計劃任務:
cat <<EOF>>/var/spool/cron/oracle
12 00 * * * /home/oracle/scripts/del_arch.sh
EOF
##手動執行測試
su - oracle
/home/oracle/scripts/del_arch.sh
3、配置數據庫開機自啟
配置數據庫實例隨集群服務自啟動:
##root用戶下執行
/u01/app/19.3.0/grid/bin/crsctl modify resource "ora.orcl.db" -attr "AUTO_START=always" -unsupported
?? 注意: ora.orcl.db 中的 orcl 是指 db 名稱;需要在 root 用戶下執行!
所有都配置完成之后,關閉數據庫,重啟主機!
往期精彩文章
Oracle 一鍵巡檢自動生成 Word 報告
Oracle 一鍵安裝合集
Oracle一鍵安裝腳本的 21 個疑問與解答
Oracle一鍵巡檢腳本的 21 個疑問與解答
全網首發:Oracle 23ai 一鍵安裝腳本(非 RPM)
Oracle 19C 最新 RU 補丁 19.24 ,一鍵安裝!
Oracle Linux 7.9 一鍵安裝 Oracle 19C
RedHat 9.4(aarch64) 一鍵安裝 Oracle 19C
openEuler 22.03 LTS SP4 一鍵安裝 Oracle 19C RAC
RHEL 7.9 一鍵安裝 Oracle 19C 19.23 RAC
Oracle DataGuard GAP 修復手冊
優化 Oracle:最佳實踐與開發規范
DBA 必備:Linux 軟件源配置全攻略
Linux 一鍵配置時鐘同步全攻略
感謝您的閱讀,這里是 Lucifer三思而后行,歡迎點贊+關注,我會持續分享數據庫知識、運維技巧。




