惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
News | PayPal Newsroom
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
Forbes - Security
Forbes - Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
PCI Perspectives
PCI Perspectives
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
Last Week in AI
Last Week in AI
Blog — PlanetScale
Blog — PlanetScale
Hacker News: Ask HN
Hacker News: Ask HN
H
Heimdal Security Blog
D
Docker
Cloudbric
Cloudbric
P
Privacy International News Feed
S
Security Affairs
TaoSecurity Blog
TaoSecurity Blog
博客园 - 聂微东
WordPress大学
WordPress大学
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
Tenable Blog
Scott Helme
Scott Helme
人人都是产品经理
人人都是产品经理
Recent Announcements
Recent Announcements
P
Palo Alto Networks Blog
小众软件
小众软件
L
LINUX DO - 最新话题
美团技术团队
Google Online Security Blog
Google Online Security Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
雷峰网
雷峰网
Microsoft Security Blog
Microsoft Security Blog
The Hacker News
The Hacker News
Webroot Blog
Webroot Blog
T
Tor Project blog
G
Google Developers Blog
A
About on SuperTechFans
Y
Y Combinator Blog
K
Kaspersky official blog
A
Arctic Wolf
量子位
I
InfoQ
V
Visual Studio Blog
T
Troy Hunt's Blog
C
Cybersecurity and Infrastructure Security Agency CISA
J
Java Code Geeks
博客园 - 【当耐特】
GbyAI
GbyAI

博客园 - AlfredZhao

kbot3测试Model报500:一次app_id参数排查记录 一人公司OPC理念探索:如何把Agent业务做成闭环 Docker 容器不写代理,临时用 OS 变量解决网络问题 impdp 遇到 TSTZ Version 报错:ORA-39405 处理实践 数据乱成一锅粥,还能先做本体吗? SQL*Plus 执行中文 SQL 文件,如何避开乱码坑 Podman 报错:普通用户无法运行 rootless Podman 怎么办 语义层构建:企业级AI落地绕不开的关键 AI时代最扎心的真相:人类在打杂,AI在做决策 Win7老系统登录报错怎么解?PuTTY这次真能救急 Linux 主机防火墙如何同时开启 80 和 443? AI 编程变更记录:知识加工模块与博客工厂模块的状态重新定义 一篇搞定:用 curl 测试私有部署模型联通性 DBA除了修库,还能把经验变成更大的价值 原本3GB+ 的 Docker 镜像直接缩成500M RAG技术从1.0到4.0,系统为何越来越“会想” 生产环境里,为什么不建议把普通端口直接暴露到公网? ORACLE默默地搞了个免费的智能体工厂 GPT 省钱,不是别用最新模型,而是别浪费缓存 Docker 容器时区不对,`timedatectl` 不存在怎么办? AI 编程工作总结:从体验问题到模块能力建设 OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G? vi 删除指定范围的行,不用再反复按 dd AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 AI编程系列01:裸 API 账单场景下,如何自建 LLM 用量可视化看板 氛围编程实战系列:先规划清楚学习路径 入门:我的第一个Vibe Coding实践程序 Linux时区修改为CST 如何在Oracle Agent Factory中配置国内厂商的LLM? Oracle Deep Data Security (Deep Sec) 初体验 APEX实战第13篇:全套开发环境的本地配置与恢复实践 Codex 和 OpenClaw,到底差在哪? 微信对接OpenClaw的常见问题和解决方案 在群晖NAS上配置OpenClaw:一次踩坑后的保姆级教程(完整修订版) 用Docker安全驯服OpenClaw,并打通社交软件 RAG 时代的“破壁人”:为什么你的大模型应用急需 Docling? 为什么 AI 服务器首选 Ubuntu?难道 OEL 和 RHEL 不香吗? APEX实战第12篇:Oracle APEX 工作区密码忘记了怎么办? AI开发者如何无痛部署Oracle AI Database 26ai环境 Oracle 26ai 本地通用版这次是真的来了 Docker 快速入门:手把手教你打包 Python 应用 APEX实战第11篇:图形界面轻松解锁工作区账户 APEX实战第10篇:手把手教你给APEX打补丁 APEX实战第9篇:手把手教你集成RAS轻松实现真正的数据安全 小白学AI开发01:创建第一个示例Agent LangChain、LangFlow、LangGraph:一文讲清三大 LLM 框架的定位与差异 使用 Oracle 官方 HR Demo 快速验证 RAS 功能(小白实战指南) Oracle RAS:AI时代企业数据安全核心 新版MOS(My Oracle Support)主要变化 APEX实战第8篇:ORDS连库报错574?一招根治用户过期问题 为什么 Iceberg 在数据湖领域这么火
DB升级 23.26.2:/opt 空间临界导致 OPatch 失败的处理记录
AlfredZhao · 2026-07-24 · via 博客园 - AlfredZhao

2026-07-24 22:37  AlfredZhao  阅读(0)  评论()    收藏  举报

这次尝试升级到 23.26.2 时,笔者又遇到了一个很典型的问题:/opt 空间看起来差不多够,但 OPatch 实际执行时仍然容易失败。记录一下处理过程,方便后续遇到类似情况时快速判断。

01 | 问题出在“刚好够”的 /opt 空间

当时 /opt 的精确可用空间是:

13652123648 bytes

也就是大约 13.65 GB。而 OPatch 检查到需要:

12787.7 MB

从数字上看,好像还有一点余量,但这类场景并不稳。OPatch 在实际 apply 时,还需要额外空间用于解压、备份、rollback 和临时文件,所以“检查时看着差不多,真正执行时失败”很常见。

当时查看 /opt

[root@aibs ~]# df -Th /opt
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroupVm-LogVolOpt ext4 25G 11G 13G 46% /opt

这里的关键不是只看 Avail 是否大于 OPatch 提示值,而是要给补丁过程留出实际操作空间。

02 | 扩容后重新检查并继续打补丁

笔者给 /opt 增加了 5G 空间:

lvextend -L +5G /dev/VolGroupVm/LogVolOpt
resize2fs /dev/VolGroupVm/LogVolOpt

扩容后再次查看:

[oracle@aibs ~]$ df -h /opt
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroupVm-LogVolOpt 30G 11G 18G 38% /opt

随后重新执行 OPatch 空间检查:

$ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace \
-phBaseDir /u01/media/39093711

检查通过后继续安装补丁,结果成功:

Patch 39093711 successfully applied.
Sub-set patch [38743669] has become inactive due to the application of a super-set patch [39093711].
Please refer to Doc ID 2161861.1 for any possible further required actions.
Log file location: /opt/oracle/product/26ai/dbhome_1/cfgtoollogs/opatch/opatch2026-07-17_10-31-55AM_1.log

OPatch succeeded.

接下来按照 readme 打开数据库,包含所有 PDB,并继续执行 datapatch 等必做步骤。

datapatch 执行完成后,可以看到补丁在各个容器中都应用成功:

Patch 39093711 apply (pdb CDB$ROOT): SUCCESS
Patch 39093711 apply (pdb PDB$SEED): SUCCESS
Patch 39093711 apply (pdb DATACLAWPDB): SUCCESS
SQL Patching tool complete on Fri Jul 17 10:45:21 2026

之后编译无效对象:

$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -n 1 -e -b utlrp -d $ORACLE_HOME/rdbms/admin utlrp.sql

最后登录确认版本和 PDB 状态:

SQL*Plus: Release 23.26.2.0.0 - Production on Fri Jul 17 10:48:08 2026
Version 23.26.2.0.0

Connected to:
Oracle AI Database 26ai Enterprise Edition Release 23.26.2.0.0 - Production
Version 23.26.2.0.0

SQL> show pdbs;

 CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
 2 PDB$SEED READ ONLY NO
 3 DATACLAWPDB READ WRITE NO

这次问题的核心很简单:OPatch 提示的空间需求不是最终唯一标准,实际 apply 过程还需要额外余量。对于接近临界值的 /opt,先扩容再打补丁,处理过程会更稳。

关注我,和AI一起成长~