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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Spread Privacy
Spread Privacy
H
Hacker News: Front Page
PCI Perspectives
PCI Perspectives
Webroot Blog
Webroot Blog
罗磊的独立博客
H
Heimdal Security Blog
TaoSecurity Blog
TaoSecurity Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Last Week in AI
Last Week in AI
美团技术团队
Help Net Security
Help Net Security
The Hacker News
The Hacker News
C
Cisco Blogs
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
The Register - Security
The Register - Security
IT之家
IT之家
WordPress大学
WordPress大学
Jina AI
Jina AI
Recent Commits to openclaw:main
Recent Commits to openclaw:main
H
Help Net Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threat Research - Cisco Blogs
P
Proofpoint News Feed
NISL@THU
NISL@THU
爱范儿
爱范儿
The GitHub Blog
The GitHub Blog
Scott Helme
Scott Helme
V
Vulnerabilities – Threatpost
B
Blog
T
Tenable Blog
博客园 - 三生石上(FineUI控件)
T
The Exploit Database - CXSecurity.com
S
Security Affairs
小众软件
小众软件
Hacker News: Ask HN
Hacker News: Ask HN
Security Latest
Security Latest
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
W
WeLiveSecurity
A
Arctic Wolf
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence

博客园 - 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一起成长~