大家好,這里是公眾號 DBA學習之路,分享一些學習數據庫路上的知識和經驗。

目錄
- 前言
- 一、安裝前規劃
- 二、主機配置
- 1、Linux主機安裝(rac01&rac02)
- 2、配置yum源并安裝依賴包(rac01&rac02)
- 3、網絡配置
- 4、存儲配置(rac01&rac02)
- 5、hosts文件配置(rac01&rac02)
- 6、防火墻配置(rac01&rac02)
- 7、selinux 配置(rac01&rac02)
- 8、時間同步配置(rac01&rac02)
- 9、關閉透明大頁和NUMA(rac01&rac02)
- 10、avahi-daemon 配置(rac01&rac02)
- 11、系統參數配置(rac01&rac02)
- 12、系統資源限制配置(rac01&rac02)
- 13、用戶及組、目錄創建(rac01&rac02)
- 14 環境變量配置(rac01&rac02)
- 15、安裝介質上傳解壓(rac01)
- 三、安裝Grid軟件(rac01)
- 三、創建 ASM 數據盤 DATA
- 四、安裝Oracle軟件
- 五、創建數據庫實例
- 六、數據庫優化配置(rac01)
- 往期精彩文章
前言
之前發過一篇Oracle 11G RAC手把手教程,有朋友留言評論:19C都出了,為什么還在教11G?
既然如此,那就趁著周末邊做邊寫,來一篇 19C RAC 手把手教程!
?? 注意: 關于 Oracle RAC 在上一篇中已經講的很清楚了,不了解的朋友可以點鏈接??看一下再繼續讀下去。
一、安裝前規劃
安裝RAC前,當然要先做好規劃。具體包含以下幾方面:
| 節點 | 主機版本 | 主機名 | 實例名 | Grid/Oracle版本 | Public IP | Private IP | Virtual IP | Scan IP |
|---|---|---|---|---|---|---|---|---|
| 1 | rhel7.9 | p19c01 | p19c01 | 19.11.0.0 | 10.211.55.100 | 1.1.1.1 | 10.211.55.102 | 10.211.55.105 |
| 2 | rhel7.9 | p19c02 | p19c02 | 19.11.0.0 | 10.211.55.101 | 1.1.1.2 | 10.211.55.103 | 10.211.55.105 |
1、系統規劃
- 主機名: 需要英文字母開頭,建議小寫,p19c01/p19c02
- 集群名稱: 長度不超過15位,p19c-cluster
- Linux系統版本: RedHat 7.9
- 磁盤: 本地磁盤 100G,用于安裝 OS,存放 grid 和 oracle 安裝軟件,用于 oracle 和 grid 安裝目錄
- ASM共享盤:
裁決盤OCR:OCR+VOTING=10G、冗余模式:EXTERNAL
數據盤DATA:DATA=20G、冗余模式:EXTERNAL(數據文件,歸檔日志文件,spfile 文件等) - RU升級路徑: 19C 的補丁已經不叫PSU,改為 RU
升級需滿足條件:
- c>=a
- c+d>=a+b
例如:
- 19.5.2–>19.8.0(5是a,2是b,8是c,0是d),滿足升級需求;
- 19.6.2–>19.7.0(雖然7>6,但是7+0<6+2,所以不滿足,如果是19.7.1,即可滿足)
本次是從 19.3.0 升級到 19.11.0,Oracle 官網下載的基礎版是 19.3.0!
?? 如果想要使用腳本安裝,可以使用博主編寫的 Oracle 一鍵安裝腳本,同時支持單機和 RAC 集群模式!
更多更詳細的腳本使用方式可以訂閱專欄:Oracle 一鍵安裝腳本實操合集,持續更新中!!!。
2、網絡規劃
Public IP(公司內部訪問,非外網)
10.211.55.100 p19c01 10.211.55.101 p19c02
Private IP(用于節點間心跳網絡)
1.1.1.1 p19c01-priv 1.1.1.2 p19c02-priv
Virtual IP(提供客戶端訪問,漂移)
10.211.55.102 p19c01-vip 10.211.55.103 p19c02-vip
SCAN IP(提供客戶端訪問,均衡)
10.211.55.105 p19c-scan
3、存儲規劃
Oracle RAC 使用 ASM 存儲來存放數據,通常使用 OCR 和 DATA 兩個磁盤組!
| 磁盤名稱 | 磁盤用途 | 磁盤大小 |
|---|---|---|
| asm-ocr | OCR/Voting File | 10G |
| asm-data | Data Files | 20G |
二、主機配置
?? 注意: 以下標題中(rac01&rac02)代表節點一和節點二都需要執行,(rac01)代表只需要節點一執行。
1、Linux主機安裝(rac01&rac02)
安裝 Linux 服務器可選擇:Centos,Redhat,Oracle Linux。
?? 注意: 上述 Linux 安裝包 和 Oracle 安裝包 可點擊鏈接跳轉獲取:
Linux 安裝包: https://mp.weixin.qq.com/s/PFKkftgaTWpJKCnhI3uxZw
Oracle 安裝包: https://mp.weixin.qq.com/s/ECJelOb6NUjZjpUvUa17pg
?? 注意: Linux 系統的安裝本文不做詳細演示!
?? 注意: Linux 系統的安裝本文不做詳細演示!
2、配置yum源并安裝依賴包(rac01&rac02)
Linux遠程連接工具:
- 本文將使用XShell和Xftp工具,安裝包可以在官網下載,也可私信博主獲取。
- 其他工具也可以,比如:putty,SecureCRT 等等工具。
Parallels Desktop掛載Linux主機鏡像:
VMware Workstation掛載Linux鏡像:
?? 注意: 需要提前掛載系統鏡像,可參考:Linux 配置本地 yum 源(6/7/8)!
手動掛載鏡像源:
mount /dev/cdrom /mnt df -Th
配置yum源:
cat <<EOF>>/etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
enabled=1
EOF
yum repolist all
安裝依賴包:
yum groupinstall -y "Server with GUI"
yum install -y bc \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
gcc \
gcc-c++ \
elfutils-libelf \
elfutils-libelf-devel \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
libxcb \
libX11 \
libXau \
libXi \
libXtst \
libXrender \
libXrender-devel \
make \
net-tools \
nfs-utils \
smartmontools \
sysstat \
e2fsprogs \
e2fsprogs-libs \
fontconfig-devel \
expect \
unzip \
openssh-clients \
readline* \
tigervnc* \
psmisc --skip-broken
手動上傳并安裝依賴包:
cd /soft
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
檢查依賴包安裝情況:
rpm -q bc binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ elfutils-libelf elfutils-libelf-devel glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libxcb libX11 libXau libXi libXtst libXrender libXrender-devel make net-tools nfs-utils smartmontools sysstat e2fsprogs e2fsprogs-libs fontconfig-devel expect unzip openssh-clients readline | grep "not installed"
?? 注意: 依賴一定要安裝成功,否則可能導致安裝失敗!
3、網絡配置
Linux 7 版本可以使用 nmcli 命令來配置網絡,以下命令中的 IP地址、子網掩碼、網關 和 網卡名稱 請根據實際情況進行修改!
rac01:
##配置Public IP
nmcli connection modify eth0 ipv4.addresses 10.211.55.100/24 ipv4.gateway 10.211.55.1 ipv4.method manual autoconnect yes
##配置Private IP
nmcli connection modify eth1 ipv4.addresses 1.1.1.1/24 ipv4.method manual autoconnect yes
##生效
nmcli connection up eth0
nmcli connection up eth1
nmcli connection show
rac02:
##配置Public IP
nmcli connection modify eth0 ipv4.addresses 10.211.55.101/24 ipv4.gateway 10.211.55.1 ipv4.method manual autoconnect yes
##配置Private IP
nmcli connection modify eth1 ipv4.addresses 1.1.1.2/24 ipv4.method manual autoconnect yes
##生效
nmcli connection up eth0
nmcli connection up eth1
nmcli connection show
最后,配置好網絡后,輸入命令 ip a 查看網絡是否配置成功,嘗試 ping 測試網絡。
4、存儲配置(rac01&rac02)
Windows 下配置 ISCSI 共享存儲可參考:
配置好共享存儲后,在 Linux 主機連接共享存儲:
##iscsi識別共享存儲
yum install -y iscsi-initiator-utils*
##輸出targetname,10.211.55.22為iscsi共享存儲設備IP地址
iscsiadm -m discovery -t st -p 10.211.55.22
##連接共享存儲
iscsiadm -m node -T iqn.2008-08.com.starwindsoftware:10.211.55.22-lucifer -p 10.211.55.22 -l
lsblk
安裝 multipath 綁定多路徑:
##安裝multipath
yum install -y device-mapper*
mpathconf --enable --with_multipathd y
##查看共享盤的scsi_id
/usr/lib/udev/scsi_id -g -u /dev/sdb
/usr/lib/udev/scsi_id -g -u /dev/sdc
配置 multipath 文件:
cat <<EOF>/etc/multipath.conf
defaults {
user_friendly_names yes
}
blacklist {
devnode "^sda"
}
multipaths {
multipath {
wwid "27e2b3ddbb7fbeb41"
alias asm_ocr
}
multipath {
wwid "2852b96c12f460ade"
alias asm_data
}
}
EOF
?? 注意: wwid的值為上面獲取的scsi_id,alias可自定義,這里配置1塊OCR盤,1塊DATA盤!
激活multipath多路徑:
multipath -F multipath -v2 multipath -ll
配置UDEV綁盤:
rm -rf /dev/mapper/udev_info
rm -rf /etc/udev/rules.d/99-oracle-asmdevices.rules
cd /dev/mapper
for i in asm_*; do
printf "%s %s\n" "$i" "$(udevadm info --query=all --name=/dev/mapper/"$i" | grep -i dm_uuid)" >>/dev/mapper/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+=\"${disk_name}\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\"" >>/etc/udev/rules.d/99-oracle-asmdevices.rules
done </dev/mapper/udev_info
##重載udev
udevadm control --reload-rules
udevadm trigger --type=devices
ll /dev/asm*
?? 注意: 這里由于沒有創建 grid 用戶,因此權限和組是 root,等創建 grid 用戶后,再次重載 udev 即可!
確認配置完成后,分別在兩個節點輸入命令 ls /dev/asm* 查看是否已經成功綁定!
5、hosts文件配置(rac01&rac02)
配置hostname:
hostnamectl set-hostname p19c01 hostnamectl set-hostname p19c02
配置hosts文件:
cat <<EOF>>/etc/hosts
#Public IP
10.211.55.100 p19c01
10.211.55.101 p19c02
#Private IP
1.1.1.1 p19c01-priv
1.1.1.2 p19c02-priv
#Vip IP
10.211.55.102 p19c01-vip
10.211.55.103 p19c02-vip
#Scan IP
10.211.55.105 p19c-scan
EOF
6、防火墻配置(rac01&rac02)
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
7、selinux 配置(rac01&rac02)
配置 selinux 臨時生效:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
getenforce
?? 注意: selinux 配置需要重啟生效!
8、時間同步配置(rac01&rac02)
禁用chronyd:
yum install -y chrony
timedatectl set-timezone Asia/Shanghai
systemctl stop chronyd.service
systemctl disable chronyd.service
配置ntpdate時間同步計劃任務:
yum install -y ntpdate
##10.211.55.200為時間服務器IP,每天12點同步系統時間
cat <<EOF>>/var/spool/cron/root
00 12 * * * /usr/sbin/ntpdate -u 10.211.55.200 && /usr/sbin/hwclock -w
EOF
##查看計劃任務
crontab -l
##手動執行
/usr/sbin/ntpdate -u 10.211.55.200 && /usr/sbin/hwclock -w
9、關閉透明大頁和NUMA(rac01&rac02)
Linux 7 配置內核文件,關閉透明大頁和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
?? 注意: 關閉 透明大頁 和 numa 的配置,需要重啟主機生效!
10、avahi-daemon 配置(rac01&rac02)
有些主機安裝選擇最小化安裝,沒有安裝 avahi-daemon 功能,建議安裝之后禁用,防止以后誤操作導致出問題:
yum install -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.socket
systemctl disable avahi-daemon.service
配置 NOZEROCONF:
cat <<EOF>>/etc/sysconfig/network
NOZEROCONF=yes
EOF
11、系統參數配置(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
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
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.eth1.rp_filter = 2
EOF
生效系統參數:
sysctl -p
12、系統資源限制配置(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
13、用戶及組、目錄創建(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 54327 asmdba /usr/sbin/groupadd -g 54328 asmoper /usr/sbin/groupadd -g 54329 asmadmin /usr/sbin/groupadd -g 54330 racdba
grid/oracle 用戶創建:
/usr/sbin/useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba,oper grid
/usr/sbin/useradd -u 54321 -g oinstall -G asmdba,dba,backupdba,dgdba,kmdba,racdba,oper oracle
##修改用戶密碼為oracle
echo "oracle" |passwd oracle --stdin
echo "oracle" |passwd grid --stdin
##查看用戶組
id grid
id oracle
##重載udev
udevadm control --reload-rules
udevadm trigger --type-devices
ll /dev/asm*
?? 注意: 這里udev重載之后,綁盤權限已經變成 grid 了!
創建軟件目錄:
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
14 環境變量配置(rac01&rac02)
grid用戶環境變量:
cat <<EOF>>/home/grid/.bash_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]\$ '
EOF
?? 注意: 每個節點的 ORACLE_SID 不一樣(+ASM1/+ASM2),需要自行修改!
oracle用戶環境變量:
cat <<EOF>>/home/oracle/.bash_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=\$ORACLE_BASE/product/19.3.0/db
export ORACLE_HOSTNAME=p19c01
export ORACLE_TERM=xterm
export TNS_ADMIN=\$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=p19c01
export PATH=/usr/sbin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH
alias sas='sqlplus / as sysdba'
export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '
################OracleEnd#########################
EOF
?? 注意: 每個節點的 ORACLE_HOSTNAME(p19c01/p19c02)和 ORACLE_SID(p19c01/p19c02)不一樣,需要自行修改!
15、安裝介質上傳解壓(rac01)
安裝包使用 XFTP 工具進行上傳,只需要上傳至一節點 /soft 目錄下:
##創建安裝介質存放目錄
mkdir /soft
##上傳安裝介質到/soft目錄
LINUX.X64_193000_db_home.zip
LINUX.X64_193000_grid_home.zip
p32545008_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/"
靜默解壓補丁安裝包:
cd /soft
##解壓RU補丁包
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"
##解壓OPatch補丁包
su - grid -c "unzip -q /soft/p32545008_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"
?? 注意: 由于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 cvuqdisk-1.0.10-1.rpm p19c02:/soft
rpm -ivh /soft/cvuqdisk-1.0.10-1.rpm
?? 注意: 19C 版本的 cvu 包換位置了,目錄為:$ORACLE_HOME/cv/rpm/,以上所有軟件只需要在節點一上傳解壓即可。
至此,準備工作已經完成,安裝前重啟主機!
重啟后,檢查 selinux、numa 和透明大頁:
三、安裝Grid軟件(rac01)
關于 VNC 配置具體可參考文章:
配置 grid 用戶 vnc 圖形界面:
##root用戶下切換到grid用戶
chown -R grid:oinstall /soft
su - grid
##執行vncserver,按提示輸入密碼即可
vncserver
在 vnc 客戶端界面輸入 10.211.55.100:1,輸入剛才輸入的密碼即可連接:
打開終端命令行:
開始安裝:
##應用環境變量
source ~/.bash_profile
##進入安裝目錄
cd $ORACLE_HOME
##執行安裝程序開始安裝,通過-applyRU參數指向補丁解壓位置,提前安裝grid補丁
./gridSetup.sh -applyRU /soft/32545008
注意: 可以看到,已經開始對ORACLE_HOME進行補丁安裝。
補丁打完,進入安裝界面,選擇集群安裝:
選擇 standlone 模式:
修改 scan 名稱,與 hosts 文件配置 scan 名稱保持一致:
添加節點二信息,進行互信:
輸入 grid 用戶密碼,創建用戶時兩節點必須保持一致。先執行 setup,再執行 test,開始互信:
確保對應網卡和IP網段對應即可,19C 心跳網段需要選 ASM & Private,用于 ASM 實例的托管:
選擇存儲類型,19C 只有兩個選項,ASM 只能選 Flex:
GIMR,這里不選擇安裝:
安裝時填創建 OCR 盤,一塊盤冗余 External,目錄選擇udev綁的路徑:
填寫 sys/system 密碼,需要記住自己設置的密碼:
默認即可:
EM 選擇不開,比較占資源,后面安裝好后可以配置:
默認即可:
安裝預檢查,由于我們只配了一個SCAN,所以關于 DNS 相關的都無視,繼續:
開始安裝 grid:
兩節點順序執行 root.sh,先節點一執行完,再節點二執行:
兩個節點的 root.sh 都執行完之后,繼續安裝:
這個錯誤查過 MOS 可以忽略:
安裝完成:
檢查集群狀態:
su - grid
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 ~/.bash_profile
##進入ORACLE_HOME目錄
cd $ORACLE_HOME
##執行安裝程序開始安裝,加上jar包防止彈窗不顯示問題
./runInstaller -applyRU /soft/32545008/
?? 注意: 可以看到,已經開始對 ORACLE_HOME 進行補丁安裝!
補丁打完,進入安裝界面,選擇僅安裝 Oracle 軟件:
選擇集群模式:
輸入 oracle 用戶密碼,先執行 setup,再執行 test,開始互信:
選擇企業版:
默認即可:
安裝預檢查,由于我們只配了一個 SCAN,所以關于 DNS 相關的都無視,繼續:
開始安裝:
root 用戶下,兩個節點順序執行 root.sh:
安裝完成:
檢查補丁版本:
su - oracle opatch lspatches sqlplus -version
至此,Oracle 軟件已成功安裝!
五、創建數據庫實例
這里建庫還是在第四步安裝 Oracle 軟件的 vnc 界面中繼續:
dbca
選擇創建數據庫實例:
選擇自定義模式:
選擇基礎安裝即可:
選擇節點:
填寫實例名 p19c0,由于默認添加為1,2,實例名規劃為 p19c01/02,所以需要加個0;選擇安裝 CDB 模式,不創建PDB:
默認即可,使用 OMF 模式:
不開閃回,不開歸檔,可以建完實例后再配置:
配置內存,使用 ASMM 模式,數據庫總內存占用物理內存 70%-90% 之間:
使用基礎模式安裝,block_size 是無法修改的,process 進程數修改為1500,根據實際情況修改:
配置數據庫字符集,默認 AL32UTF8,國家字符集,默認 AL16UTF16;根據實際情況修改:
建議全關掉,有可能導致 bug:
填寫sys/system密碼:
默認即可:
安裝預檢查,DNS 相關忽略:
開始安裝:
經過漫長的等待,數據庫建完了:
至此,數據庫實例創建完成!
六、數據庫優化配置(rac01)
1、開啟數據庫歸檔模式
關于開啟歸檔模式,具體可參考文章:
##關閉數據庫實例
srvctl stop database -d p19c0
##開啟單個節點到mount模式
srvctl start instance -d p19c0 -i p19c01 -o mount
##開啟歸檔
sqlplus / as sysdba
alter database archivelog;
##設置歸檔路徑
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=+DATA';
exit;
##重啟數據庫實例
srvctl stop instance -d p19c0 -i p19c01
srvctl start database -d p19c0
##檢查歸檔
sqlplus / as sysdba
archive log list
2、配置定期刪除歸檔計劃任務
關于歸檔日志刪除,具體可參考文章:
##進入oracle用戶
su - oracle
mkdir -p /home/oracle/scripts/
##寫入腳本
{
echo '#!/bin/bash'
echo 'source ~/.bash_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.p19c0.db" -attr "AUTO_START=always" -unsupported
注意: ora.p19c0.db中的 p19c0 是指 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 一鍵配置時鐘同步全攻略





