尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
ODI 12cR1安装:双jar顺序与Oracle Home一致性避坑
简介面向数据集成工程师、中间件运维与 Oracle 技术学习者的 ODI 12cR1 安装实操文档针对企业级 JEE 与独立安装场景梳理部署要点帮助读者理解 ODI 与 Fusion Middleware Infrastructure 的依赖关系及安装顺序。资源包仅含 1 个 docx 文档大小约 2.23MB内容围绕下载准备、JDK 版本检查、Infrastructure 与 ODI 的图形化安装、odi64.exe 指定 JDK 主目录以及安装后的 ODI Studio 连接和基础配置展开对 Operator、Topologies、接口映射与知识模块等核心概念也有说明。已有 266 人学习适合作为搭建实验环境、排查安装前提和快速熟悉 ODI 部署流程的参考资料也可供需要补全中间件架构认知的初中级读者按文档逐步实践。1. 装 ODI 12cR1 卡在第一步的人不少两个 jar 的顺序比命令本身更要紧第一次装 ODI 的人十有八九会把注意力放在图形向导的“下一步”上真正让人返工的却是前面那些看起来不起眼的决定JDK 用哪一个、两个 jar 包谁先谁后、ODI 要不要装进 Infrastructure 的那个目录里。这份自编的 ODI 安装文档Oracle Data Integrator 12cR112.1.3.0.0把这条链路完整走了一遍两个官方 zip、解压出的fmw_12.1.3.0.0_infrastructure.jar与fmw_12.1.3.0.0_odi.jar、JDK 1.7 以上的前置校验以及最后双击odi64.exe指定 JDK home 的那一步。它适合要在内网机器上从零搭一套企业级 ODI 环境、后续还要接真实数据源做 ETL 的实施和开发人员如果你只是想在本机摸一摸 Studio 的界面走 Standalone 分支就够不用碰 Infrastructure。下面按环境对齐、双 jar 叠加、域与资料库、排查、脚本化五段把这份文档里没写透的地方补齐。2. 环境对齐JDK、资料库、安装目录三张清单先定死安装器本身不复杂复杂的是它对你机器现状的假设。ODI 12.1.3.0.0 的安装程序是 Java 写的它启动时只认JAVA_HOME和PATH里的那个java域配置阶段又要连一个能建 schema 的数据库两个 jar 还必须落在同一个 Oracle Home 下。这三件事任何一件在装之前没定死后面都会以“装到一半报错”的形式还回来。2.1 JDK 版本与 JAVA_HOME别让 PATH 里的老 java 顶包文档里写的是“JDK 1.7 以上”这句话在实际操作里太宽。机器上常见的状态是系统自带一个 1.6 的java在/usr/bin下环境变量里又挂着另一个 1.8java -version出来的是前者。安装器一旦用到 1.6表现出来往往不是一句清楚的“版本不符”而是解压到一半退出、日志里丢一句Unsupported major.minor version。我一般会把 JDK 单独放一个目录比如/u01/jdk1.8.0_1xx不往系统路径里塞安装时用绝对路径调它的bin/java同时在命令行上再显式带一次-jreLoc。这样即使PATH里那堆东西再乱安装器也只会用你指定的这一份。版本上12.1.3 这个年代的产品1.7.0_80 和 1.8.0 的早期小版本是最省心的组合太新的 8u 尾号有时候会在先决条件检查里被判定为“未认证”。# 确认这份 JDK 是真能被调起来的注意用的是绝对路径 /u01/jdk1.8.0_1xx/bin/java -version # 输出里要能看到 64-Bit Server VM32 位 JDK 装不了企业版 # java version 1.8.0_1xx # Java(TM) SE Runtime Environment ... # Java HotSpot(TM) 64-Bit Server VM ...这段命令的意义不在看版本号而在确认两件事一是java可执行文件本身没坏二是它是 64 位的。ODI 企业版安装器在 Windows 上给的是odi64.exe在 Linux 上虽然没有显式的 64 位后缀但整个 FMW 栈都是按 64 位编的32 位 JDK 会在解压阶段就失败报错信息还相当含糊。参数上-version走的是标准输出后面排查安装器问题时把这条命令的结果和安装日志第一段对一遍能快速判断到底用的是哪份 JDK。2.2 资料库规划schema 前缀、表空间与字符集企业版 ODI 跑起来需要两类东西一套 FMW 自己的元数据 schemaMDS、OPSS、IAU、STB 这些一套 ODI 的仓库 schemaMaster Repository 和 Work Repository。前者由 RCU 统一建后者也在 RCU 里勾选或者先建 Master、再在 Studio 的 Topology 里挂 Work。规划的核心是前缀。RCU 里填一个前缀比如DEV它会给你生成DEV_MDS、DEV_OPSS、DEV_IAU、DEV_STB、DEV_ODI_REPO这一串用户。这个前缀一旦定了后面域配置阶段校验 schema 时是大小写敏感、一字不差的改一次就得重跑 RCU。我的习惯是环境名 用途全大写不超过 8 个字符比如DEV、UAT、PRD绝不用odi、test1这种看不出环境的写法。表空间也别全塞进默认的USERS。FMW 那套 schema 建起来会占掉几百兆ODI 仓库随接口数量增长得更快单独给一个ODI_DATA表空间、初始 1G 自动扩展比事后挪表空间省事得多。数据库字符集要确认是 AL32UTF8源系统里有中文或特殊字符时这一条不满足后面接口跑出来的乱码会让人怀疑人生而且这种问题在 ODI 层面几乎无解。组件典型 schema用途建议表空间MDSDEV_MDS元数据服务存 ADF/MDS 相关对象FMW_DATAOPSSDEV_OPSS安全策略与凭据存储FMW_DATAIAU / IAU_APPEND / IAU_VIEWDEV_IAU等审计服务三个用户一组FMW_DATASTBDEV_STB公共基础设施服务FMW_DATAODI RepositoryDEV_ODI_REPOMaster/Work Repository 主体ODI_DATA表里这些 schema 名在 RCU 界面里是勾选组件后自动拼出来的不要手写。有一点要提前想清楚Work Repository 是和具体项目绑定的一个 Master 下可以挂多个 Work。如果团队里同时有开发库和测试库常见做法是同一套前缀下建一个 Master、两个 WorkDEV_WORK_REP、UAT_WORK_REP而不是每个环境都重装一遍。2.3 安装目录与磁盘Oracle Home 只装一次别装两处这是整份文档里最容易被忽略、后果又最严重的一条。Infrastructure 和 ODI 两个 jar必须装进同一个Oracle Home 目录。文档里写“选择安装位置”但没说清楚第二次装 ODI 时这个位置不能新建必须指回第一次装 Infrastructure 的那个路径。我在测试机上见过最典型的翻车Infrastructure 装到了/u01/app/oracle/middleware装 ODI 时手一抖选了/u01/app/oracle/odi安装器一路绿灯装完目录里也确实有文件可启动config.sh建域时模板列表里压根没有 ODI 相关的项。原因很简单ODI 的组件是“叠加”到已有的 FMW Home 上的装到别处等于装了一份孤立的文件注册信息根本没进 Oracle Home 的清单。目录规划上我的固定结构是这样/u01/app/oracle/middleware作为唯一的 Oracle Home两个 jar 都装这里/u01/app/oracle/config/domains放域/u01/app/oracle/admin放 Node Manager 和实例相关/u01/soft放安装包和解压临时文件。磁盘上Oracle Home 装完大概 4 到 5G加上域、日志、临时解压预留 20G 比较稳。/tmp也要看一眼安装器会往里面写临时文件/tmp只有 1G 的机器在解压阶段报“空间不足”的情况并不少见。# 装之前先看一眼磁盘别等安装器报错才回头查 df -h /u01 /tmp # 建好目录属主给运行中间件的那个用户别用 root 装再 chown mkdir -p /u01/app/oracle/middleware mkdir -p /u01/app/oracle/config/domains mkdir -p /u01/app/oracle/admin chown -R oracle:dba /u01/app/oracle # 解压安装包路径不要带空格和中文 mkdir -p /u01/soft/infra /u01/soft/odi unzip -q fmw_12.1.3.0.0_infrastructure_Disk1_1of1.zip -d /u01/soft/infra unzip -q fmw_12.1.3.0.0_odi_Disk1_1of1.zip -d /u01/soft/odi ls /u01/soft/infra /u01/soft/odiunzip -q的-q是静默模式解压大包时刷屏没什么意义出错了才需要看输出。两个目录分开解压是为了出问题时能一眼看出是哪个包没解开。ls那一步是必须的正常应该看到fmw_12.1.3.0.0_infrastructure.jar和fmw_12.1.3.0.0_odi.jar两个文件如果只看到一个.zip或者一个空目录说明unzip因为磁盘或权限问题中途失败了这时候去跑java -jar只会得到一句Unable to access jarfile。3. 双 jar 叠加安装Infrastructure 先落地ODI 再叠到同一个 Oracle Home到这里环境已经定死了接下来是两个安装器的执行。顺序不能反Infrastructure 必须先把 Oracle Home 建起来ODI 才能识别到“这里已经有一套 FMW”并切换到企业安装模式。两份安装器的向导页数都不多真正需要盯的是安装位置、安装类型和最后那几行日志。3.1 解压与安装器的启动方式图形 静默文档里的做法是进 JDK 的bin目录再跑java –jar 路径\xxx.jar这是 Windows 上的写法注意那个短横线其实是中文破折号直接复制会报错得手改成 ASCII 的-。Linux 上更推荐用绝对路径调java省得纠结当前在哪个目录。# 图形方式启动 Infrastructure 安装器 # -jar 后面跟 jar 的绝对路径别用相对路径容易在切换目录后失效 /u01/jdk1.8.0_1xx/bin/java -jar /u01/soft/infra/fmw_12.1.3.0.0_infrastructure.jar # 先决条件检查想跳过自动更新可以加参数但生产环境不建议图省事 # /u01/jdk1.8.0_1xx/bin/java -jar .../fmw_12.1.3.0.0_infrastructure.jar -novalidation图形向导里的几个关键页欢迎页的自动更新可以取消勾选内网机器连不上外网时这步会卡很久先决条件检查页会跑一遍操作系统参数、JDK 版本、磁盘空间的校验这里出现的警告要逐条看尤其是“OS Kernel Parameters”相关的semmsl、shmmax这些不满足后面域起不来安装位置页填/u01/app/oracle/middleware也就是 2.3 里定死的那个目录安装类型选默认的 Fusion Middleware Infrastructure 即可。整个过程大概 10 到 20 分钟进度条走到 90% 附近会停一会儿那是在生成组件清单不用以为卡死了。静默安装更适合要装好几套环境的场景参数就三个关键项-silent表示无界面-responseFile指向响应文件-jreLoc指向 JDK 根目录。# 静默安装 Infrastructure # -jreLoc 要填 JDK 的根目录不是 bin 目录这点和后面 Studio 的要求一致 # -invPtrLoc 指向 oraInst.loc多 Oracle Home 的机器上必须显式指定 /u01/jdk1.8.0_1xx/bin/java -jar /u01/soft/infra/fmw_12.1.3.0.0_infrastructure.jar \ -silent \ -responseFile /u01/soft/infra.rsp \ -jreLoc /u01/jdk1.8.0_1xx \ -invPtrLoc /u01/oraInst.loc \ -logLevel info-jreLoc这一项填错是最常见的很多人下意识写成/u01/jdk1.8.0_1xx/bin安装器会报找不到 JRE因为它在那个路径下找lib和release文件。-invPtrLoc的作用是告诉安装器去哪个文件里记“这台机器装过哪些 Oracle Home”不指定的话它会默认往用户家目录写多用户共用一台机器时换个人装就读不到之前的清单。-logLevel info让日志详细一点出问题时有东西可查日志默认落在/u01/app/oracle/middleware/oraInst.loc同级或者安装目录下的install子目录里具体路径安装器结束时会打印在终端最后几行记得往下翻一屏。3.2 ODI 安装器的 Enterprise 与 Standalone 分支Infrastructure 装完接着装 ODI。这一步的安装位置必须指回/u01/app/oracle/middleware安装器检测到这个目录下已有 FMW 组件安装类型里就会出现企业安装的选项。文档里那句“ODI 企业安装之前必须安装 Oracle Fusion Middleware Infrastructure独立安装则不需要”对应的就是这里的两个分支。企业安装Enterprise会把 ODI 的组件注册进已有的 Oracle Home后续能配 JEE 代理、能接 WebLogic 域、能在 EM 里管独立安装Standalone会新建一个只含 Studio、Agent 和 SDK 的目录不依赖 WebLogic适合单机试水或者只做设计不做调度的场景。两者的区别不在功能全不全而在“要不要跑在域里”一旦涉及生产调度和集群只能走企业安装。# 装 ODI注意安装位置必须与 Infrastructure 完全一致 /u01/jdk1.8.0_1xx/bin/java -jar /u01/soft/odi/fmw_12.1.3.0.0_odi.jar \ -silent \ -responseFile /u01/soft/odi.rsp \ -jreLoc /u01/jdk1.8.0_1xx \ -invPtrLoc /u01/oraInst.loc响应文件里对应的是ORACLE_HOME/u01/app/oracle/middleware和INSTALL_TYPEEnterprise Install这两行前者写错就变成两份互不相干的安装后者写错装完就没有域的模板可选。图形方式下安装类型那一页如果只看到 Standalone 一个选项说明安装器没认出这是同一个 Oracle Home退回去检查 2.3 的目录。安装器跑完后有个细节它不会自动把odi64.exe或odi.sh放到显眼的位置Studio 的启动器在$ORACLE_HOME/odi/studio/bin下面。文档里说“双击 odi64.exe第一次提示指定 JDK home 路径”指的就是这个位置Windows 上直接双击Linux 上跑odi.sh。第一次启动它会弹一个框让你填 JDK 路径这里填的同样是 JDK 根目录填bin会一直提示“无效的 JDK 主目录”。3.3 装完怎么验目录、组件清单、日志三处交叉确认安装器显示“成功”不等于真的成功。我一般会做三处交叉确认任何一处对不上都说明叠加没生效。第一处看目录结构。Oracle Home 下应该同时存在odi、oracle_common、wlserver这几个一级目录odi下面有studio、agent、sdk等子目录。如果odi目录存在但wlserver不在说明 Infrastructure 那份装到了别处。第二处看组件清单。用 OPatch 列出这个 Oracle Home 里注册的所有组件正常应该能看到 ODI 和 FMW Infrastructure 各自的条目。# 列出 Oracle Home 中注册的所有组件 /u01/app/oracle/middleware/OPatch/opatch lsinventory # 输出里重点关注这几行版本号要对得上 12.1.3.0.0 # Oracle Data Integrator 12.1.3.0.0 # Oracle Fusion Middleware Infrastructure 12.1.3.0.0 # Oracle WebLogic Server 12.1.3.0.0opatch lsinventory的输出比较长grep一下能省事但第一次装的时候建议完整看一遍里面还会列出 patch 情况。如果 ODI 那行不在说明第二个 jar 装的其实是另一个 Home-invPtrLoc指向的清单文件里会有线索。第三处看安装日志。两个安装器都会在自己的logs目录下留下install*.log搜索SEVERE和ERROR有些非致命的错误安装器不会中断但会在后面配置域时爆发。这三处都对上了再往下走域配置能省掉一大半“装完了但配不起来”的排查时间。4. 域与资料库落地RCU 建 schema、config.sh 建域、Studio 首连验证组件装完只是把一个软件栈铺在了磁盘上它还不会跑。真正让 ODI 能连、能建接口的是接下来的三件事RCU 建 schema、配置向导建域、Studio 首次连接。这三步有严格的先后顺序跳过任何一步都会在下一步卡住。4.1 RCU 建库组件勾选与 schema 前缀RCU 是随 Infrastructure 一起装进来的位置在$ORACLE_HOME/oracle_common/bin/rcu。它的作用是把 FMW 和 ODI 需要的那一堆 schema 一次性建出来包括用户、表空间、基础表结构。图形方式下几个页要盯住数据库连接页填的是服务名形式的连接串主机:端口/服务名填 SID 在部分版本上会连不上schema 前缀页填 2.2 里定好的那个字符串全大写组件选择页勾选需要建的那些ODI 相关的在列表里是以Oracle Data Integrator开头的两三项。静默方式更适合重复执行组件名用-listComponents先查准确各版本之间命名会有细微差别。# 先列出当前 RCU 支持的组件名别凭记忆写 /u01/app/oracle/middleware/oracle_common/bin/rcu -listComponents # 静默建库注意连接串、前缀、组件三者要和后续域配置一致 /u01/app/oracle/middleware/oracle_common/bin/rcu -silent \ -createRepository \ -connectString dbhost:1521/ORCLPDB \ -dbUser SYS -dbRole sysdba \ -schemaPrefix DEV \ -component MDS \ -component IAU -component IAU_APPEND -component IAU_VIEW \ -component OPSS -component STB \ -component ODI_REPO \ -f /dev/null-connectString用服务名而不是 SID是为了兼容容器库和多实例-dbUser SYS -dbRole sysdba是建库必须的权限用普通 DBA 账号有时会在建表空间那步失败-f /dev/null是让它在需要交互确认时直接走默认值不加会在无人值守时挂住。跑完 RCU 会生成一份rcu.log里面明确列出每个 schema 的创建结果和临时口令如果设了统一口令就不用管这份日志建议留着域配置阶段连不上库时第一件事就是回来对连接串。RCU 建完不要急着关窗口去数据库里确认一下用户是不是真的建出来了select username from dba_users where username like DEV%;应该能列出前面规划的那一串。少一个后面域配置的 schema 校验就会失败而且报错信息不一定点名是哪个组件缺。4.2 config.sh 建域模板、端口、Node Manager域配置用的是$ORACLE_HOME/oracle_common/common/bin/config.sh。这个向导前面几步都是通用配置域位置、管理员口令、端口真正决定性的是模板选择页。模板列表里能看到的条目取决于 RCU 建了哪些 schema正常情况下能看到 Oracle Data Integrator 相关的 Agent、Console、SDK 这几个模板以及 Oracle Enterprise Manager 的可选项。企业版部署一般至少勾 Agent 和 ConsoleAgent 负责实际执行调度Console 提供 Web 端的监控和管理界面。如果模板页里一个 ODI 条目都没有九成是 RCU 没跑完或者前缀对不上别在这个页面反复试。域位置我固定在/u01/app/oracle/config/domains/odi_domain和管理域分开方便以后单独备份和迁移。端口规划上管理服务器用 7001HTTP和 7002SSLNode Manager 用 5556这几个端口在测试机上经常被别的服务占着建域前netstat -tlnp | grep 70看一眼能省一次返工。# 启动域配置向导 /u01/app/oracle/middleware/oracle_common/common/bin/config.sh # 建完之后启动管理服务器和 Node Manager # 注意顺序先 Node Manager 再管理服务器机器重启后靠这个顺序自恢复 /u01/app/oracle/config/domains/odi_domain/bin/startNodeManager.sh /u01/app/oracle/config/domains/odi_domain/bin/startWebLogic.shstartNodeManager.sh后面的只是把它丢到后台正式环境应该配成系统服务不然登出终端就断了。启动日志里要确认两件事一是 Node Manager 报Secure socket listener started二是管理服务器最后出现Server state changed to RUNNING。这两个都出现了再用浏览器访问http://主机:7001/em或者 ODI Console 的地址能出登录页说明域是活的。域启动慢是常态尤其第一次为了生成各种缓存文件两三分钟都正常。内存不足的机器上管理服务器会启动到一半退出日志里是OutOfMemoryError这种情况在 4.1 建库阶段看不出来只能靠启动日志判断。测试环境把 JVM 堆调到 1G 到 2G 一般够用。4.3 Studio 首连与三个必配项Topology、Operator、KM域起来之后才轮到 ODI Studio。第一次启动它连 Master Repository会走一遍创建向导填数据库连接、schema 用户和口令然后设一个SUPERVISOR的 ODI 口令和资料库 ID。这个 SUPERVISOR 口令和数据库口令是两套东西别混忘了的话需要进库删记录重建没有后悔药。连上之后一个全新的仓库是空的按文档里说的接下来要建 Topology、Operator 和加载知识模块这三件事是后续所有接口开发的前提。配置项在哪配关键内容不做的后果TopologyStudio 的 Topology 导航器物理/逻辑架构、数据服务器、物理 schema接口里选不到源和目标OperatorStudio 的 Operator 导航器执行会话、调度、Agent 注册接口能设计但跑不起来知识模块设计器里导入 KM各数据库对应的 LKM、IKM、CKM映射无法生成可执行代码Topology 最容易卡人的是自己把自己绕晕物理架构定义“数据库在哪”逻辑架构定义“在接口里怎么引用”。新手常见的做法是每接一个源库就建一套逻辑架构结果几十个接口各用各的后面换库时改到崩溃。稳妥的做法是先按业务域分逻辑架构物理架构跟具体库一一对应中间用上下文Context来区分环境。Operator 那边Agent 的 URL 要和 4.2 里域的实际地址端口对上写错了执行会话会一直停在等待状态。KM 是从安装目录里导入的路径在$ORACLE_HOME/odi/sdk/xml-reference或者 Studio 的导入向导里直接选导入前先确认目标数据库的版本选错 KM 生成的 SQL 在目标库上跑不通。5. 避坑与排查五条装完连不上的血泪记录前面四章是顺着流程走的这一章按“出了什么现象”倒着查。安装类问题有个特点报错信息往往指向的是表层真因藏在几步之前。下面五条是我和同事在不同机器上真实踩过的每条按现象、原因、解决三段写。5.1 安装阶段的三次翻车现象一java -jar执行后一闪而过终端只留一句Unable to access jarfile。原因基本只有两种路径里有空格或中文字符或者命令行里的短横线是从文档里复制来的全角符号。Windows 上从网页复制命令时-被替换成–的概率相当高肉眼几乎看不出来。解决方法是把 jar 路径整体放到一个纯英文、无空格的目录下命令行里的每个参数前缀手敲一遍别复制。实在不确定用ls把完整路径打印出来再粘贴。现象二安装器起来了先决条件检查页报 JDK 版本不符合要求但java -version明明是新版本。原因是安装器用的不是你终端里那个java而是它自己按JAVA_HOME或者PATH找到的第一份。机器上装了多个 JDK、又把老版本留在PATH前面时就会出现“终端看着对、安装器说不对”的分裂。解决是启动时显式传-jreLoc指向正确的 JDK 根目录同时在当前 shell 里临时把JAVA_HOME覆盖掉别去改全局配置改全局会影响机器上别的应用。现象三两个包都显示安装成功但建域时模板列表里没有任何 ODI 条目。这是最费时间的一种因为两个安装器都给了成功的结论。原因几乎都是安装位置不一致Infrastructure 装在 A 目录ODI 装的时候手选了 B 目录或者第二份的-invPtrLoc指到了另一个清单文件导致 ODI 认为自己是独立安装。解决只能重装 ODI 那一个包安装位置严格指回 Infrastructure 所在的 Oracle Home装完用opatch lsinventory确认两个组件在同一个清单里。这一条没有捷径唯一的预防手段是装之前把目录写在一张纸上。5.2 域与 Studio 阶段的两次翻车现象四域配置走到 schema 校验页报“指定的 schema 不存在或口令错误”但 RCU 日志里明明建成功了。先查连接串格式RCU 建库和域配置必须用完全相同的连接串写法一边写 SID、一边写服务名校验必然失败。再查前缀大小写RCU 里填小写dev实际建出来的是大写用户域配置里如果也填小写做比较就对不上。最后才是查口令RCU 建库时如果每个 schema 设了不同口令域配置页要逐个填漏一个就整页报错。解决顺序就按这个来从最外层往里排别一上来就怀疑数据库。现象五双击odi64.exe填了 JDK 路径反复提示“无效的 JDK 主目录”。十次里有八次填的是bin目录。这个启动器要的是 JDK 根目录也就是包含bin、lib、release那一层的路径填.../jdk1.8.0_1xx/bin它找不到release文件就判定无效。剩下两次是 JDK 位数不对32 位 JDK 能被识别但后续加载会失败。解决就是填根目录、确认 64 位一次搞定。提示这五条里有三条的根因都在“安装前没把路径定死”。装之前花十分钟写清楚 JDK 路径、Oracle Home 路径、域路径、schema 前缀这四项比装完再排查两小时划算得多。6. 静默安装与重装把一次性手工活变成可复跑的脚本一套环境装下来图形向导点几十次第二次装的时候你会发现顺序记不全、参数记不准尤其是隔了几个月再装测试环境。这份自编文档的价值在“步骤清楚”但要把步骤变成资产还得落到响应文件和清理清单上。我自己维护的两份 rsp 加一个清理脚本重装一套环境从半天压到了四十分钟。6.1 响应文件的关键字段响应文件不需要从头写安装器支持-record参数图形方式完整走一遍它会把你填的每一项记成一个 rsp后面照着改就行。手写的话重点盯下面这几个字段。# infrastructure.rsp 里必须对的几项 ORACLE_HOME/u01/app/oracle/middleware # 两个包必须完全一致 INSTALL_TYPEFusion Middleware Infrastructure DECLINE_SECURITY_UPDATEStrue # 内网机器必须 true否则卡在联网检查 SECURITY_UPDATES_VIA_MYORACLESUPPORTfalse# odi.rsp 里对应的是这两行INSTALL_TYPE 写错会装成独立模式 ORACLE_HOME/u01/app/oracle/middleware INSTALL_TYPEEnterprise InstallDECLINE_SECURITY_UPDATES这一项如果不设成 true静默安装会尝试连外网做安全检查内网环境下会一直等到超时日志里还不一定写清楚是在等什么。INSTALL_TYPE的取值在两个 rsp 里不一样这是最容易复制粘贴串的地方装完发现模板列表空的先回来查这一行。6.2 装坏了怎么清回滚清单重装的前提是清干净。FMW 的安装不像普通软件那样卸载完就没了它在 Oracle Home、域目录、数据库 schema、系统服务、清单文件五处都留了痕迹任何一处没清重装时都可能读到旧的注册信息。清理位置具体内容处理方式Oracle Home/u01/app/oracle/middleware停进程后整目录删除域目录/u01/app/oracle/config/domains/odi_domain整目录删除清单文件oraInst.loc中对应条目手工删掉那一行数据库 schemaRCU 建的那批用户用 RCU 的-dropRepository删别直接 drop user系统服务Node Manager 等注册项按平台方式注销数据库那一条要特别说直接drop user ... cascade能删掉用户但 RCU 在同一套库里还记了组件注册信息下次建库时会报“该前缀已被占用”。正确做法是用 RCU 的静默删除参数按同样的组件列表和前缀跑一遍删除它会把注册信息和用户一起清掉。我吃过一次亏直接删用户之后重装RCU 报了一个和权限完全无关的错查了两小时才反应过来是注册残留。序也要注意先停域、再停 Node Manager、最后删目录反过来的话进程还握着文件句柄删到一半会报“设备忙”而这时候目录已经是半残状态只能重启机器再删一遍。从那以后我每次重装前都强制走一遍这个清单一项一项勾不凭记忆。这套流程加上前面那份自编的安装步骤基本能保证同一台机器反复装、装到第几遍结果都一致。希望帮到你。本文还有配套的精品资源点击获取
RELATED

相关推荐

VoiceStudio:开源视频本地化配音工作流中枢

VoiceStudio:开源视频本地化配音工作流中枢

1. VoiceStudio不是“又一个语音克隆工具”,而是视频本地化工作流的中枢节点最近两周,我在三个不同行业的客户现场都遇到了同一个问题:他们手头有大量需要多语种配音的培训视频、产品演示和内部会议录像,但传统外包配音周期长、成…

📅 2026/11/2 5:08:06
Word表格合并单元格与拆分单元格:网格原理、排版修复与高效技巧

Word表格合并单元格与拆分单元格:网格原理、排版修复与高效技巧

上个月帮一位朋友收拾一份投标用的资质表,打开文档我愣了几秒:一张六列的表格,表头被合成了三大块,中间还夹着两处拆得歪歪扭扭的格,列宽全乱,文字一半贴顶一半居中。他说自己折腾了一下午,越合…

📅 2026/11/2 5:03:06
微信小程序滚动公告栏性能优化与跨平台实践

微信小程序滚动公告栏性能优化与跨平台实践

1. 这个“滚动公告栏”到底在解决什么真实问题&#xff1f;很多人看到“微信小程序——滚动公告栏”这个标题&#xff0c;第一反应是&#xff1a;不就是个文字往上跑的动画效果吗&#xff1f;加个<scroll-view>设个scroll-y不就完事了&#xff1f;我最初也是这么想的——…

📅 2026/11/2 5:03:06
MORE NEWS

更多资讯

📰

微电网中光伏与空调负荷的优化控制策略

1. 项目背景与核心价值去年夏天参与某工业园区微电网项目时&#xff0c;我亲历了这样一个场景&#xff1a;当光伏发电达到峰值时&#xff0c;配电变压器却因空调集中启动导致过载跳闸。这个典型矛盾促使我开始深入研究如何协调可再生能源波动与空调负荷的关系。这项研究本质上要…

📰

ERP库存上下限管理:设置技巧与预警优化

1. 库存上下限管理的核心价值与业务场景库存上下限设置是ERP系统中最为基础却又极其关键的库存管控功能。在管家婆云辉煌ERP中&#xff0c;这个功能模块直接关系到企业的库存周转效率和资金占用情况。根据我多年实施ERP系统的经验&#xff0c;合理设置库存上下限可以帮助企业实…

📰

基于MCP协议构建跨平台AI指挥中心的技术实践

1. 项目概述&#xff1a;构建跨平台AI指挥中心去年在为一个跨国团队做技术支持时&#xff0c;我遇到了一个棘手问题&#xff1a;团队成员分散在Slack和Telegram两个平台&#xff0c;关键消息经常被遗漏。这促使我开始研究如何通过MCP协议打造一个真正的跨平台AI指挥中心。MCP&a…

📰

C++ STL全排列:next/prev_permutation避坑

刷算法题也好&#xff0c;写实际业务代码也好&#xff0c;只要碰到“把一堆元素的所有排列都列出来”这种需求&#xff0c;C 选手脑子里第一时间蹦出来的基本就是next_permutation和prev_permutation这两个函数。它们藏在<algorithm>头文件里&#xff0c;用起来一行就能推…

📰

档案管理系统设计与实现:从架构到安全

1. 项目概述"记录档案1"这个项目名称看似简单&#xff0c;却蕴含着丰富的信息管理内涵。作为一名从业多年的数据管理专家&#xff0c;我理解这类项目通常涉及信息收集、分类存储、快速检索等核心功能。在实际工作中&#xff0c;一个高效的档案管理系统能够显著提升工…

📰

VeRL框架与PPO算法在机器人控制中的应用实践

1. VeRL框架与PPO算法背景解析在深度强化学习领域&#xff0c;VeRL(Verifiable Reinforcement Learning)框架因其独特的可验证性设计而备受关注。这个框架特别适合需要高可靠性的应用场景&#xff0c;比如机械臂控制、足式机器人运动规划等。我最早接触VeRL是在开发仓储自动化项…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬