简介:面向数据集成与中间件实施人员的一份 ODI 12cR1(12.1.3.0.0)安装配置实操文档,适合刚接触 Oracle Data Integrator、需要判定企业级与独立两种部署模式差异的初中级工程师参考。文档从官方安装介质获取切入,先点明 JEE 安装必须预先部署 Oracle Fusion Middleware Infrastructure 的依赖关系,再依次交代解压、进入 JDK 的 bin 目录以 java -jar 启动安装向导、选择安装位置与类型、校验 JDK 1.7 以上环境、双击可执行程序并指定 JDK 主目录等关键环节,中英文对照的说明便于比对理解。安装收尾后转入 ODI Studio 的使用准备,涵盖 Operator 与 Topologies 的建立、接口与映射的设计部署以及知识模块的选用,帮助读者理清中间件架构下各组件的协作关系。资料为单个 docx 文件,压缩包约 2.23MB,篇幅紧凑、步骤连贯,已有 266 人学习,可作为完整跑通一次安装流程的对照清单。
1. ODI 12cR1 安装不是双击下一步:先把 JEE 与 Standalone 的选择定死
ODI安装最容易被当成“解压、双击、下一步”的常规软件安装,真到机房里却经常卡在第一个分叉:企业级 JEE 安装要先装 Fusion Middleware Infrastructure,独立安装又不需要它。这份自编安装文档的价值不在步骤多全,而在把两个 jar 的先后顺序、JDK 路径写法和odi64.exe首次启动要填的 JDK Home 固定下来。它适合正在搭 ODI 12cR1 开发环境、准备做数据迁移和转换的工程师,也适合第一次接触中间件安装、不想在向导里来回试错的新手。先选部署形态,再谈路径和参数,后面能少返工。
2. 装前把 JDK 和安装介质摆平:两个 jar 包的落位与校验
2.1 JDK 1.7+ 的检查口径与 JAVA_HOME 落地
ODI 12cR1 的安装器启动时认的是 JDK,不是 JRE。很多“java -jar一闪而过”的问题,根子不在安装包,而在命令行里的java指向了系统自带的 JRE,或者JAVA_HOME指向了jre子目录。我一般先在目标机器上把 JDK 解压到短路径,再把JAVA_HOME指到 JDK 根目录,最后才去碰安装 jar。检查命令不复杂,但要看清输出的是 JDK 版本,不是运行环境版本。
REM 检查当前命令行实际调用的 Java 版本,1.7 及以上才满足 ODI 12cR1 安装器要求 java -version REM 查看 JAVA_HOME 是否指向 JDK 根目录,而不是 jre 子目录 echo %JAVA_HOME% REM 查看 PATH 中 java 的落点,确认没有优先命中系统 JRE where javajava -version的输出看第一行版本号,1.7 以上即可;echo %JAVA_HOME%的结果应当是类似D:\jdk的根路径,末尾不要带\bin,也不要带\jre;where java用来确认命令行优先找到的java.exe就在这个 JDK 的bin下。如果where java第一条指向Program Files\Common Files\Oracle\Java\javapath一类系统路径,先把 PATH 里 JDK 的bin提到前面,再开一个新的 cmd 窗口复测。路径里不要有空格、中文和括号,这不是玄学,安装器解压临时文件时对特殊字符很敏感。
2.2 两个 zip 解压后的文件清单与放置策略
安装介质只有两个 zip,但它们的角色不同。Fusion Middleware Infrastructure 是企业安装的地基,ODI 的 zip 是上层工具。文档里写得很直白:ODI 企业安装之前必须先装 Infrastructure,独立安装则不需要。我一般把两个 zip 解压到同一个暂存目录,只取 jar,不直接在压缩包里双击运行。暂存目录和最终安装目录分开,后面清理安装包不会误删中间件 Home。
| 压缩包 | 解压后关键文件 | 作用 | 安装顺序 |
|---|---|---|---|
fmw_12.1.3.0.0_infrastructure_Disk1_1of1.zip | fmw_12.1.3.0.0_infrastructure.jar | 企业级 JEE 安装的中间件基础 | 先装,仅企业安装需要 |
fmw_12.1.3.0.0_odi_Disk1_1of1.zip | fmw_12.1.3.0.0_odi.jar | ODI 安装器 | 后装,独立安装可跳过 Infra |
放置策略上,暂存目录用D:\stage,JDK 用D:\jdk,中间件 Home 用D:\middleware\infra和D:\middleware\odi。不要把 Infra 和 ODI 塞进同一个 Home,也不要把 Home 放到Program Files下。安装器会写注册表、写 inventory、起服务,权限不足时表现为“安装到最后一步失败”,日志里未必直说权限。用管理员身份开 cmd 是最省事的做法,装完再退出。
2.3 目录规划:中间件 Home、JDK Home、安装包目录分开
目录规划不是形式主义。ODI 安装向导里会让你选 Oracle Home,odi64.exe第一次启动又会让你指定 JDK Home,这两个路径一旦混用,后面排查会变成黑匣子。我习惯让三个路径彼此独立:安装包在D:\stage,JDK 在D:\jdk,Infra 在D:\middleware\infra,ODI 在D:\middleware\odi。这样卸载、升级、换 JDK 都不会互相牵连。
| 目录 | 示例 | 说明 |
|---|---|---|
| 安装包暂存 | D:\stage | 只放解压后的 jar,装完可清理 |
| JDK Home | D:\jdk | 填给odi64.exe的根目录 |
| Infra Home | D:\middleware\infra | 企业安装先装到这里 |
| ODI Home | D:\middleware\odi | ODI 安装器目标目录 |
提示:路径长度尽量短,避免空格和中文;安装前把杀毒软件的实时扫描临时放过暂存目录,减少 jar 解压被锁的概率。
3. 先装 FMW Infrastructure:向导里真正要盯的路径、类型与组件
3.1 启动安装器的命令与工作目录
Infrastructure 的安装器是 jar,启动方式就是进入 JDK 的bin目录执行java -jar。这里有一个实操细节:不要直接双击 jar,也不要在随意目录里执行java -jar,否则命中的java可能不是刚配好的 JDK。先cd /d切到 JDK 的bin,再用绝对路径指向暂存目录里的 jar,出问题时命令行窗口不会立刻关掉,能看到报错。
REM 切到目标 JDK 的 bin 目录,确保接下来调用的 java 就是这套 JDK cd /d D:\jdk\bin REM 用绝对路径启动 Infrastructure 安装器,路径按实际暂存目录替换 java -jar D:\stage\fmw_12.1.3.0.0_infrastructure.jarcd /d里的/d是 Windows 下允许跨盘符切换;java -jar后面跟 jar 的绝对路径,不要加引号也能跑,但路径有空格时必须加引号;执行后如果只闪一下窗口,说明java不是可用 JDK 或 jar 路径写错,回到 2.1 用where java复查。安装器起来后,向导第一屏会解压临时文件,这一步慢是正常的,别急着重复点击。
3.2 安装位置与安装类型:JEE 基础要装在哪
Infrastructure 的安装位置建议单独建D:\middleware\infra,不要和后面 ODI 的 Home 混在一起。安装类型按企业级 JEE 场景选完整安装或典型安装,不要为了省空间选最小集。ODI 企业安装依赖 Infra 提供的中间件服务,组件缺失时后面 ODI 向导里会出现“找不到基础组件”或组件灰掉的情况。安装位置输入框里不要带尾部反斜杠,也不要指向已经存在的非空目录,安装器对非空目录的检查有时只给一条不痛不痒的警告。
| 向导项 | 建议值 | 原因 |
|---|---|---|
| Oracle Home | D:\middleware\infra | 与 ODI Home 分离,便于卸载和升级 |
| 安装类型 | 完整或典型 | 企业安装需要完整中间件基础 |
| JDK 绑定 | 指向D:\jdk | 与命令行启动的 JDK 保持一致 |
| 组件选择 | 保留 Infrastructure 相关组件 | 不选会导致 ODI 企业安装缺依赖 |
安装过程中会要求确认 JDK 位置或从JAVA_HOME读取。这里的原则是:命令行用哪套 JDK,向导里就填哪套 JDK。不要命令行用D:\jdk,向导里又指到另一个旧 JDK,后面odi64.exe第一次启动会反复提示 JDK Home 无效。安装器写入 inventory 的 JDK 信息会影响后续补丁和组件注册,路径不一致时问题不会立刻爆,但会在第二次安装时冒出来。
3.3 组件选择与 JDK 绑定:别把 JDK 漏在向导外
组件选择页不要一路默认。企业安装要保留 Infrastructure 的基础组件,尤其是与 WebLogic 服务、公共库相关的部分。向导里如果出现“安装类型”和“组件”两个概念,安装类型决定大框架,组件决定实际落盘内容,二者不要互相替代。我一般先在测试机按默认组件走一遍,确认D:\middleware\infra下出现oracle_common、wlserver一类目录,再回到生产机按同样选项装。不要凭记忆勾选,安装文档里把这一步写成固定项,比现场发挥可靠。
JDK 绑定还有一个容易忽略的点:安装器可能不会主动弹窗让你选 JDK,而是直接读环境变量。所以启动安装器之前,JAVA_HOME必须已经指向D:\jdk。如果安装器启动后提示 Java 版本不满足,先关掉向导,在同一个 cmd 窗口里执行echo %JAVA_HOME%和java -version,确认两者指向同一套 JDK,再重新启动。不要在向导里反复点“上一步”,临时文件解压到一半时回退容易留下锁文件。
3.4 安装后验证:用目录和日志确认
Infrastructure 装完后不要立刻去装 ODI,先做一次落盘验证。看目标 Home 下是否出现oracle_common、wlserver这类基础目录,看安装器最后给出的日志路径是否存在,日志末尾有没有Success或明显的Error。如果安装器提示成功但目录很空,多半是安装类型选错或中途取消了组件。此时不要在上面继续叠 ODI,先卸载重装 Infra,比后面排查依赖省时间。
REM 查看 Infrastructure Home 下的基础目录,确认不是空壳 dir D:\middleware\infra REM 查看安装日志目录,具体文件名以安装器最后提示为准 dir D:\middleware\infra\oraInventory\logsdir只做落盘确认,不替代安装器日志。日志目录里重点看install开头的日志,搜Error、Exception、JDK三个关键词。如果日志里出现 JDK 版本低于要求的记录,说明向导读取的 JDK 和命令行不是同一套,回到环境变量修正。Infra 没装稳就装 ODI,后面所有报错都会指向 ODI,真正的根因却埋在 Infra 的 inventory 里,这种返工最不值。
4. 再装 ODI:java -jar 到 odi64.exe 指定 JDK 的完整链路
4.1 用同一个 JDK 启动 ODI 安装器
Infra 装完后,ODI 安装器仍然用同一个 JDK 启动。命令与 Infra 类似,只是 jar 换成 ODI 的包。这里不要图省事双击 jar,Windows 文件关联有时会把 jar 交给一个旧版 Java,向导界面能起来,但安装到一半写组件时失败。命令行启动能看到完整堆栈,出了问题有据可查。
REM 仍然切到同一个 JDK 的 bin,保证 ODI 安装器与 Infra 使用同一套 JDK cd /d D:\jdk\bin REM 启动 ODI 安装器,jar 路径按暂存目录实际位置替换 java -jar D:\stage\fmw_12.1.3.0.0_odi.jarcd /d和java -jar的参数含义与 3.1 一致。ODI 安装器启动后,如果第一屏就报“Java 版本不支持”,不要怀疑 ODI 包损坏,先查java -version。如果向导能进但走到组件注册时失败,重点看安装日志里引用的 JDK 路径,常见原因是安装器读到了系统 JRE,而不是当前命令行的 JDK。安装期间不要关闭这个 cmd 窗口,部分安装器会在结束时把日志回写到标准输出。
4.2 选择 ODI 安装类型:企业安装与独立安装的分叉
ODI 安装向导走到安装类型时,企业安装和独立安装的分叉必须选对。项目正文里写得很清楚:ODI 企业安装之前必须安装 Fusion Middleware Infrastructure,独立安装则不需要。企业安装面向 JEE 部署,后面要挂中间件服务、配 Agent 和 Console;独立安装更轻,适合只做本地开发验证。选错类型不会立刻报错,但会在组件列表和后续配置里留下不一致。
| 部署形态 | 是否先装 Infra | 安装向导里的选择 | 适合场景 |
|---|---|---|---|
| 企业安装(JEE) | 必须 | 企业安装/带中间件基础 | 团队开发、Agent 部署、Console 管理 |
| 独立安装 | 不需要 | 独立安装 | 单机学习、临时验证、轻量开发 |
如果目标是企业安装,安装向导里要能识别到前面装好的 Infra Home。识别不到时,先确认 Infra 安装是否完整、JDK 是否一致、当前用户是否有权限读取 Infra 的 inventory。不要在 ODI 向导里手动填一个不存在的 Infra 路径,安装器可能接受路径但注册组件时失败。独立安装则要主动避开 Infra 依赖,组件列表里只保留 ODI 自身需要的内容。
4.3 指定中间件 Home 与组件:让 ODI 找到 Infra
ODI 的安装位置建议单独用D:\middleware\odi,不要覆盖 Infra 的 Home。向导里如果要求指定 Middleware Home 或 Infra 位置,指向D:\middleware\infra,ODI 自身 Home 指向D:\middleware\odi。组件选择按用途来:只做设计开发,至少保留 ODI Studio;要做调度和执行,保留 Agent 相关组件;要集中管理,保留 Console 相关组件。不要为了“看起来完整”全勾,组件越多,后面端口冲突和服务注册越多。
| 向导项 | 建议值 | 说明 |
|---|---|---|
| ODI Home | D:\middleware\odi | 与 Infra Home 分离 |
| Infra 位置 | D:\middleware\infra | 仅企业安装需要 |
| 组件 | Studio、Agent、Console 按需 | 开发机可先只装 Studio |
| JDK | D:\jdk | 与命令行 JDK 一致 |
组件选择页如果出现灰色不可选项,先看安装类型是否选错,再看 Infra 是否装完。企业安装下部分组件依赖 Infra 的服务注册,Infra 没装稳时这些组件会灰掉。此时不要强行下一步,退出向导,回到第 3 章检查 Infra 的目录和日志。安装器允许你跳过组件,但跳过之后不会在 ODI 里自动补,后面要重新跑安装器。
4.4 odi64.exe 首次启动:JDK Home 路径的写法与报错预防
ODI 安装完成后,第一次双击odi64.exe会提示指定 JDK Home。这是整份文档里最容易翻车的一步,因为填错一个层级就会循环提示。JDK Home 要填 JDK 根目录,不是bin,不是jre,也不是java.exe所在路径。按前面的规划,这里填D:\jdk。填完后如果仍然提示无效,先确认这个目录下同时存在bin\java.exe和lib一类 JDK 特征目录,而不是只有 JRE 的运行时文件。
D:\jdk这个输入框只认目录,不认可执行文件。路径末尾不要带反斜杠,不要用引号包起来,不要填D:\jdk\bin。如果机器上装了多套 JDK,填命令行java -version验证过的那一套。首次启动成功后,odi64.exe会记住这个 JDK Home,后续换 JDK 要去配置里改,不要直接删目录,否则下次启动又会回到指定路径的提示。
4.5 安装后目录与版本自检
ODI 装完后先做一次目录和版本自检,再谈连数据库。看D:\middleware\odi下是否出现 ODI 的bin、odi一类目录,看odi64.exe是否能正常拉起 Studio 启动画面。Studio 起来后看帮助菜单里的版本信息,确认是 12.1.3.0.0。版本不对说明安装包拿错或前面装了旧版本,后面配拓扑会出各种兼容问题。
REM 查看 ODI Home 下的目录结构,确认 Studio 和 bin 已落盘 dir D:\middleware\odi REM 从 ODI 的 bin 目录启动 Studio 可执行文件,路径以实际安装为准 dir D:\middleware\odi\odi\bin\odi64.exedir只确认文件存在,不验证功能。odi64.exe能启动但连不上仓库,属于配置问题,不是安装问题,放到第 6 章处理。安装阶段只盯三件事:JDK 是否一致、Infra 是否先装、ODI Home 是否独立。这三件事对了,后面配拓扑和建接口才有稳定的底座。
5. 避坑与排查:安装器闪退、JDK 识别失败、组件缺失的 4 条记录
5.1 现象:java -jar一闪而过,向导根本不出来
现象很直接:cmd 里敲完java -jar ...,窗口闪一下就回到提示符,没有安装界面,也没有明显报错。原因通常有三类:命令行里的java不是 JDK 而是 JRE;jar 路径里有空格但没加引号;当前用户对暂存目录没有读权限。解决时先不要反复双击 jar,回到 cmd 里执行where java,确认第一条指向D:\jdk\bin\java.exe,再用绝对路径执行 jar。路径有空格就加引号,权限不足就用管理员身份开新的 cmd。还起不来,就在命令末尾加> D:\stage\install.log 2>&1把输出重定向到文件,看看到底是 Java 版本错误还是 jar 找不到。
5.2 现象:odi64.exe提示 JDK Home 无效,反复弹窗
这个现象在第一次启动 ODI Studio 时最常见。原因不是 ODI 坏了,而是 JDK Home 填错层级:填了bin、填了jre、填了java.exe的完整路径,或者填的那套 JDK 版本低于 1.7。解决时把路径改回 JDK 根目录,例如D:\jdk,并确认该目录下bin\java.exe能独立执行java -version。如果机器上有多套 JDK,不要凭目录名猜,用where java和java -version确认命令行实际使用的那套。路径里有空格时,某些版本的启动器会解析失败,尽量把 JDK 放在短路径下。
5.3 现象:ODI 安装向导里组件灰掉,或提示找不到 Infra
组件灰掉通常不是安装包缺文件,而是安装类型和前置条件不匹配。企业安装要求先装 Fusion Middleware Infrastructure,独立安装则不需要 Infra;如果选了企业安装却没装 Infra,或者 Infra 装到了另一个 Home,向导就找不到依赖。解决时先退出 ODI 安装器,检查D:\middleware\infra下是否有完整的基础目录,再确认 Infra 安装日志末尾没有错误。确认无误后重新启动 ODI 安装器,安装类型选企业安装,Infra 位置指向实际 Home。不要在企业安装里手动跳过灰掉的组件,跳过之后不会自动补注册。
5.4 现象:安装成功但 Studio 连不上仓库,或拓扑配置报错
安装器提示成功,odi64.exe也能启动,但连 Master Repository 时失败,或者新建拓扑时提示连接串错误。原因通常是只装了软件,还没有准备 ODI 仓库;或者数据库连接串、用户权限、服务名填错。解决时先把数据库侧的仓库 schema 和权限准备好,再在 Studio 里配置连接信息。连接串不要凭记忆填,拿数据库团队给的host:port:service逐段核对。拓扑里的物理层和逻辑层要对应实际数据源,不要先建一堆用不上的上下文。安装成功不等于可用,仓库连通性才是分界线。
5.5 现象:安装日志里出现 JDK 版本警告,但向导没有拦
有些安装器只在日志里记一条 JDK 版本警告,向导仍然能走到最后,装完却出现组件注册失败。原因是启动安装器的 JDK 和向导内部读取的 JDK 不是同一套,或者JAVA_HOME指向了旧版本。解决时不要只看向导最后一句“成功”,打开安装日志搜JDK、version、warning。如果日志里的 JDK 路径不是D:\jdk,关掉安装器,在同一个 cmd 窗口重设JAVA_HOME和PATH,再重新启动。装完再补 JDK 是最容易留下隐患的做法,后面每装一次补丁都要重复踩。
6. 装完别急着建接口:ODI Studio 连通性验证与拓扑初始化
6.1 用最小闭环验证安装,而不是先建大接口
ODI Studio 能启动只说明客户端没坏,真正的验证是连上仓库、建一个最小拓扑、跑通一次接口。我一般先建一个测试用的 Master Repository 连接,确认登录不报错,再在 Topology 里配一个源和一个目标,物理层只填必要连接信息。接着建一个只有一张表的简单映射,执行一次,看会话日志里每一步是否成功。这个闭环不追求业务价值,只验证安装、JDK、仓库、Agent 这条链路是通的。
| 验证项 | 操作 | 通过标准 |
|---|---|---|
| Studio 启动 | 双击odi64.exe | 能进主界面,版本为 12.1.3.0.0 |
| 仓库连接 | 配置 Master Repository | 登录不报连接串或权限错误 |
| 拓扑 | 建源/目标物理层 | 测试连接通过 |
| 最小映射 | 单表映射并执行 | 会话日志无关键错误 |
6.2 拓扑和 KM 的检查表
拓扑配完后不要急着批量建接口,先检查知识模块是否可用。ODI 的转换逻辑大量依赖 KM,KM 缺失或版本不匹配时,映射能保存但执行会失败。常见做法是先在测试项目里挂一个最常用的 KM,跑一次全量加载,确认日志里没有“KM not found”一类错误,再复制到正式项目。拓扑里的上下文和逻辑架构也要与物理层对应,不要留下指向临时库的连接。
注意:安装文档里的路径和 JDK Home 要按实际机器替换,但“先 Infra、后 ODI、JDK 用同一套”这个顺序不要改。
从那以后我每次装完 ODI,都强制先跑一遍“启动 Studio、连仓库、单表映射”的最小闭环,再让同事接手建接口;跳过这一步,后面排查起来就是血泪经验。希望帮到你。
本文还有配套的精品资源,点击获取