Oracle Grid Infrastructure 安装
Oracle Grid Infrastructure 安装
适用版本:Oracle Grid Infrastructure 19c 文档版本:v1.0 / 2026-07
1. 概述
Grid Infrastructure (GI) 是 RAC 和 ASM 的基础[1]:
组件:
- Oracle Clusterware
- Automatic Storage Management (ASM)
- ASM Filter Driver (ASMFD)
2. 安装前准备
2.1 系统配置
# OL 8
dnf install -y oracle-database-preinstall-19c
详细见:Oracle Linux 安装与配置。
2.2 用户与组
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 asmadmin
groupadd -g 54325 asmdba
groupadd -g 54326 asmoper
groupadd -g 54327 racdba
useradd -u 54321 -g oinstall -G dba,oper,asmadmin,asmdba,asmoper,racdba oracle
useradd -u 54331 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
passwd oracle
passwd grid
2.3 目录
mkdir -p ******
mkdir -p ******
mkdir -p ******
mkdir -p ******
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/19.0.0/grid
chown -R oracle:oinstall /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle/product/19.0.0/dbhome_1
chmod -R 775 /u01
2.4 环境变量
# grid 用户
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=/u01/app/19.0.0/grid
ORACLE_SID=+ASM1
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
3. 网络配置
3.1 主机名
# /etc/hosts
192.168.1.101 rac1.example.com rac1
192.168.1.102 rac2.example.com rac2
192.168.10.101 rac1-priv.example.com rac1-priv
192.168.10.102 rac2-priv.example.com rac2-priv
192.168.1.111 rac1-vip.example.com rac1-vip
192.168.1.112 rac2-vip.example.com rac2-vip
192.168.1.120 rac-scan.example.com rac-scan
192.168.1.121 rac-scan.example.com rac-scan
192.168.1.122 rac-scan.example.com rac-scan
3.2 SSH 互信
# 节点 1
su - grid
ssh-keygen -t rsa
ssh-copy-id rac2
# 节点 2
su - grid
ssh-keygen -t rsa
ssh-copy-id rac1
# 测试
ssh rac2 date
4. 共享存储
4.1 ASM 磁盘
# 1. 识别磁盘
lsblk
fdisk -l
# 2. 创建分区(每磁盘)
fdisk /dev/sdb
# 3. ASMFD 或 UDEV
# ASMFD
asmcmd afd_label DATA1 /dev/sdb1
# UDEV
# /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sdb1", OWNER="grid", GROUP="asmadmin", MODE="0660"
4.2 验证
# ASMFD
asmcmd afd_lsdsk
# UDEV
udevadm test /sys/block/sdb/sdb1
ls -l /dev/sdb1
详细见:Oracle ASM 详解。
5. 集群验证
# CVU
su - grid
cd /u01/app/19.0.0/grid
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
6. 静默安装
6.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.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.asm.OSASM=asmadmin
oracle.install.crs.config.gpnp.scanName=rac-scan.example.com
oracle.install.crs.config.gpnp.scanPort=1521
oracle.install.crs.config.ClusterConfiguration=STANDALONE
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:192.168.10.0:2
oracle.install.crs.config.storageOption=FLEX_ASM_STORAGE
oracle.install.crs.config.useIPMI=false
oracle.install.crs.config.ignoreDownNodes=false
oracle.install.config.managementOption=NONE
oracle.install.crs.config.autoConfigureClusterNodeVIP=false
oracle.install.asm.SYSASMPassword=******
oracle.install.asm.diskGroup.name=DATA
oracle.install.asm.diskGroup.redundancy=EXTERNAL
oracle.install.asm.diskGroup.AUSize=4
oracle.install.asm.diskGroup.disks=/dev/asm-disk1,/dev/asm-disk2
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm*
oracle.install.asm.monitorPassword=******
6.2 安装
su - grid
cd /u01/app/19.0.0/grid
./gridSetup.sh -silent -responseFile /u01/app/19.0.0/grid/grid_install.rsp
6.3 root 脚本
# 节点 1
/u01/app/oraInventory/orainstRoot.sh
/u01/app/19.0.0/grid/root.sh
# 节点 2
/u01/app/oraInventory/orainstRoot.sh
/u01/app/19.0.0/grid/root.sh
7. 验证
7.1 集群状态
crsctl stat res -t
crsctl check crs
crsctl check cluster -all
7.2 ASM
su - grid
sqlplus / as sysasm
SQL> SELECT group_number, name, state FROM v$asm_diskgroup;
7.3 节点
olsnodes -n
olsnodes -s -t
8. 创建 RAC 数据库
8.1 DBCA 静默
dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbName orcl \
-sid orcl \
-databaseConfigType RAC \
-nodelist rac1,rac2 \
-sysPassword Oracle123 \
-systemPassword Oracle123 \
-storageType ASM \
-diskGroupName +DATA \
-recoveryGroupName +FRA \
-characterSet AL32UTF8 \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName orclpdb \
-pdbAdminPassword Oracle123 \
-totalMemory 4096
9. 管理
9.1 启停集群
# 停止
crsctl stop cluster -all
crsctl stop has
# 启动
crsctl start has
crsctl start cluster -all
9.2 ASM 管理
sqlplus / as sysasm
SQL> ALTER DISKGROUP DATA MOUNT;
SQL> ALTER DISKGROUP DATA DISMOUNT;
详细见:Oracle ASM 详解。
10. 常见坑与排错
10.1 安装失败
# 1. CVU 检查
./runcluvfy.sh stage -pre crsinst -n rac1,rac2
# 2. 日志
$ORACLE_BASE/cfgtoollogs/
10.2 ASM 磁盘不可见
# 1. 检查权限
ls -l /dev/asm*
# 2. ASMFD
asmcmd afd_lsdsk
# 3. UDEV
udevadm info /dev/sdb1
10.3 节点加入失败
# 1. SSH 互信
# 2. 时间同步
# 3. 网络
11. 最佳实践
- CVU 验证:安装前
- SSH 互信:节点
- 共享存储:ASM
- ASMFD:管理
- 静默安装:自动化
- root 脚本顺序:节点 1 先
- 日志检查:问题
- 网络分离:公网/私网
- SCAN:负载均衡
- 文档化:维护
12. 参考资料
[1] Oracle Grid Infrastructure Installation Guide 19c for Linux https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/