Oracle GI 19c 安装详解
Oracle GI 19c 安装详解
适用版本:Oracle Grid Infrastructure 19c 文档版本:v1.0 / 2026-07
1. 概述
Grid Infrastructure 是 RAC 和 ASM 基础[1]:
组件:
- Oracle Clusterware
- ASM
- ADVM
- ACFS
- Oracle Restart
详细见:Oracle Grid Infrastructure 安装。
2. 安装前
2.1 硬件
- 多节点
- 共享存储
- 私有网络
- 公共网络
2.2 OS
- Oracle Linux 8
- 预安装包
dnf install -y oracle-database-preinstall-19c
2.3 用户
groupadd -g 54321 oinstall
groupadd -g 54328 asmadmin
groupadd -g 54329 asmdba
groupadd -g 54330 asmoper
useradd -u 54331 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
passwd grid
3. 网络
3.1 网卡
- ens33:公共
- ens34:私有
3.2 IP
| 用途 | 主机 | IP |
|---|---|---|
| Public | rac1 | 192.168.1.10 |
| Public | rac2 | 192.168.1.11 |
| Private | rac1 | 10.0.0.10 |
| Private | rac2 | 10.0.0.11 |
| VIP | rac1 | 192.168.1.12 |
| VIP | rac2 | 192.168.1.13 |
| SCAN | - | 192.168.1.20-22 |
3.3 /etc/hosts
192.168.1.10 rac1.example.com rac1
192.168.1.11 rac2.example.com rac2
192.168.1.12 rac1-vip.example.com rac1-vip
192.168.1.13 rac2-vip.example.com rac2-vip
10.0.0.10 rac1-priv.example.com rac1-priv
10.0.0.11 rac2-priv.example.com rac2-priv
3.4 SCAN DNS
- DNS 配置
- 或 /etc/hosts(单 SCAN IP)
4. 共享存储
4.1 LUN
- 1GB × 3:OCR/Voting
- 50GB:DATA
- 50GB:FRA
4.2 ASM Disk
# ASMLib
oracleasm createdisk OCR1 /dev/sdb1
oracleasm createdisk OCR2 /dev/sdc1
oracleasm createdisk OCR3 /dev/sdd1
oracleasm createdisk DATA /dev/sde1
oracleasm createdisk FRA /dev/sdf1
# 或 ASMFD
asmcmd afd_label OCR1 /dev/sdb1
4.3 UDEV
# /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sdb1", OWNER="grid", GROUP="asmadmin", MODE="0660"
5. SSH 互信
5.1 手动
su - grid
ssh-keygen -t rsa
ssh-copy-id rac1
ssh-copy-id rac2
su - oracle
ssh-keygen -t rsa
ssh-copy-id rac1
ssh-copy-id rac2
5.2 sshUserSetup
./sshUserSetup.sh -user grid -hosts "rac1 rac2" -noPromptPassphrase
./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -noPromptPassphrase
6. 预检查
6.1 CVU
su - grid
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
6.2 修复
# CVU 生成 fixup 脚本
/tmp/CVU_19.0.0.0.0_grid/runfixup.sh
7. 解压
7.1 GI 软件
su - grid
mkdir -p ******
cd /u01/app/19.0.0/grid
unzip /tmp/LINUX.X64_193000_grid_home.zip
8. 静默安装
8.1 响应文件
# grid_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0
INVENTORY_LOCATION=/u01/app/oraInventory
oracle.install.option=CRS_CONFIG
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/19.0.0/grid
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.asm.OSASM=asmadmin
oracle.install.crs.config.gpnp.scanName=rac-scan
oracle.install.crs.config.gpnp.scanPort=1521
oracle.install.crs.config.clusterName=rac-cluster
oracle.install.crs.config.clusterNodes=rac1:rac1-vip,rac2:rac2-vip
oracle.install.crs.config.networkInterfaceList=ens33:192.168.1.0:1,ens34:10.0.0.0:2
oracle.install.asm.SYSASMPassword=******
oracle.install.asm.diskGroup.name=OCR
oracle.install.asm.diskGroup.redundancy=NORMAL
oracle.install.asm.diskGroup.AUSize=4
oracle.install.asm.diskGroup.disks=/dev/oracleasm/disks/OCR1,/dev/oracleasm/disks/OCR2,/dev/oracleasm/disks/OCR3
8.2 安装
./gridSetup.sh -silent -responseFile /tmp/grid_install.rsp
8.3 root 脚本
# 节点 1
su -
/u01/app/oraInventory/orainstRoot.sh
/u01/app/19.0.0/grid/root.sh
# 节点 2
su -
/u01/app/oraInventory/orainstRoot.sh
/u01/app/19.0.0/grid/root.sh
9. 应用 RU
9.1 安装前
# 解压 RU
unzip p32545008_190000_Linux-x86-64.zip -d /tmp/ru
# applyRU
./gridSetup.sh -silent -responseFile /tmp/grid_install.rsp -applyRU /tmp/ru/32545008
9.2 安装后
./gridSetup.sh -applyRU /tmp/ru/32545008
详细见:Oracle 补丁应用与 PSU。
10. 创建 ASM Disk Group
10.1 asmca
asmca -silent -createDiskGroup -diskGroupName DATA -diskList /dev/oracleasm/disks/DATA -redundancy EXTERNAL
asmca -silent -createDiskGroup -diskGroupName FRA -diskList /dev/oracleasm/disks/FRA -redundancy EXTERNAL
10.2 SQL
sqlplus / as sysasm
CREATE DISKGROUP DATA EXTERNAL REDUNDANCY DISK '/dev/oracleasm/disks/DATA';
CREATE DISKGROUP FRA EXTERNAL REDUNDANCY DISK '/dev/oracleasm/disks/FRA';
详细见:Oracle ASM 详解。
11. 验证
11.1 集群状态
crsctl stat res -t
crsctl check cluster -all
crsctl check crs
11.2 ASM
asmcmd lsdg
asmcmd lsdsk
11.3 OCR
ocrcheck
ocrdump /tmp/ocr.txt
11.4 Voting
crsctl query css votedisk
12. Oracle Restart(单实例)
12.1 安装
./gridSetup.sh -silent -responseFile /tmp/grid_install.rsp
# oracle.install.option=HA_CONFIG
12.2 资源
srvctl add database -db orcl -oracle-home /u01/app/oracle/product/19.0.0/dbhome_1 -spfile +DATA/orcl/spfileorcl.ora
srvctl add listener -listener LISTENER -port 1521
13. 管理
13.1 启停
crsctl start cluster -all
crsctl stop cluster -all
crsctl start crs
crsctl stop crs
13.2 节点添加
./addNode.sh -silent "CLUSTER_NEW_NODES={rac3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={rac3-vip}"
13.3 节点删除
./crs/setup/deleteNode.sh
14. 升级
14.1 Out-of-Place
- 新 ORACLE_HOME
- 推荐
14.2 In-Place
- 原地升级
- 风险
详细见:Oracle 升级到 19c。
15. 常见坑与排错
15.1 节点加入失败
- SSH 互信
- 时间同步
- 网络
15.2 ASM Disk 不可见
oracleasm scandisks
oracleasm listdisks
15.3 Voting 丢失
crsctl replace votedisk +NEW_DG
15.4 OCR 损坏
ocrconfig -restore /u01/backup/ocr.bak
16. 最佳实践
- OL 8 + 预安装:简化
- ASM 存储:现代
- Normal Redundancy OCR:3 票
- SCAN DNS:客户端
- 私有网络独占:性能
- SSH 互信:必要
- CVU 预检:完整
- 静默安装:自动化
- RU 最新:稳定
- 文档化:配置
17. 参考资料
[1] Oracle Grid Infrastructure Installation Guide 19c for Linux https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/