ODI 12cR1安装避坑:FMW基础设施先行与RCU建库建域
简介:面向数据集成工程师与中间件运维人员的ODI 12cR1安装实操文档,聚焦Oracle Data Integrator 12.1.3.0.0在JEE企业模式下的部署路径。内容从安装包获取与前置条件入手,讲清先装Oracle Fusion Middleware Infrastructure、再装ODI的先后顺序,并记录借助JDK执行jar启动图形向导、指定JDK主目录、选择安装位置与类型等关键界面,对安装顺序、JDK版本要求、数据库连接与用户权限、中间件服务器配置等均有涉及;同时延伸到ODI Studio连接实例、创建Operator与拓扑、设计接口映射及配置知识模块等后续环节,可帮助读者建立对ODI部署链路的整体认识。压缩包共1个docx文件,约2.23MB,以图文步骤记录为主,按安装阶段组织内容,便于对照操作与检索。该文档已有265人学习,适合需要按部就班完成安装、减少试错的中初级读者,也可作为部署与配置阶段的排错参照。
1. 装 ODI 12cR1,最容易踩的不是技术,是安装顺序
有个做数据迁移的同行,下载了fmw_12.1.3.0.0_odi_Disk1_1of1.zip,解压、java -jar、一路下一步,向导没报任何错。装完打开 ODI Studio 想连资料库,却发现根本连不上,日志里也没说明真正原因。折腾到第二天他才弄明白:企业级安装里,ODI 只是中间件上的一个组件,前面必须先把 Oracle Fusion Middleware Infrastructure 12.1.3.0.0 装好,不然装出来的东西缺基础服务,看起来装完了,实际用不了。
ODI 12cR1 这套环境在企业数据集成场景里非常常见,装它的人多半是要做数据迁移、转换、加载。这篇安装笔记按「环境清单 → 先装基础设施 → 再装 ODI 本体 → 建资料库和域 → 踩坑排查 → 装完验证」的顺序,把 ODI 12.1.3.0.0 的安装过程拆成能照着执行的步骤,新手能走通,熟手能对上版本和参数。
2. 装前清单:ODI 12.1.3.0.0 到底要准备什么
动手前先确认三件事:JDK 用哪个、走企业安装还是独立安装、哪几个文件必须下载。这三件事想错一个,后面几个小时基本白装。我见过最常见的浪费时间方式,是 JDK 版本随手用了系统里现成的,装到一半报版本不符,再回头卸、换 JDK、重装。
2.1 JDK 1.7 是硬要求,但别直接拿系统里那个 java 凑合
ODI 12cR1(12.1.3.0.0)安装器本身是 jar 包,要靠java -jar启动;ODI 运行环境又要求 JDK 1.7 以上。这两条结合起来,意味着你需要一个明确的、路径固定的 JDK,而不是命令行里java碰巧指向哪个就用哪个。
我一般会单独装一个 JDK 1.8(1.7 也能跑,但 1.8 在中间件 12.1.3 上更稳),放在不带空格、不带中文的目录,比如D:\Java\jdk1.8.0_202。装完先验证一遍,别信安装器的默认值:
:: 先看命令行里真正生效的是哪个 java,很多机器这里指向的是 Oracle 自带的 jre where java java -version :: 把 JAVA_HOME 临时指到刚装的 JDK(只对当前 cmd 窗口生效,安全) set JAVA_HOME=D:\Java\jdk1.8.0_202 set PATH=%JAVA_HOME%\bin;%PATH% :: 再验一次,确认输出的版本号和你装的一致 java -versionset只在当前窗口有效,关掉就还原。这样做的好处是:验证阶段不会污染系统环境变量,装坏了也不影响机器上其他依赖 java 的程序。确认没问题后,再决定要不要写进系统环境变量。
路径里不要出现空格和中文——这是常见做法,安装器大部分时候能扛住,但 odi64.exe 这类小工具对路径敏感,一旦翻车排查成本很高。
2.2 企业安装和独立安装,走错路线后面全白费
原文里那句括号说明是关键:企业安装之前必须安装 Oracle Fusion Middleware Infrastructure,独立安装则不需要。这不是可选项,而是两条完全不同的安装路径。
| 对比项 | 企业安装(JEE) | 独立安装(Standalone) |
|---|---|---|
| 是否要先装 Infrastructure | 必须,先装fmw_12.1.3.0.0_infrastructure.jar | 不需要 |
| 是否需要 WebLogic 域 | 需要,靠配置向导建域 | 不需要 |
| 是否需要 RCU 建资料库 | 需要 | 需要,但可以简化 |
| 适合场景 | 多环境、Agent 分布式部署、有监控需求 | 单机开发、学习验证、快速跑通 |
| 装错后的代价 | 缺基础服务,Studio 连不上资料库 | 想上生产要整体重来 |
判断标准其实简单:如果你的目标是「在本机把 ODI 跑起来、做几个接口验证思路」,独立安装够用;如果后面要接 Agent、要做调度、要让别人连你的环境,那就必须走企业安装。这篇文章按企业安装这条完整路径写,因为踩坑最集中的就是这条路。
2.3 下载与解压:两个 zip 对应两个 jar
需要下载的文件就两个,解压后各得到一个 jar:
| 安装包(zip) | 解压后得到 | 作用 |
|---|---|---|
fmw_12.1.3.0.0_infrastructure_Disk1_1of1.zip | fmw_12.1.3.0.0_infrastructure.jar | 中间件基础设施,先装 |
fmw_12.1.3.0.0_odi_Disk1_1of1.zip | fmw_12.1.3.0.0_odi.jar | ODI 本体,后装 |
从官方下载页按文件名找就行,两个包版本号必须对齐——都是 12.1.3.0.0。我碰到过一次,基础设施是 12.1.3,ODI 包拿成了别的版本,安装器不报错,装完建域时组件列表里根本找不到 ODI。版本号对不上,就是这种不报错、装完没东西的毛病。
解压的时候注意两点:解压到一个独立目录,比如D:\install\odi1213\,别直接解压到桌面再挪;解压后检查 jar 大小,如果只有几十 KB,那是下载被截断,重新下。磁盘上至少留出 15 GB 空闲,中间件加 ODI 加域加资料库,装完就是这个量级。
3. 先装基础设施:Fusion Middleware Infrastructure 12.1.3.0.0 落地步骤
这一章的流程是:用指定的 JDK 启动 Infrastructure 安装器 → 选 Oracle Home 和安装类型 → 过前置检查 → 装完检查目录。每一步都有容易忽略的地方,尤其是第一步和第二步。
3.1 用哪个 java 启动安装器,决定了后面会不会白装
原文写得很直白:进入 JDK 的 bin 目录,运行java –jar 路径\fmw_12.1.3.0.0_infrastructure.jar。这个「进入 bin 目录」不是多余动作,它的本质是确保用的是这个 JDK,而不是 PATH 里别的 java。
:: 进到 JDK 的 bin 目录再执行,保证用的是这个 JDK cd /d D:\Java\jdk1.8.0_202\bin :: 启动 Infrastructure 安装器,jar 路径写绝对路径,别用相对路径 java -jar D:\install\odi1213\fmw_12.1.3.0.0_infrastructure.jar逻辑说明:cd /d里的/d是允许跨盘符切换,不加的话从 C 盘切到 D 盘会失败,很多人卡在这儿以为命令写错了。java -jar后面跟绝对路径,是为了避免「当前目录下找不到 jar」这种低级但高频的问题。
等价写法是"%JAVA_HOME%\bin\java" -jar D:\install\odi1213\fmw_12.1.3.0.0_infrastructure.jar,效果一样,好处是不用切目录。两种都行,选一种固定下来,别每次换。
启动后会弹出图形化安装向导。如果双击 jar 没反应、或者弹窗一闪就没了,说明系统把.jar关联到了别的程序,这时候只能走命令行,别在文件关联上浪费时间。
3.2 Oracle Home 和安装类型:路径定下来就别改
向导里真正需要你决策的只有两页:安装位置和安装类型。
安装位置就是 Oracle Home。我的习惯是固定成D:\Oracle\Middleware\Oracle_Home,原因是后面 ODI 安装、RCU、建域、启动脚本全都要引用这个路径,路径一旦带空格或者层级太深,写脚本时引号漏一个就出问题。
安装类型选「典型安装」就够了。典型会带上 WebLogic Server、Coherence、OMS 等一套组件;精简会少装东西,后面建域时想加组件还得回来补。这一页没有技术含量,但选错了补装很烦。
其余页面基本是一路下一步:欢迎页 → 自动更新(跳过,内网环境连不上更新服务器,勾了只会卡住)→ 前置条件检查 → 安装摘要 → 安装进度 → 完成。
提示:自动更新那一页一定要取消勾选。默认勾选状态下,安装器会尝试连外网检查补丁,内网机器上这一步能卡十几分钟然后超时,看起来像死机。
3.3 前置检查没过,先看这三处
前置条件检查报红是最常见的中断点。Windows 上无非三处:
第一处是临时目录空间。安装器要往%TEMP%解压一堆东西,C 盘剩余空间不足 5 GB 时经常在这一步失败。做法是把 TEMP 临时指到大盘:
:: 把当前窗口的临时目录指到空间充足的盘,避免安装器解压失败 set TEMP=D:\temp set TMP=D:\temp mkdir D:\temp第二处是杀毒软件。装中间件会往系统目录写服务、注册组件,某些安全软件会拦。这一步我是直接临时关掉实时防护,装完再开——比一条条加白名单省事。
第三处是操作系统版本和字体。Windows Server 上如果缺中文字体,向导界面会显示成方框,但功能正常,靠记住按钮位置也能装完。这不是必须解决的问题,知道就行。
3.4 装完先验证目录,别急着开第二个 jar
Infrastructure 装完,向导会问要不要启动快速入门(Quick Start)。这时候直接取消,先做目录验证。
:: 检查 Oracle Home 下是否出现了这些关键目录 dir D:\Oracle\Middleware\Oracle_Home :: 重点确认三个目录存在:oracle_common、wlserver、oui dir D:\Oracle\Middleware\Oracle_Home\oracle_common dir D:\Oracle\Middleware\Oracle_Home\wlserveroracle_common是公共组件,wlserver是 WebLogic 主体,oui是安装器自己的记录目录。三个都在,说明 Infrastructure 这一层是完整的。如果只有oui一个,那就是安装中断过,或者装到了别的路径——去D:\Oracle\Middleware\下翻一遍,别在错误路径上继续装 ODI。
这一步的意义在于把问题挡在门前。Infrastructure 没装完整,ODI 安装器照样能启动、照样能装完,只是装出来的东西是残的,后面建域才会暴露。早检查一次,省下两小时。
4. 再装 ODI 本体:fmw_12.1.3.0.0_odi.jar 的安装与 JDK Home 指定
基础设施就位之后,ODI 这一层相对顺。但有两个地方必须说清楚:Oracle Home 该选哪儿,以及 odi64.exe 第一次启动要的 JDK Home 到底填什么。
4.1 第二个 jar 的安装位置,要和第一个对上
启动方式和上一次完全一样,还是进 JDK 的 bin 目录:
cd /d D:\Java\jdk1.8.0_202\bin :: 启动 ODI 12.1.3.0.0 安装器 java -jar D:\install\odi1213\fmw_12.1.3.0.0_odi.jar关键的差异在「安装位置」这一页。企业安装下,ODI 要装进刚才那个 Oracle Home,而不是新建一个。
常见做法是:安装器检测到已有 Oracle Home,会把它列出来,你直接选中D:\Oracle\Middleware\Oracle_Home继续往下走。装的过程中安装器会把 ODI 作为组件叠加进去,完成后这个 home 下会多出odi目录。
如果安装器让你新建 home,说明它没识别到已有的基础设施——这时候不要硬装,退回去检查上一步的 Oracle Home 路径是不是写错了、或者 Infrastructure 装到了别的目录。硬装的结果是机器上出现两个互不认识的 home,建域时组件列表里找不到 ODI Agent。
装完检查一下:
:: 确认 odi 目录已出现在 Oracle Home 下 dir D:\Oracle\Middleware\Oracle_Home\odi :: 确认 Studio 目录存在,这是后面验证要用的 dir D:\Oracle\Middleware\Oracle_Home\odi\studio\binodi\studio\bin下有odi.exe,就说明 ODI 本体装到位了。
4.2 odi64.exe 首次启动要的 JDK Home,不是 bin 也不是 jre
ODI 安装完成后,第一次双击odi64.exe,会弹窗让你指定 JDK home 路径。这一步很多人填错,填成...\bin或者 JDK 里面的jre目录,然后程序启动闪退。
正确做法是填 JDK 的根目录:
| 填法 | 结果 |
|---|---|
D:\Java\jdk1.8.0_202 | 正确,根目录 |
D:\Java\jdk1.8.0_202\bin | 错误,程序找不到 jvm |
D:\Java\jdk1.8.0_202\jre | 错误,缺开发工具链 |
D:\Java\jdk1.8.0_202\jre\bin | 错误,同上 |
判断标准很简单:这个路径下面应该同时有bin、jre、lib三个目录。看一眼就知道填得对不对。
弹窗里的路径填一次就行,程序会记下来。如果后面换了 JDK 目录,这个配置不会自动更新,得手动改回来——这也是为什么我建议 JDK 装在固定路径、装完之后别动。
4.3 RCU 建资料库和配置向导建域,顺序不能倒
到这一步,软件装完了,但还不能用。ODI 需要一个资料库(Repository)存元数据,需要一个域(Domain)跑服务。这两件事的顺序是:先用 RCU 建资料库,再用配置向导建域。
:: 启动 RCU,创建资料库 schema D:\Oracle\Middleware\Oracle_Home\oracle_common\bin\rcu.batRCU 向导里需要勾选的组件,常见做法是:Common Infrastructure Services(这个必勾,存的是公共配置)+ Oracle Data Integrator。数据库连接填你准备好的库,schema 前缀用一个短标识,比如DEV,建完会得到类似DEV_STB、DEV_ODI_REPO这样的 schema。密码规则要注意,中间件这套对特殊字符开头有要求,别用纯数字或者数字开头的密码。
:: 启动配置向导,创建 WebLogic 域 D:\Oracle\Middleware\Oracle_Home\oracle_common\common\bin\config.cmd配置向导里选「创建新域」,模板勾选 ODI 相关的几个(Agent、Console、Studio 配套服务),然后一路填:域名、域路径、管理账号密码、Node Manager 端口、RCU 连接信息。域路径我一般放D:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain。
建域过程中会问你 RCU 的 schema 密码,就是刚才建的那套。这一步对不上就前功尽弃,所以 RCU 那一步的密码要记下来。
域建完,两个启动脚本就位:
:: 启动管理服务器,第一次启动会比较慢,等日志里出现 RUNNING 再操作 D:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\bin\startWebLogic.cmd :: 另开一个窗口启动 Node Manager,Agent 要靠它拉起来 D:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\bin\startNodeManager.cmd到这里,服务这层就齐了。Studio 的启动入口是D:\Oracle\Middleware\Oracle_Home\odi\studio\bin\odi.exe。
5. 避坑与排查:ODI 12cR1 安装里五个最常见的翻车点
这一章的五条,全是「现象 → 原因 → 解决」的实录。装 ODI 的坑大多不是玄学,是有明确因果的,只是报错信息不给提示,得靠经验反推。
5.1 双击 jar 没反应,或者窗口一闪就没了
现象:双击fmw_12.1.3.0.0_infrastructure.jar,要么完全没动静,要么黑窗口闪一下就关闭,看不到任何错误。
原因:Windows 把.jar关联给了别的解压软件(比如某些压缩工具会抢占这个关联),双击打开的是解压器而不是 java。或者关联到了老的javaw.exe,图形界面起不来也不报错。
解决:不要双击。老老实实开 cmd,进 JDK 的 bin 目录执行java -jar 绝对路径。命令行里报错信息会直接打在窗口上,能看清是版本问题还是 jar 损坏。这条我吃过一次亏之后就成了固定动作——安装类 jar 一律命令行启动。
5.2 装 ODI 时报 JDK 版本不满足
现象:ODI 安装器启动到一半,弹出提示说需要 JDK 1.7 或更高版本,但机器上明明装了 1.8。
原因:安装器读的是JAVA_HOME环境变量,或者它自己探测到的那个 java,跟你命令行里用的不是同一个。系统里可能同时存在多个 JDK,还有中间件自带的 jre。
解决:在启动安装器的同一个 cmd 窗口里,先set JAVA_HOME=D:\Java\jdk1.8.0_202,再set PATH=%JAVA_HOME%\bin;%PATH%,然后java -version确认版本,最后才启动安装器。关键是这三个命令要在同一个窗口里连着执行,窗口一关环境就还原了。
5.3 odi64.exe 指定 JDK Home 后启动闪退
现象:弹窗里指定了 JDK 路径,点确定,程序起不来,或者下次启动又要重新指定。
原因:路径填成了bin或jre子目录,程序找不到完整的 JDK 结构;或者 JDK 装在带中文、带空格的路径下,解析失败。
解决:路径填 JDK 根目录,且根目录下必须同时有bin、jre、lib。路径全部用英文,不要有空格。如果已经填错了导致配置被记住,去用户目录下找 ODI 的配置文件改回来,或者换一个干净的 JDK 目录重新指定。
5.4 建域时组件列表里找不到 ODI
现象:跑config.cmd建域,模板列表里只有 WebLogic 和基础服务,ODI 相关的模板一个都没有。
原因:ODI 装到了另一个 Oracle Home,和 Infrastructure 不是同一个。安装器当时没识别出已有 home,你也没注意,就新建了一个,结果两个 home 互不认识。
解决:回到D:\Oracle\Middleware\下看有几个目录,找出真正带odi子目录的那个。如果确认是装错位置,卸载重装 ODI 部分——只重装 ODI 那个 jar,Infrastructure 不用动,安装时手动把路径指到已有 home。重装前先把错的目录清掉,避免安装器又识别错。
5.5 RCU 建库失败,报密码或表空间错误
现象:RCU 跑到创建 schema 那一步报错,提示密码不符合策略,或者表空间不足。
原因:中间件这套对密码有策略要求,纯数字、太短、以数字开头的密码会被拒。表空间不足则是数据库那边默认的临时表空间或用户表空间配额不够。
解决:密码用「大小写字母 + 数字 + 特殊字符」的组合,别以数字开头,长度 8 位以上。表空间问题找 DBA 确认USERS和TEMP的可用空间,ODI 资料库不算大,留 2 GB 以上比较稳妥。RCU 失败后不要直接重跑,先把建了一半的 schema 删干净,否则第二次会因为对象已存在继续报错。
6. 装完怎么验证:从 Studio 登录到跑通第一个映射
软件装完、域建好,剩下的问题是:怎么确认这套环境真的能用,而不是「看起来装完了」。我的验证顺序是固定的四步,从底层往上层走,哪一步断了就停在哪一步查。
| 步骤 | 检查动作 | 通过标准 |
|---|---|---|
| 1 | 看管理服务器日志 | 出现RUNNING状态,无 SEVERE 报错 |
| 2 | 浏览器打开控制台 | 用建域时的账号能登进管理控制台 |
| 3 | 启动 ODI Studio | 能进主界面,不闪退 |
| 4 | Studio 里连资料库 | 测试连接成功,能看到工作资料库 |
第 4 步是真正的验收点,具体做法:Studio 里新建一个资料库连接,填主机、端口、资料库 schema 的用户名密码(就是 RCU 建的那套DEV_ODI_REPO),点测试连接。连上了,说明 RCU、域、监听三者的配置是对齐的;连不上,问题多半在监听端口或 schema 密码上,去管理控制台看数据源配置。
再往上一层是跑通第一个映射。建一个最简单的接口,源和目的人都指向同一张测试表,字段一一对应,执行一次。能在「执行」页看到会话状态变成「完成」,才算这套环境真跑起来了。这一步不做,等到真接业务数据时才发现知识模块没配、Agent 没连上,排查范围会大得多。
注意:第一次启动管理服务器可能要三到五分钟,日志滚动很慢,别以为卡死了就强杀进程。强杀一次,域里的临时文件可能损坏,下次启动直接失败,恢复起来比重装还麻烦。
从那以后我每次装完 ODI,不管多赶时间,都强制走一遍这四步,尤其是第四步的 Studio 连接测试。装完不验证,等于给自己留了个黑匣子——真出问题时你分不清是装错了、配错了,还是用错了。希望帮到你。
本文还有配套的精品资源,点击获取