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
Publicrac1192.168.1.10
Publicrac2192.168.1.11
Privaterac110.0.0.10
Privaterac210.0.0.11
VIPrac1192.168.1.12
VIPrac2192.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. 最佳实践

  1. OL 8 + 预安装:简化
  2. ASM 存储:现代
  3. Normal Redundancy OCR:3 票
  4. SCAN DNS:客户端
  5. 私有网络独占:性能
  6. SSH 互信:必要
  7. CVU 预检:完整
  8. 静默安装:自动化
  9. RU 最新:稳定
  10. 文档化:配置

17. 参考资料

[1] Oracle Grid Infrastructure Installation Guide 19c for Linux https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/