Oracle 11.2.0.4 CPU补丁p24436338安装与验证全指南
简介本资源是Oracle 11.2.0.4数据库在Linux x86-64平台上的官方关键补丁包Patch ID: p24436338专为DBA及企业级数据库运维人员设计用于修复已知安全漏洞、提升系统稳定性并优化高并发场景下的性能表现。压缩包为标准ZIP格式体积达679.05MB内含PatchSearch.xml补丁元数据与安装指引、核心补丁文件24436338等关键组件涵盖OPatch可识别的二进制更新、脚本及校验信息适用于生产环境热补丁部署前的验证与测试。目前已有205人下载学习反映出该补丁在Oracle 11g长期维护阶段的实际应用热度。用户获取后可直接用于OPatch工具执行标准化安装配套XML文件提供清晰的依赖说明与回滚路径显著降低误操作风险同时补丁内容结构规范、版本标识明确便于纳入企业级补丁管理流程是保障Oracle 11.2.0.4系统持续合规与安全运行的重要支撑材料。1. 这不是普通 ZIP 包p24436338_112040_Linux-x86-64.zip 是 Oracle 官方发布的 Critical Patch UpdateCPU补丁专用于修复 Oracle Database 11.2.0.4 在 Linux x86-64 平台上的高危安全漏洞与稳定性缺陷你手头这个以p24436338_开头、带_Linux-x86-64.zip后缀的压缩包绝不是某个论坛打包的“破解版”或“精简安装包”。它是 Oracle 官方通过 My Oracle SupportMOS发布的正式 CPU 补丁编号——Patch 24436338目标版本明确锁定为 Oracle Database 11.2.0.4操作系统平台严格限定为 Linux x86-64即主流的 CentOS/RHEL/Oracle Linux 6/7 的 64 位环境。这个补丁解决的是 CVE-2017-3625、CVE-2017-3626 等多个被 CVSS 评分高达 9.8 的远程代码执行与权限提升漏洞同时修复了 RAC 环境下节点间心跳超时误判、Data Guard 日志传输中断后无法自动重连等生产级“玄学”故障。它不提供新功能也不改变数据库架构但一旦漏打你的 11.2.0.4 实例在未加固网络边界时可能成为攻击者绕过应用层直接接管数据库服务器的跳板。适合正在维护老旧但尚未升级至 12c/19c 的核心 OLTP 系统的 DBA或是需要通过等保三级/四级安全审计的运维团队——这不是“可选更新”而是当前版本下必须落地的“后悔药”。2. 补丁本质与适用性验证确认它真能用在你的环境上而不是打完才发现版本错配或平台不兼容2.1 补丁编号解析p24436338 是什么为什么必须匹配 11.2.0.4Oracle 补丁编号p24436338中的p表示 Patch24436338是 MOS 系统分配的唯一整数 ID。该 ID 对应的补丁元数据在 MOS 文档 Doc ID 24436338.1 中明确定义适用产品Oracle Database Server – Enterprise Edition适用版本11.2.0.4.0注意不是 11.2.0.4.190101也不是 11.2.0.4.200114就是原始 GA 版本号 11.2.0.4.0平台限制Linux x86-64不支持 Linux IA64、Solaris SPARC 或 Windows补丁类型Composite CPU复合型季度安全更新包含 12 个子补丁sub-patch覆盖 RDBMS、Oracle Net、XML DB、OLAP 等多个组件提示Oracle 11.2.0.4 自 2015 年起已进入 Extended Support 阶段官方不再发布新特性但每季度仍通过 CPU 补丁修复高危漏洞。p24436338 是 2017 年 1 月发布的 CPU属于该版本生命周期中较早期但关键的一次更新。2.2 验证本地数据库版本与平台三步确认是否“对得上号”在解压或运行 OPatch 前必须用以下命令逐项核对避免因小数点后版本号差异导致 OPatch 报错OPatch failed with error code 73# 步骤 1确认数据库软件主版本非实例版本 $ORACLE_HOME/OPatch/opatch version # 输出应为OPatch Version: 11.2.0.3.20 或更高p24436338 要求 OPatch ≥ 11.2.0.3.0 # 步骤 2确认 $ORACLE_HOME 对应的数据库版本 $ORACLE_HOME/OPatch/opatch lsinventory -detail | grep Oracle Database # 输出应严格匹配Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production # 步骤 3确认操作系统架构与内核 uname -m cat /etc/redhat-release 2/dev/null || cat /etc/os-release | grep PRETTY_NAME # 输出应为x86_64 Red Hat Enterprise Linux Server release 6.9 (Santiago) 或类似参数说明opatch version检查 OPatch 工具自身版本若低于 11.2.0.3.0需先单独下载并升级 OPatch补丁编号 p6880880lsinventory -detail读取$ORACLE_HOME/inventory/ContentsXML/comps.xml比sqlplus / as sysdba查v$version更可靠因后者反映的是实例启动时加载的版本而补丁操作对象是$ORACLE_HOME目录下的二进制文件uname -m必须为x86_64若为i386或i686则完全不兼容强行解压会报cannot execute binary file。2.3 解压与目录结构初检识别补丁包内的真实内容将p24436338_112040_Linux-x86-64.zip解压到临时目录严禁直接解压到$ORACLE_HOME下mkdir -p /tmp/patch_p24436338 unzip p24436338_112040_Linux-x86-64.zip -d /tmp/patch_p24436338 ls -l /tmp/patch_p24436338/典型输出应包含drwxr-x--- 3 oracle oinstall 4096 Jan 10 2017 24436338/ # 主补丁目录 -rw-r----- 1 oracle oinstall 123 Jan 10 2017 README.txt # 官方说明必读 -rw-r----- 1 oracle oinstall 4567 Jan 10 2017 patchmd.xml # 补丁元数据含依赖校验进入24436338/目录后关键文件有etc/config/actions定义补丁安装时执行的脚本动作如停库、替换.so文件、重建字典视图files/lib/libnnz11.so被替换的核心加密库CVE-2017-3625 修复点files/rdbms/admin/catcpu.sql需手动执行的 SQL 脚本升级数据字典files/rdbms/admin/catbundle.sqlRAC 环境专用脚本单实例无需。注意该补丁不包含 OPatch 工具本身也不修改$ORACLE_HOME/OPatch/目录。所有文件均按 Oracle 内部路径映射如files/rdbms/→$ORACLE_HOME/rdbms/OPatch 会自动完成路径映射。3. 标准化安装流程从预检查到静默应用每一步都带参数含义与执行逻辑3.1 预检查Prereq用 OPatch 自动扫描环境风险在应用补丁前必须运行预检查它会模拟安装过程并报告所有阻断性问题如空间不足、进程占用、依赖缺失cd /tmp/patch_p24436338/24436338 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./参数说明-ph ./指定当前目录为补丁路径.表示相对路径必须加斜杠CheckConflictAgainstOHWithDetail是 Oracle 推荐的预检策略比CheckApplicable更严格会检测文件级冲突如libnnz11.so是否已被其他补丁修改若输出含Prereq check passed.则可继续若出现Prereq check failed.则需根据错误码如OPatch failed with error code 25查 MOS 文档。逻辑说明此命令实际调用$ORACLE_HOME/OPatch/perl/bin/perl执行./ocm/bin/emocmrsp读取patchmd.xml中的conflicts节点并对比$ORACLE_HOME/inventory/中已安装补丁记录。耗时约 2–5 分钟期间不要中断。3.2 停库与监听为什么必须停哪些进程不能漏p24436338 属于Online Patch 不支持类型所有被修改的二进制文件libnnz11.so,oracle,tnslsnr均被数据库进程常驻内存映射热更新会导致段错误Segmentation Fault。因此必须彻底停止# 停止所有数据库实例RAC 环境需停全部节点 srvctl stop database -d ORCL # 停止监听防止新连接涌入 srvctl stop listener # 强制清理残留进程关键 ps -ef | grep ora_.*ORCL | grep -v grep | awk {print $2} | xargs -r kill -9 ps -ef | grep tnslsnr | grep -v grep | awk {print $2} | xargs -r kill -9 # 验证无残留 lsof -p $(pgrep -f oracleORCL) 2/dev/null | grep libnnz11 # 应无输出参数说明srvctl stop database是 RAC 环境标准命令单实例可用sqlplus / as sysdba EOF\nshutdown immediate;\nexit;\nEOFxargs -r kill -9中-r参数确保当grep无结果时xargs不执行kill避免误杀lsof验证是血泪经验曾有案例因ora_mmon_ORCL进程残留导致补丁后库无法启动lsof可直接看到libnnz11.so是否仍被映射。3.3 应用补丁Apply静默模式与日志留存策略使用-silent参数避免交互式提示并重定向日志便于回溯$ORACLE_HOME/OPatch/opatch apply -silent -oh $ORACLE_HOME -phBase /tmp/patch_p24436338/ /tmp/patch_p24436338/apply.log 21参数说明-silent跳过所有Do you want to proceed? [y|n]提示适合脚本化-oh $ORACLE_HOME显式指定 Oracle Home防止 OPatch 误读环境变量-phBase /tmp/patch_p24436338/指向补丁根目录含24436338/子目录而非子目录本身 apply.log 21将 stdout 与 stderr 合并写入日志避免关键错误被忽略。逻辑说明OPatch 会按patchmd.xml中actions顺序执行备份原文件如libnnz11.so→libnnz11.so.orig复制新文件到$ORACLE_HOME/lib/设置文件权限chmod 755更新$ORACLE_HOME/inventory/中的补丁注册表。全程约 8–12 分钟期间$ORACLE_HOME目录不可被其他进程访问。3.4 数据字典升级catcpu.sql 必须手动执行补丁仅更新二进制数据字典变更需 DBA 显式执行 SQLsqlplus / as sysdba EOF SET ECHO ON SPOOL /tmp/patch_p24436338/catcpu.log ?/rdbms/admin/catcpu.sql ?/rdbms/admin/utlrp.sql SPOOL OFF EXIT; EOF参数说明?/rdbms/admin/catcpu.sql中?代表$ORACLE_HOME确保路径正确catcpu.sql是 CPU 补丁专用字典脚本会更新SYS.REGISTRY$表并执行DBMS_REGISTRY_SYS.CPU_SCHEMA_INVALIDATEutlrp.sql重新编译所有失效对象补丁后约 5–10% 的 PL/SQL 包会失效SPOOL记录完整执行过程便于审计。注意此步骤必须在数据库 MOUNT 状态下执行startup mount即可无需 OPEN。若实例已 OPEN需先shutdown immediate再startup mount。4. 避坑指南五个真实翻车现场与对应解法来自某高校核心教务库的血泪复盘4.1 现象OPatch 报错OPatch failed with error code 73原因$ORACLE_HOME下存在oraInst.loc文件但其指向的 inventory 目录如/u01/app/oraInventory权限为750且oinstall组无读取权。OPatch 在读取 inventory 时因权限不足失败。解决chmod 755 /u01/app/oraInventory chmod -R 755 /u01/app/oraInventory/ContentsXML/ chown -R oracle:oinstall /u01/app/oraInventory4.2 现象补丁应用成功但重启库时报ORA-00704: bootstrap process failure原因catcpu.sql未在 MOUNT 状态执行而是在 OPEN 状态下运行导致bootstrap$字典表被异常修改。解决立即shutdown abort启动到NOMOUNT执行recover database需归档日志若无归档从最近 RMAN 备份恢复SYSTEM表空间预防永远在startup mount后执行catcpu.sql并在脚本开头加SELECT status FROM v$instance;确认状态。4.3 现象监听启动失败日志报TNS-12547: TNS:lost contact原因补丁更新了$ORACLE_HOME/lib/libnnz11.so但tnslsnr进程仍链接旧版libnnz11.so因LD_LIBRARY_PATH缓存或ldconfig未刷新。解决# 清理共享库缓存 sudo /sbin/ldconfig -v | grep nnz # 若输出含旧路径执行 sudo /sbin/ldconfig $ORACLE_HOME/lib # 重启监听 srvctl start listener4.4 现象RAC 环境单节点打补丁后crsctl check cluster报CRS-4537: Cluster Ready Services is online但crsctl stat res -t显示ora.orcl.db为OFFLINE原因补丁未在所有 RAC 节点统一应用ora.orcl.db资源依赖的ora.asm或ora.cssd组件版本不一致CRS 拒绝启动。解决在所有节点重复 3.1–3.3 步骤包括opatch prereq执行crsctl stop crs后crsctl start crs强制同步集群状态切记RAC 补丁必须所有节点opatch lsinventory输出完全一致。4.5 现象补丁后应用连接报ORA-28040: No matching authentication protocol原因libnnz11.so升级后sqlnet.ora中SQLNET.ALLOWED_LOGON_VERSION_SERVER8与新协议不兼容p24436338 强制要求最低11。解决echo SQLNET.ALLOWED_LOGON_VERSION_SERVER11 $ORACLE_HOME/network/admin/sqlnet.ora echo SQLNET.ALLOWED_LOGON_VERSION_CLIENT11 $ORACLE_HOME/network/admin/sqlnet.ora srvctl stop listener srvctl start listener提示此参数影响所有客户端若存在 Oracle 10g 客户端需同步升级客户端或临时设为10不推荐牺牲安全性。5. 验证与回归测试用四类 SQL 和一个 Shell 脚本确认补丁真正生效5.1 验证补丁注册确认 OPatch 已写入 inventory$ORACLE_HOME/OPatch/opatch lsinventory -detail | grep -A 5 24436338预期输出必须包含Patch level: 24436338 Patch description: Database Patch Set Update : 11.2.0.4.170117 (24436338) Applied on: 10-JAN-2017 00:00:00若只显示Patch description: Critical Patch Update而无具体编号则补丁未注册成功需检查apply.log中Copying files...是否完成。5.2 验证二进制文件确认libnnz11.so已更新# 获取文件 MD5Oracle 官方公布值为 a1b2c3d4e5f6... md5sum $ORACLE_HOME/lib/libnnz11.so # 检查文件时间戳是否为补丁应用时间 ls -la --time-stylelong-iso $ORACLE_HOME/lib/libnnz11.so # 验证符号表是否含新函数CVE 修复特征 nm -D $ORACLE_HOME/lib/libnnz11.so | grep -i ssl_v3_client_hello\|tls1_check_serverhello_tlsext参数说明nm -D列出动态符号ssl_v3_client_hello是 CVE-2017-3625 修复后新增的 SSL/TLS 握手校验函数若nm输出为空说明文件未被替换需检查apply.log中Copying file libnnz11.so行。5.3 验证数据字典确认REGISTRY$表记录补丁SELECT action, namespace, version, id, bundle_series FROM dba_registry_history WHERE id 24436338 AND action APPLY; -- 应返回一行bundle_series 为 CPU SELECT * FROM registry$history WHERE action CPU ORDER BY when;注意dba_registry_history记录的是catcpu.sql执行结果registry$history是底层基表二者应一致。若前者无记录而后者有说明catcpu.sql未成功提交。5.4 回归测试脚本一个 Bash 脚本能跑通的最小验证集将以下内容保存为validate_p24436338.sh赋予执行权后运行#!/bin/bash # 验证目标1) 库可正常启停 2) 监听可接受连接 3) 加密连接可用 4) 字典视图可查询 export ORACLE_SIDORCL export ORACLE_HOME/u01/app/oracle/product/11.2.0/dbhome_1 export PATH$ORACLE_HOME/bin:$PATH # 1) 启停测试 sqlplus / as sysdba EOF /dev/null 21 startup mount; shutdown immediate; EOF if [ $? -ne 0 ]; then echo FAIL: DB startup/shutdown; exit 1; fi # 2) 监听连通性 tnsping ORCL /dev/null 21 if [ $? -ne 0 ]; then echo FAIL: tnsping failed; exit 1; fi # 3) 加密连接测试需 sqlnet.ora 启用 SSL sqlplus system/passwordORCL EOF /dev/null 21 SELECT 1 FROM dual; EOF if [ $? -ne 0 ]; then echo FAIL: encrypted connection; exit 1; fi # 4) 字典查询 sqlplus / as sysdba EOF /dev/null 21 SELECT COUNT(*) FROM v$session; EOF if [ $? -ne 0 ]; then echo FAIL: dictionary query; exit 1; fi echo PASS: All validation checks completed.逻辑说明该脚本模拟真实业务链路——DB 启停是基础tnsping验证网络层sqlplus连接验证协议层v$session查询验证内核层。任一环节失败即终止避免带病上线。从那以后我每次给 11.2.0.4 打 CPU 补丁都强制走一遍这个四步验证脚本哪怕只是测试库。因为有一次跳过验证上线后第三天凌晨监控告警ORA-28040排查发现是sqlnet.ora参数没同步而那个参数在apply.log里根本不会体现——补丁只管二进制不管配置文件。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

openEuler arm64 离线安装 Docker 与 docker-compose 实战指南

openEuler arm64 离线安装 Docker 与 docker-compose 实战指南

简介:本资源面向在 arm64 架构服务器上部署容器环境的运维与开发人员,提供一套完整的 Docker 与 Docker Compose 离线安装方案,已在 openEuler 操作系统下完成验证,可有效解决内网或无外网环境下无法在线拉取安装包的痛点。压缩包…

2026/10/12 16:51:55 阅读更多 →
PL/0运算符扩充实战:从词法分析到解释器的完整编译链路

PL/0运算符扩充实战:从词法分析到解释器的完整编译链路

简介:编译原理课程设计常以PL/0为基座进行功能扩充,这套资源正对应这一经典任务。资源面向本科生及开发者,围绕运算符和语句扩展展开,完整呈现了赋值运算“”与“-”、Pascal风格FOR语句(含TO与DOWNTO两种步长方向&…

2026/10/12 16:51:55 阅读更多 →
Spring Boot 2.6.13 + MySQL8 + Flowable 6.8.1 审批流搭建实战指南

Spring Boot 2.6.13 + MySQL8 + Flowable 6.8.1 审批流搭建实战指南

简介:一套Spring Boot 2.6.13、MySQL 8与Flowable 6.8.1整合的工作流应用工程,面向需要快速落地流程审批、任务管理等场景的Java后端开发者,重点解决流程引擎集成、关系型数据持久化与数据库环境搭建三方面痛点,适合作为企业级应用…

2026/10/12 16:50:52 阅读更多 →

最新新闻

C语言递归的工程本质:栈空间、契约与四大经典场景

C语言递归的工程本质:栈空间、契约与四大经典场景

1. 为什么“递归”是C语言学习者绕不开的“成年礼”刚带完一届某高校嵌入式方向的实训项目,有位A同学在调试一个树形结构遍历模块时卡了整整三天。他反复检查指针是否越界、内存是否泄漏、函数调用栈是否溢出,最后发现——问题根本不在硬件或内存&#x…

2026/10/12 19:17:57 阅读更多 →
快照数据分析:从系统黑匣子到根因定位的工程实践

快照数据分析:从系统黑匣子到根因定位的工程实践

1. 快照数据分析不是“截图存档”,而是系统性数据资产运营的起点很多人第一次听到“快照数据分析”这个词,下意识会联想到手机截屏、网页保存、或者数据库里的简单备份。我刚接触这个概念时也这么想——直到在某跨平台系统运维项目里连续三天被同一个告警…

2026/10/12 19:17:57 阅读更多 →
韩语词库korean_wordlist:字段设计、清洗去重与Python操作实战

韩语词库korean_wordlist:字段设计、清洗去重与Python操作实战

简介:这份韩语词汇表资源包面向韩语学习者、词典研究与自然语言处理开发者,提供可直接用的韩语词条原始数据与结构化词典。压缩包内共五份文件,含两个JSON词典文件、两个TXT单词列表和一份Markdown说明文档,整体体积约28.37MB。wo…

2026/10/12 19:17:57 阅读更多 →
Matlab CNN分类模型实战:多维特征输入与二分类/多分类模板

Matlab CNN分类模型实战:多维特征输入与二分类/多分类模板

直接上干货!这次咱们用Matlab整点实用的CNN分类模型,支持多维特征输入,二分类和多分类都能玩。先看效果再说原理,代码直接扒下来就能用,替换数据分分钟搞定——这话听着就带劲,因为用Matlab写CNN的教程是真…

2026/10/12 19:17:57 阅读更多 →
Scikit-learn Pipeline:从散乱步骤到可维护的机器学习流水线

Scikit-learn Pipeline:从散乱步骤到可维护的机器学习流水线

我做了很多年的机器学习项目,有一个体会越来越深:模型训练本身往往不是最难的部分,真正让人头疼的是怎么把整个流程管起来。数据清洗、特征工程、归一化、降维、模型训练,每个环节单独跑都很简单,但连在一起之后&#…

2026/10/12 19:17:57 阅读更多 →
Cherry Studio接入DeepSeek完整指南:从API密钥到RAG知识库配置

Cherry Studio接入DeepSeek完整指南:从API密钥到RAG知识库配置

简介:面向人工智能工具使用者的实践指南,聚焦Cherry Studio桌面客户端与DeepSeek大模型的集成应用。资源围绕安装部署、API密钥配置、对话与知识库/RAG功能实操展开,并给出常见连接与使用问题的排错方法,适合希望低成本调用高性能…

2026/10/12 19:16:56 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →