Oracle 19c 单机环境安装目录规划与磁盘永久挂载操作指南_2026-06-15

一、适用场景

本文适用于:

复制代码
Oracle Database 19c 单机环境
本地磁盘文件系统部署
不使用 ASM
不使用 RAC

本次服务器磁盘情况:

复制代码
/dev/sda  100G  系统盘
/dev/sdb  1T    Oracle 专用数据盘

本次目标是将 /dev/sdb 通过 LVM 划分为:

挂载点 大小 用途
/u01 150G Oracle 软件、Inventory、Oracle Base、Oracle Home
/u02 650G Oracle 数据文件目录
/u03 224G FRA、归档、备份目录

二、Oracle 官方 OFA 路径依据

Oracle 官方 OFA 示例中的核心路径如下:

1. 软件与 Inventory 目录

复制代码
/u01/app/oraInventory
/u01/app/oracle
/u01/app/oracle/product/19.0.0/dbhome_1

对应含义:

官方路径 含义
/u01/app/oraInventory Central OraInventory 目录
/u01/app/oracle oracle 用户的 Oracle Base
/u01/app/oracle/product/19.0.0/dbhome_1 Oracle Database Home

官方示例说明,/u01/app/oraInventory 是中央 Inventory 目录,用于维护服务器上的 Oracle 安装信息;/u01/app/oracleoracle 用户的 Oracle Base;/u01/app/oracle/product/19.0.0/dbhome_1 是 Oracle Database 1 的 Oracle Home。(Oracle 文档)

2. 数据文件目录

官方 OFA 示例给出的数据文件目录是:

复制代码
/u02/app/oracle/oradata
/u03/app/oracle/oradata
/u04/app/oracle/oradata

官方说明这些是 Oracle data file directories 。(Oracle 文档)

3. 恢复区目录

官方 OFA 示例中恢复文件目录为:

复制代码
/u01/app/oracle/fast_recovery_area

官方描述其为 Subtree for recovery files 。(Oracle 文档)


三、本次单机环境最终目录规划

Oracle官方→Linux 数据库安装指南→最灵活架构文件路径示例

Oracle官方→Linux 数据库安装指南→最灵活架构文件路径示例https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/optimal-flexible-architecture-file-path-examples.html#GUID-BB3EE4F7-50F4-4A2D-8A0D-96B7CC44029B

结合 Oracle 官方 OFA 示例和本次 1TB 磁盘实际情况,本次采用如下目录:

复制代码
/u01/app/oraInventory
/u01/app/oracle
/u01/app/oracle/product/19.0.0/dbhome_1

/u02/app/oracle/oradata

/u03/app/oracle/fast_recovery_area
/u03/app/oracle/backup

说明:

目录 作用 说明
/u01/app/oraInventory Oracle Inventory 参考官方 OFA 示例
/u01/app/oracle Oracle Base 参考官方 OFA 示例
/u01/app/oracle/product/19.0.0/dbhome_1 Oracle Home 参考官方 OFA 示例
/u02/app/oracle/oradata 数据文件目录 参考官方 OFA 示例
/u03/app/oracle/fast_recovery_area FRA / 归档恢复区 生产落地时独立到 /u03,避免和软件目录混用
/u03/app/oracle/backup 备份目录 用于本机临时备份或 RMAN 备份落盘

注意:官方示例中 /u03/app/oracle/oradata 是数据文件目录;本次把 /u03 用作 FRA/备份,是基于"软件、数据、恢复文件分离"的生产落地调整。

如果完全逐字照搬官方示例,/u03 也可以作为数据文件挂载点;但你这台机器只有 1TB 单盘,划分为 /u01/u02/u03 后,用 /u03 承担 FRA/备份更利于空间隔离。


四、1TB 磁盘划分方案

本次 /dev/sdb 为新增空盘,最终划分如下:

复制代码
/dev/sdb1 -> vg_oracle
  ├── lv_u01  150G  -> /u01
  ├── lv_u02  650G  -> /u02
  └── lv_u03  224G  -> /u03

五、操作流程

1. 确认磁盘为空盘

复制代码
lsblk -f
blkid /dev/sdb
wipefs -n /dev/sdb

本次结果显示:

复制代码
/dev/sdb 无文件系统
/dev/sdb 无 UUID
/dev/sdb 无残留签名

说明 /dev/sdb 可以用于 Oracle 目录规划。


2. 创建 GPT 分区

复制代码
parted /dev/sdb --script mklabel gpt
parted /dev/sdb --script mkpart primary 1MiB 100%
partprobe /dev/sdb

检查:

复制代码
lsblk

预期结果:

复制代码
sdb
└─sdb1  1024G

3. 创建 LVM

复制代码
pvcreate /dev/sdb1
vgcreate vg_oracle /dev/sdb1

检查:

复制代码
pvs
vgs

本次结果:

复制代码
/dev/sdb1  vg_oracle  <1024.00g

4. 创建逻辑卷

复制代码
lvcreate -L 150G -n lv_u01 vg_oracle
lvcreate -L 650G -n lv_u02 vg_oracle
lvcreate -l 100%FREE -n lv_u03 vg_oracle

检查:

复制代码
lvs
lsblk

本次结果:

复制代码
lv_u01  150G
lv_u02  650G
lv_u03  224G

5. 格式化为 XFS

复制代码
mkfs.xfs /dev/vg_oracle/lv_u01
mkfs.xfs /dev/vg_oracle/lv_u02
mkfs.xfs /dev/vg_oracle/lv_u03

6. 创建挂载点

复制代码
mkdir -p /u01 /u02 /u03

7. 临时挂载

复制代码
mount /dev/vg_oracle/lv_u01 /u01
mount /dev/vg_oracle/lv_u02 /u02
mount /dev/vg_oracle/lv_u03 /u03

检查:

复制代码
df -hT
lsblk

本次结果:

复制代码
/dev/mapper/vg_oracle-lv_u01  xfs  150G  /u01
/dev/mapper/vg_oracle-lv_u02  xfs  650G  /u02
/dev/mapper/vg_oracle-lv_u03  xfs  224G  /u03

六、永久挂载配置

/etc/fstab 是 Linux 系统里的文件系统自动挂载配置文件

它的全名可以理解为:

复制代码
file system table

也就是:文件系统挂载表

系统开机时,会读取 /etc/fstab,根据里面的配置自动挂载磁盘分区、LVM、NFS、swap 等。

1. 备份 /etc/fstab

复制代码
cp /etc/fstab /etc/fstab.bak_$(date +%F_%H%M%S)

2. 获取 UUID

复制代码
blkid /dev/vg_oracle/lv_u01
blkid /dev/vg_oracle/lv_u02
blkid /dev/vg_oracle/lv_u03

本次 UUID:

复制代码
/dev/vg_oracle/lv_u01: UUID="60aa0128-fd69-4b5a-9b68-31a2eed867e2" TYPE="xfs"
/dev/vg_oracle/lv_u02: UUID="c55ec5de-8444-4c3e-80cb-6603efd4bbfb" TYPE="xfs"
/dev/vg_oracle/lv_u03: UUID="32a5b078-8431-4066-a140-331203a157cb" TYPE="xfs"

3. 写入 /etc/fstab

复制代码
cat >> /etc/fstab <<EOF
UUID=60aa0128-fd69-4b5a-9b68-31a2eed867e2  /u01  xfs  defaults  0 0
UUID=c55ec5de-8444-4c3e-80cb-6603efd4bbfb  /u02  xfs  defaults  0 0
UUID=32a5b078-8431-4066-a140-331203a157cb  /u03  xfs  defaults  0 0
EOF

4. 检查 /etc/fstab

复制代码
tail -n 10 /etc/fstab

确认包含:

复制代码
UUID=60aa0128-fd69-4b5a-9b68-31a2eed867e2  /u01  xfs  defaults  0 0
UUID=c55ec5de-8444-4c3e-80cb-6603efd4bbfb  /u02  xfs  defaults  0 0
UUID=32a5b078-8431-4066-a140-331203a157cb  /u03  xfs  defaults  0 0

5. 测试永久挂载

复制代码
mount -a

如果没有任何报错,说明 /etc/fstab 配置正确。

执行:

复制代码
systemctl daemon-reload

再次检查:

复制代码
df -hT
findmnt /u01
findmnt /u02
findmnt /u03

本次结果正常:

复制代码
/u01  xfs  150G
/u02  xfs  650G
/u03  xfs  224G

结论:

复制代码
/u01 /u02 /u03 已完成永久挂载
服务器重启后会自动挂载

七、创建 Oracle 官方 OFA 风格目录

如果 oracle 用户和 oinstall 组已经存在:

复制代码
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
mkdir -p /u02/app/oracle/oradata
mkdir -p /u03/app/oracle/fast_recovery_area
mkdir -p /u03/app/oracle/backup

chown -R oracle:oinstall /u01/app
chown -R oracle:oinstall /u02/app
chown -R oracle:oinstall /u03/app

chmod -R 775 /u01/app
chmod -R 775 /u02/app
chmod -R 775 /u03/app

如果 oracle 用户还没创建,先检查:

复制代码
id oracle
getent group oinstall

如果不存在,先创建用户组后再授权。


八、Oracle 安装时填写路径

1. Oracle Inventory

复制代码
/u01/app/oraInventory

2. Oracle Base

复制代码
/u01/app/oracle

3. Oracle Home

复制代码
/u01/app/oracle/product/19.0.0/dbhome_1

4. 数据文件目录

复制代码
/u02/app/oracle/oradata

5. 快速恢复区

复制代码
/u03/app/oracle/fast_recovery_area

九、单机、ASM、RAC 的区别

1. 单机文件系统部署

也就是你这次做的模式:

复制代码
/u01/app/oracle/product/19.0.0/dbhome_1
/u02/app/oracle/oradata
/u03/app/oracle/fast_recovery_area

特点:

复制代码
数据库软件放 /u01
数据文件放 /u02
恢复文件放 /u03
磁盘格式化为 XFS
通过 /etc/fstab 永久挂载

适用于普通单机 Oracle。


2. 单机 ASM / Oracle Restart

如果使用 ASM,软件路径仍参考官方 OFA 示例:

复制代码
/u01/app/oraInventory
/u01/app/oracle
/u01/app/oracle/product/19.0.0/dbhome_1
/u01/app/oracle/product/19.0.0/grid

官方 OFA 示例中,/u01/app/oracle/product/19.0.0/gridOracle Grid Infrastructure for a standalone server 的 Oracle Home,由 oracle 用户拥有。(Oracle 文档)

ASM 模式下,数据文件通常不放文件系统目录:

复制代码
/u02/app/oracle/oradata
/u03/app/oracle/fast_recovery_area

而是放 ASM 磁盘组:

复制代码
+DATA
+RECO

区别:

复制代码
文件系统模式:/dev/sdb -> LVM -> XFS -> /u01 /u02 /u03
ASM 模式:磁盘 -> ASM Disk -> ASM Diskgroup -> +DATA / +RECO

重点:ASM 磁盘通常不格式化成 XFS,也不挂载成 /u02/u03


3. RAC / Oracle Clusterware

RAC 目录和单机不一样,必须区分 gridoracle 用户。

官方 OFA 示例中的 RAC / Cluster Grid Home 是:

复制代码
/u01/app/grid
/u01/app/19.0.0/grid
/u01/app/oracle
/u01/app/oracle/product/19.0.0/dbhome_1

其中 /u01/app/gridgrid 用户的 Oracle Base;/u01/app/19.0.0/grid 是 Oracle Grid Infrastructure for a cluster 的 Grid Home,安装前由 grid 用户拥有,安装后由 root 拥有。(Oracle 文档)

RAC 常见路径:

复制代码
Grid Base:
/u01/app/grid

Grid Home:
/u01/app/19.0.0/grid

Oracle Base:
/u01/app/oracle

Oracle Home:
/u01/app/oracle/product/19.0.0/dbhome_1

RAC 数据文件一般放共享 ASM:

复制代码
+DATA
+RECO

重点:

复制代码
/u01 是每个节点本地软件目录
+DATA / +RECO 是共享 ASM 磁盘组
不能把 RAC 数据文件放某一个节点本地 /u02

十、最终结论

本次单机文件系统环境

最终规划:

复制代码
/u01  150G  Oracle 软件目录
/u02  650G  Oracle 数据文件目录
/u03  224G  FRA、归档、备份目录

最终 Oracle 路径:

复制代码
/u01/app/oraInventory
/u01/app/oracle
/u01/app/oracle/product/19.0.0/dbhome_1
/u02/app/oracle/oradata
/u03/app/oracle/fast_recovery_area
/u03/app/oracle/backup

永久挂载验证完成:

复制代码
/etc/fstab 已写入
mount -a 无报错
systemctl daemon-reload 已执行
df -hT 正常
findmnt 正常

场景记忆版

复制代码
单机文件系统:
/u01 软件
/u02 数据文件
/u03 FRA / 归档 / 备份

单机 ASM:
/u01 软件
+DATA 数据文件
+RECO 恢复文件

RAC:
/u01 每个节点放 Grid / Database 软件
+DATA / +RECO 放共享数据库文件
grid 管集群,oracle 管数据库

一句话定稿:本次的 /u01/u02/u03 划分适用于 Oracle 单机文件系统部署;路径结构以 Oracle 官方 OFA 示例为基础,结合现场 1TB 磁盘做了软件、数据、恢复区分离。ASM 和 RAC 的核心区别是数据文件不再走本地 XFS 挂载点,而是进入 ASM 磁盘组。

相关推荐
JOJO数据科学44 分钟前
DbGate Electron 鸿蒙 PC 适配全记录:从桌面数据库工具到 OpenHarmony HAP
数据库·electron·harmonyos
初圣魔门首席弟子1 小时前
AI Agent 核心原理:工具调用(Function Calling)完整工作流程详解
前端·数据库·人工智能
半夜修仙1 小时前
延迟队列的介绍及常见问题
java·数据库·中间件·rabbitmq
herinspace1 小时前
管家婆云辉煌开单优化
服务器·数据库·电脑·管家婆软件·财务软件
王二端茶倒水1 小时前
智慧公寓网络运营:从入住开通到退租停用
运维·物联网·架构
翼龙云_cloud1 小时前
阿里云代理商:如何管理CPFS的POSIX客户端挂载点?
运维·阿里云·云计算·阿里云 cpfs
码云骑士1 小时前
24-Django请求全链路-WSGI到数据库响应的完整旅程
数据库·python·django
A.说学逗唱的Coke1 小时前
【大模型专题】AIOps + Loop 工程:从智能告警到自愈闭环的实战指南
运维·人工智能·devops
QWEDDRFTG1 小时前
杜绝工程事故,服务器电源线这样选
服务器