DB2异机恢复实战:从备份还原到实例启动的完整避坑指南
简介这份文档面向使用 NetBackup 对 DB2 数据库进行异机恢复的运维与数据库工程师聚焦备份配置与恢复流程的落地实践适合具备一定 DB2 与 NBU 基础的中高级技术人员参考。资源包内共 1 个 doc 文件大小约 314KB内容围绕 DB2 Agent 配置、数据库参数调整、备份脚本与策略文件展开便于按章节查阅与对照操作。文档系统梳理了运行 db2_config 复制用户出口程序 db2uext2、通过 userexit、logretain、trackmod 参数启用归档日志与增量备份以及 db2_backup 脚本中 DB2_CLIENT、DB2_SERVER、DB2_POLICY、DB2_SCHED 等变量的设置方法并给出 db2.conf 中 DATABASE、OBJECTTYPE、POLICY、SCHEDULE 及归档日志 ARCFUNC、RETDIR 的配置示例。目前已有 335 人学习可帮助读者理解异机恢复所需的备份链路与关键参数减少配置排错时间。1. DB2异机恢复为什么备份能还原实例却起不来凌晨两点测试环境的同事在群里甩来一句“生产库的备份文件拿到了帮忙在备机上拉起来”。你手里有一个完整的 DB2 备份镜像目标机器上 DB2 也装好了看起来只是RESTORE一条命令的事。结果敲下去报错SQL1035N或者SQL0970N实例根本连不上。这不是玄学是 DB2 异机恢复里最典型的翻车现场——备份文件本身没问题问题出在“异机”这两个字上。DB2 异机恢复指的是把 A 机器上某个数据库的备份恢复到 B 机器上让 B 机器上的实例能正常访问这个库。它和同机恢复最大的区别在于实例名、数据库路径、日志目录、注册表变量、认证方式这些在源端和目标端往往不一致。DB2 的备份镜像里记录了源端的部分元数据恢复时如果目标端环境对不上轻则恢复报错重则恢复成功但库起不来。这篇文章面向的是需要做数据库迁移、灾备演练、测试环境搭建的 DBA 和后端工程师从备份前检查一路讲到恢复后排错把每一步的参数和坑都摊开。2. 异机恢复前必须对齐的四件事实例、路径、日志、权限异机恢复不是拿到备份就开干。我一般会先花二十分钟把源端和目标端的环境差异列清楚这二十分钟能省掉后面两小时的排错。核心要对齐的是四样东西实例信息、数据库路径、日志配置、操作系统权限。2.1 源端实例名和目标端实例名不一致会怎样DB2 的实例名在备份镜像里是有记录的。如果你在源端实例db2inst1下备份了数据库SAMPLE恢复到目标端实例db2inst2下恢复命令本身可能能跑完但后续连接时会出现实例级的不匹配。常见做法是要么在目标端创建同名实例要么在恢复后通过db2relocatedb做实例名和路径的重定位。先看源端信息收集这一步在源机器上执行# 查看源端实例名和实例拥有者 db2ilist # 输出示例db2inst1 # 查看数据库基本信息确认数据库名、别名、路径 db2 list db directory # 查看数据库配置重点关注路径和日志相关参数 db2 get db cfg for SAMPLE | grep -i -E path|logdb2ilist列出当前机器上所有实例确认源端实例名。db2 list db directory输出里要重点看Database name、Database alias、Local database directory三行。db2 get db cfg里要关注Path to log files、First log archive method、Overflow log path这几个参数它们决定了恢复后日志能不能正常滚动。目标端同样跑一遍把两边信息列成表对比检查项源端示例目标端要求不一致的后果实例名db2inst1建议同名连接报实例不存在数据库路径/db2/data可不同需重定位恢复后库路径错乱日志路径/db2/logs需可写且空间足够恢复后无法前滚实例用户db2inst1需存在且权限对权限拒绝 SQL0551N2.2 数据库路径和日志路径的预检查路径问题是异机恢复里最容易埋雷的地方。源端数据库在/db2/data目标端可能只有/data如果你直接恢复DB2 会尝试按镜像里的路径写文件目标端没有这个目录就报SQL0970N或者更隐蔽的SQL1035N。我一般会在恢复前做三件事第一确认目标端磁盘空间。用df -h看数据库路径和日志路径所在分区空间至少是源端数据库大小的 1.5 倍因为恢复过程中要同时容纳备份解压和日志。第二手动创建目录并授权。假设目标端规划数据库路径为/db2data日志路径为/db2log# 创建数据库和日志目录 mkdir -p /db2data /db2log # 授权给实例用户假设实例用户为 db2inst2 chown -R db2inst2:db2iadm1 /db2data /db2log chmod -R 750 /db2data /db2logchown把目录归属给实例用户和实例组chmod 750保证只有属主和同组可读写执行。DB2 实例用户对数据库路径必须有写权限否则恢复阶段就会失败。第三确认日志配置。如果源端开启了归档日志目标端也要配置归档日志路径否则恢复完成后数据库无法正常前滚。用db2 update db cfg for SAMPLE using LOGARCHMETH1 DISK:/db2log/archive可以在恢复后调整但更稳妥的做法是在恢复前就把实例级参数配好。2.3 操作系统用户和组的一致性检查DB2 实例是绑定操作系统用户的。源端实例属于db2inst1用户和db2iadm1组目标端如果实例用户是db2inst2恢复后数据库文件属主会不对。常见做法是目标端创建和源端同名的实例用户和组或者恢复后用chown修正文件属主。检查命令# 查看实例用户和组 id db2inst2 # 查看实例所属组 db2 get instanceid命令确认用户存在且组关系正确。db2 get instance输出当前实例名和实例用户。如果目标端实例用户和源端不一致恢复后需要用db2relocatedb做重定位这个工具后面会详细讲。提示异机恢复前把源端和目标端的db2level输出对比一下。DB2 版本不一致时低版本备份恢复到高版本通常可行高版本备份恢复到低版本基本会失败。3. 用 BACKUP 和 RESTORE 打通异机恢复的最小链路环境对齐之后就可以走恢复流程了。这一章从源端备份开始到目标端恢复完成把每一步的命令和参数讲清楚。整个链路是源端做全量备份 → 传输备份文件 → 目标端恢复 → 前滚日志 → 连接验证。3.1 源端做一次可异机恢复的离线全量备份异机恢复建议用离线全量备份避免备份过程中还有事务写入导致日志链不完整。源端操作# 先停应用连接确保没有活动连接 db2 force applications all # 做离线全量备份包含日志 db2 backup db SAMPLE to /backup online include logs # 如果数据库不允许在线备份用离线方式 db2 backup db SAMPLE to /backupdb2 force applications all强制断开所有应用连接离线备份前必须做。db2 backup db SAMPLE to /backup把数据库SAMPLE备份到/backup目录生成一个时间戳命名的镜像文件。include logs参数把日志一起打包进备份镜像异机恢复时如果目标端没有源端日志这个参数能省很多事。备份完成后确认文件ls -lh /backup/ # 输出示例SAMPLE.0.db2inst1.DBPART000.20250101120000.001文件名里包含了数据库名、实例名、分区号、时间戳。记下这个文件名恢复时要用。3.2 目标端 RESTORE 命令的四个关键参数把备份文件传到目标端假设放在/backup目录。恢复命令# 连接到目标端实例 db2 connect to SAMPLE # 如果数据库不存在先创建仅限非恢复场景恢复时不需要 # db2 create db SAMPLE # 执行恢复重定向到新路径 db2 restore db SAMPLE from /backup taken at 20250101120000 \ into SAMPLE \ redirect \ without promptingfrom /backup指定备份文件所在目录。taken at 20250101120000指定备份时间戳必须和备份文件名里的时间戳一致否则报找不到备份。into SAMPLE指定恢复到哪个数据库名可以和源端不同。redirect参数是关键——它让 DB2 暂停恢复过程允许你手动指定新的表空间容器路径异机路径不一致时必须用。without prompting禁止交互式提示适合脚本化执行。执行redirect恢复后DB2 会进入暂挂状态需要设置表空间容器路径# 查看需要重定向的表空间 db2 list tablespaces show detail # 设置新的容器路径假设原路径是 /db2/data新路径是 /db2data db2 set tablespace containers for 0 using \(PATH /db2data/ts0\) # 继续恢复 db2 restore db SAMPLE continuedb2 list tablespaces show detail列出所有表空间和状态状态为0x4000的需要重定向。db2 set tablespace containers for 0设置表空间 0 的容器路径0是表空间 IDPATH /db2data/ts0是新路径。db2 restore db SAMPLE continue继续完成恢复。3.3 前滚日志与连接验证恢复完成后数据库处于前滚暂挂状态需要执行前滚# 前滚数据库到日志末尾 db2 rollforward db SAMPLE to end of logs and complete # 如果备份里没有包含日志需要指定日志路径 db2 rollforward db SAMPLE to end of logs and complete overflow log path \(/db2log\)to end of logs and complete表示前滚到所有可用日志的末尾并完成。overflow log path指定额外日志路径当备份镜像里没有日志或者日志不完整时使用。前滚完成后验证连接# 连接数据库 db2 connect to SAMPLE # 查看数据库状态 db2 get db cfg for SAMPLE | grep -i database state # 简单查询验证 db2 select count(*) from syscat.tablesdb2 connect to SAMPLE能连上说明实例和数据库基本正常。db2 get db cfg里Database state应该是0x0000表示正常。select count(*) from syscat.tables能查出结果说明数据字典可访问。注意如果前滚时报SQL1268N说明日志链断了。检查备份是否包含日志或者源端归档日志是否完整传输到了目标端。4. 路径和实例名对不上db2relocatedb 的重定位实操上一章讲的是路径可以通过redirect参数在恢复时重定向。但如果恢复完成后发现实例名不对、数据库路径需要整体搬迁或者日志路径要改就需要用db2relocatedb工具。这个工具是 DB2 异机恢复里最容易被忽略但最有用的一个。4.1 db2relocatedb 的配置文件怎么写db2relocatedb通过一个配置文件来描述重定位规则。配置文件格式# 创建重定位配置文件 /tmp/relocate.cfg cat /tmp/relocate.cfg EOF DB_NAMESAMPLE DB_PATH/db2/data INSTANCEdb2inst1 NODENUM0 DB_PATH_NEW/db2data INSTANCE_NEWdb2inst2 LOG_DIR_NEW/db2log EOFDB_NAME是原数据库名。DB_PATH是原数据库路径。INSTANCE是原实例名。NODENUM是分区号单分区填 0。DB_PATH_NEW是新数据库路径。INSTANCE_NEW是新实例名。LOG_DIR_NEW是新日志路径。执行重定位# 停止目标端实例 db2stop force # 执行重定位 db2relocatedb -f /tmp/relocate.cfg # 启动实例 db2startdb2stop force强制停止实例重定位必须在实例停止状态下做。db2relocatedb -f /tmp/relocate.cfg按配置文件执行重定位。db2start重新启动实例。4.2 重定位后必须检查的三个地方重定位完成后有三处必须检查第一数据库目录。用db2 list db directory确认数据库路径已经变成新路径。第二日志路径。用db2 get db cfg for SAMPLE | grep -i log确认Path to log files指向新路径。第三实例连接。用db2 connect to SAMPLE确认能连上然后跑一个简单查询。# 检查数据库目录 db2 list db directory # 检查日志路径 db2 get db cfg for SAMPLE | grep -i path to log # 连接验证 db2 connect to SAMPLE db2 values current serverdb2 list db directory输出里Local database directory应该是新路径。db2 get db cfg里日志路径应该是新路径。db2 connect能连上说明重定位成功。4.3 重定位失败的常见原因重定位失败最常见的原因是配置文件路径写错。DB_PATH必须和db2 list db directory里显示的路径完全一致包括大小写。另一个原因是实例没有完全停止db2stop force之后用db2ilist确认实例已经不在运行。如果重定位后连接报SQL1031N说明数据库目录状态不对检查DB_PATH_NEW目录是否存在且权限正确。如果报SQL0901N看db2diag.log里的详细错误通常是某个文件路径没改全。5. 异机恢复避坑五条血泪经验这一章把我在异机恢复里踩过的坑列出来每条按现象、原因、解决写。这些坑不一定每次遇到但遇到一次就够折腾半天。5.1 恢复成功但连接报 SQL1035N现象db2 restore和db2 rollforward都成功但db2 connect to SAMPLE报SQL1035N 数据库当前正在使用或处于暂挂状态。原因数据库前滚没有真正完成或者实例级参数AUTHENTICATION不匹配。异机恢复时源端可能是SERVER认证目标端是CLIENT认证导致连接被拒。解决先确认前滚状态db2 get db cfg for SAMPLE | grep -i database state如果是0x4000说明还在暂挂。重新执行db2 rollforward db SAMPLE to end of logs and complete。如果状态正常检查认证方式用db2 get dbm cfg | grep -i auth对比源端和目标端不一致时用db2 update dbm cfg using AUTHENTICATION SERVER调整。5.2 前滚报 SQL1268N 日志链断裂现象db2 rollforward报SQL1268N 由于错误 ...已停止对数据库 SAMPLE 的日志恢复。原因备份镜像里没有包含日志或者源端归档日志没有完整传输到目标端。异机恢复时如果只传了备份文件没传归档日志前滚就会断。解决确认备份时是否加了include logs。如果没加需要从源端把归档日志目录整体传到目标端然后指定overflow log path重新前滚。如果加了include logs还报这个错检查备份文件是否完整重新做一次备份。5.3 表空间容器路径重定向后仍报路径错误现象redirect恢复时设置了新容器路径continue后仍然报SQL0290N或路径相关错误。原因db2 set tablespace containers命令里的表空间 ID 写错了或者新路径目录不存在。DB2 的表空间 ID 不是按名字顺序排的必须用db2 list tablespaces查出来的 ID。解决重新执行db2 list tablespaces show detail找到状态为0x4000的表空间记下 ID。确认新路径目录已经创建且权限正确然后重新db2 set tablespace containers for ID using (PATH 新路径)再db2 restore db SAMPLE continue。5.4 恢复后数据库大小和源端不一致现象恢复完成后db2 list tablespaces显示的表空间大小和源端不一致或者数据文件数量不对。原因redirect恢复时只重定向了部分表空间或者新路径下已经有同名文件导致 DB2 跳过了创建。解决对比源端和目标端的db2 list tablespaces show detail输出逐个表空间检查。如果新路径下有残留文件清空后重新恢复。恢复前确保目标路径是干净的。5.5 实例用户权限不足导致恢复中断现象db2 restore执行到一半报SQL0551N或权限拒绝。原因目标端实例用户对备份文件所在目录没有读权限或者对数据库路径没有写权限。解决检查备份文件权限ls -l /backup/确认实例用户可读。检查数据库路径权限ls -ld /db2data确认实例用户可写。用chown和chmod修正后重新恢复。提示异机恢复前把db2diag.log的路径记下来恢复过程中如果报错第一时间看这个文件比猜错误码快得多。6. 恢复后的验证清单与一个提速技巧恢复完成不代表结束。我一般会跑一个验证清单确认数据库真的可用而不是“看起来可用”。这一章把验证清单列出来再分享一个用db2move做数据比对的提速技巧。6.1 恢复后必跑的六项验证第一项实例级验证。db2ilist确认实例存在db2 get instance确认当前实例正确。第二项数据库级验证。db2 list db directory确认数据库路径正确db2 get db cfg for SAMPLE | grep -i database state确认状态为0x0000。第三项表空间验证。db2 list tablespaces show detail确认所有表空间状态为0x0000没有暂挂。第四项数据字典验证。db2 select count(*) from syscat.tables能查出结果。第五项业务表验证。db2 select count(*) from 业务表对比源端行数。第六项日志验证。db2 get db cfg for SAMPLE | grep -i path to log确认日志路径正确然后做一次小事务提交确认日志能正常写入。# 六项验证的脚本化写法 db2ilist db2 get instance db2 list db directory db2 get db cfg for SAMPLE | grep -i database state db2 list tablespaces show detail db2 select count(*) from syscat.tables db2 select count(*) from 业务表 db2 get db cfg for SAMPLE | grep -i path to log6.2 用 db2move 做数据比对的提速技巧如果恢复后需要确认数据完整性逐表select count(*)太慢。我一般用db2move导出源端和目标端的表清单和行数然后 diff 对比。源端导出# 在源端导出表清单和行数 db2 connect to SAMPLE db2 select tabschema, tabname, card from syscat.tables where tabschema not like SYS% /tmp/source_tables.txt目标端导出# 在目标端导出表清单和行数 db2 connect to SAMPLE db2 select tabschema, tabname, card from syscat.tables where tabschema not like SYS% /tmp/target_tables.txt对比# 对比两个文件 diff /tmp/source_tables.txt /tmp/target_tables.txtsyscat.tables里的card字段是表的基数统计可能不是精确行数但足够做快速比对。如果diff没有输出说明表清单和基数一致。如果有差异再针对差异表做精确select count(*)。这个技巧的局限是card字段依赖统计信息更新如果源端刚做过runstats而目标端没有数字会对不上。所以更稳妥的做法是恢复后在目标端跑一次runstats再对比。6.3 一个我常犯的错误我早期做异机恢复时总以为restore成功就万事大吉结果有一次恢复完成后直接交给应用团队他们连上后发现某个表空间是暂挂状态查询报错。后来我养成了一个习惯恢复完成后不只看restore的返回码一定跑一遍db2 list tablespaces show detail确认所有表空间状态都是0x0000。这个习惯帮我拦住了好几次“恢复成功但不可用”的情况。异机恢复这件事命令本身不复杂复杂的是环境差异。把源端和目标端的实例、路径、日志、权限对齐恢复过程用redirect控制路径恢复后用db2relocatedb兜底最后跑一遍验证清单基本就能稳定复现。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

terraform-skill - SKILL

terraform-skill - SKILL

name: terraform-skill description: “Terraform infrastructure as code best practices” risk: safe source: “https://github.com/antonbabenko/terraform-skill” date_added: “2026-02-27” Claude 的 Terraform 技能 涵盖测试、模块、CI/CD 和生产模式的全面 Terrafo…

2026/10/9 10:08:16 阅读更多 →
team-composition-analysis - SKILL

team-composition-analysis - SKILL

name: team-composition-analysis description: “Design optimal team structures, hiring plans, compensation strategies, and equity allocation for early-stage startups from pre-seed through Series A.” risk: none source: community date_added: ‘2026-02-27’ 团…

2026/10/9 10:08:16 阅读更多 →
机器视觉设备的开发流程-软件角度

机器视觉设备的开发流程-软件角度

机器视觉系统的开发是一个结合硬件选型、图像采集、算法开发、系统集成与现场调试的综合性工程。一个完整的机器视觉开发流程通常分为以下 7 个阶段:1. 需求分析与方案评估明确检测目标:确定具体任务,如缺陷检测、尺寸测量、目标识别、定位引…

2026/10/9 10:08:16 阅读更多 →

最新新闻

眼科四分类数据集实战:70MB小体量跑通全流程

眼科四分类数据集实战:70MB小体量跑通全流程

简介:这份眼睛疾病分类数据集面向医学图像处理初学者、计算机视觉课程实验者及需要快速验证分类模型的研究人员,解决眼疾图像数据获取难、预处理繁琐的问题。数据按文件夹组织,可直接用ImageFolder加载,无需额外清洗。压缩包共604…

2026/10/9 10:43:17 阅读更多 →
矩阵置零O(1)空间原地算法详解:LeetCode 73标记法实战

矩阵置零O(1)空间原地算法详解:LeetCode 73标记法实战

做算法题的朋友应该都见过“矩阵置零”这道题,LeetCode 第 73 题,基本是面试题库里的常客。题目本身很短:给你一个 mn 的矩阵,如果某个元素是 0,就把该元素所在的整行和整列全部置为 0,而且要求原地修改&am…

2026/10/9 10:43:17 阅读更多 →
pytest+requests接口自动化测试框架封装实战指南

pytest+requests接口自动化测试框架封装实战指南

做自动化测试框架的人一多,市面上各种“万能模板”就多了起来。但说句实在话,我从接触接口自动化到现在,见过太多直接把代码堆在一起的工程,跑起来能用,换个人接手就成灾难现场。甚至很多测试同学拿到网上的开源框架&a…

2026/10/9 10:43:17 阅读更多 →
Robocup2D agent2d 决策链解析:bhv、role 与 WorldModel 实战笔记

Robocup2D agent2d 决策链解析:bhv、role 与 WorldModel 实战笔记

简介:这份文档面向RoboCup 2D仿真足球竞赛的初学者与参赛选手,系统梳理agent2d-3.1.1代码中的关键概念,帮助读者理解智能体如何控制球员完成比赛行为。内容围绕行为动作、球员角色、世界模型、代码结构与球场区域划分展开,逐一解释…

2026/10/9 10:43:17 阅读更多 →
奥运奖牌预测模型复现:多元非线性回归与BP神经网络实战

奥运奖牌预测模型复现:多元非线性回归与BP神经网络实战

简介:这份PDF文档围绕奥运会奖牌预测这一体育数据分析与机器学习交叉课题,系统讲解多元非线性回归与BP神经网络两类建模方法,适合具备一定统计学与机器学习基础、希望将算法落地到真实赛事预测场景的研究者与学习者参考。文档共1个PDF文件&am…

2026/10/9 10:43:17 阅读更多 →
ETTh1时间序列预测实战:LSTM、Transformer与DLinear数据管线全解析

ETTh1时间序列预测实战:LSTM、Transformer与DLinear数据管线全解析

简介:面向时间序列预测学习与毕业设计场景的完整源码包,基于Python实现,在ETTh1电力变压器数据集上系统对比长短期记忆网络(LSTM)、Transformer与自定义线性模型的预测效果,支持通过调整模型名称、序列长度…

2026/10/9 10:42:15 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 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/8 21:13:17 阅读更多 →
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/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练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/9 6:17:20 阅读更多 →