
简介针对 Oracle Data Integrator 12cR1 安装全过程编写的中文操作文档主要面向需要手工部署 ODI 的数据集成工程师、运维人员以及初次接触中间件安装的实施人员。内容明确区分了 JEE 企业安装与独立安装的前提并强调必须先安装 Oracle Fusion Middleware Infrastructure同时给出两个关键安装包的下载与解压要点。整个资源仅包含 1 个 docx 文件压缩包大小约 2.23MB正文配有安装界面截图和逐步文字说明从调用 java -jar 启动安装程序、确认 JDK 1.7 以上版本、指定 JDK home 路径到通过 odi64.exe 完成产品安装均有清晰指引。文档后半部分补充了 ODI Studio 的核心配置思路包括创建 Operator 操作员、规划 Topologies 拓扑、设计 Mappings 映射与 Interfaces 接口以及配置知识模块 KM 来处理常用数据转换任务。对于对照官方文档仍容易卡在环境准备与组件依赖上的用户这份自编资料能减少排错时间、快速搭建可运行的 ODI 开发环境目前已有 264 人学习下载适合负责项目初始部署或本地环境搭建的读者参考。1. ODI 12cR1 安装这件事两个安装包和一个先装谁的问题ODIOracle Data Integrator12cR1 安装给人最大的困惑往往不是 ODI 本身而是安装顺序官方把企业级JEE安装和独立安装分开企业级要求必须先装 Oracle Fusion Middleware Infrastructure再装 ODI 本体跳步或反序后面双击 odi64.exe 基本起不来。这篇安装笔记从下载哪两个 zip、JDK 怎么检查到两个 jar 包怎么装、Studio 第一次启动怎么配全程按实战顺序走了一遍适合要离线部署 ODI 12cR1 的数据工程师、DBA 和实施人员。文中的坑来自真实安装记录照抄步骤能少走弯路。2. 安装前的环境准备JDK 1.7 与三个必须检查的项2.1 下载哪两个安装包文件名与解压产物先明确要下什么。ODI 12.1.3.0.0 这一次需要两个下载文件都从 Oracle 官方下载页面获取文件名分别是文件名解压后的 jarfmw_12.1.3.0.0_odi_Disk1_1of1.zipfmw_12.1.3.0.0_odi.jarfmw_12.1.3.0.0_infrastructure_Disk1_1of1.zipfmw_12.1.3.0.0_infrastructure.jar注意其中的Disk1_1of1字样。12.1.3 的 ODI 就是单盘安装包一个 zip 全部包含网上有些旧教程会提到 Disk2、Disk3那是 10g/11g 时代的产物。看到 12.1.3.0.0 的1of1是正常现象不用怀疑自己下错了。解压方式很直接Windows 下用任意压缩工具解到同一个目录即可Linux 下用 unzipmkdir -p /opt/odi_pkg unzip fmw_12.1.3.0.0_odi_Disk1_1of1.zip -d /opt/odi_pkg unzip fmw_12.1.3.0.0_infrastructure_Disk1_1of1.zip -d /opt/odi_pkg ls -lh /opt/odi_pkg/*.jar提示两个 zip 建议解到同一个目录后面安装时找 jar 方便不易搞混。解压后确认两个 jar 都在并且体积正常以官方下载页面标注的大小为准。如果ls看到 jar 只有几十 MB基本都是下载过程中被中断过zip 包不完整需要重新下载再解压否则后面java -jar运行到一半会报unexpected end of archive之类的错误排查起来非常难受。2.2 JDK 必须是 JDK不是 JRE版本与路径检查ODI 安装程序本身是 Java 应用运行 jar 包之前的先决条件就一条JDK 1.7 或更高版本。注意这里说的是 JDK不是 JRE。安装器内部要调用编译器和打包工具只装了 JRE 的机器上界面会卡在环境检测那一步或者直接提示 JDK not found。检查当前机器上 Java 环境的习惯做法java -version echo $JAVA_HOME which java输出里要能看到java version 1.8.x这类字样并且 JAVA_HOME 有值。我的建议是不用纠结 1.7 还是 1.8直接用 1.8 的正式版本ODI 12.1.3 官方写的是 JDK 1.7但 Windows 上 1.8 的兼容性更稳这也算社区里验证过很多遍的组合。JDK 11 及以上版本在这个版本的安装器上会报不受支持不要为了追新给自己挖坑。路径上有一个高频雷区JDK 安装目录、解压目录、后续的 ODI 安装目录都不要带空格和中文。默认装到C:\Program Files\Java\...的机器安装过程经常出现诡异的读写失败原因就是程序路径里的空格被当作参数分隔符。如果机器上已经装了带空格的 JDK建议卸载后重装到纯英文路径比如D:\Java\jdk1.8.0这一步能省掉后面一半的排错时间。2.3 解压校验与安装目录规划动手安装前再把安装目录规划说透。ODI 安装不像普通软件那样双击一路 Next 就行它有两个层级的概念Middleware Home 和 Oracle Home。简单理解Middleware Home 是 Fusion Middleware 产品的公共根目录Oracle Home 是某个具体产品比如 ODI的安装位置。规划时全部用英文路径例如Middleware HomeD:\Middleware\12.1.3ODI Oracle HomeD:\Middleware\12.1.3\odi这样规划的好处是后面需要做静默安装或者写部署脚本时路径处理会非常干净。安装程序默认值通常是C:\Oracle\Middleware\Oracle_Home如果机器 C 盘空间紧张完全可以改到 D 盘。关于验证下载产物是否完好除了用 unzip 解压看输出还可以用 jar 工具直接跑一次帮助命令验证 jar 包的内核是否完整java -jar fmw_12.1.3.0.0_infrastructure.jar -help 21 | head -20能正常打出参数帮助说明 jar 包可用如果直接抛异常则文件有问题回到 2.1 重新下载。这一步很多人跳过结果装到一半失败才发现是包的问题来回折腾一整天。3. 先装 InfrastructureJEE 前置的 Java -jar 安装全流程3.1 为什么企业版必须先装 InfrastructureJEE 与 Standalone 的差异在 ODI 12cR1 的安装体系里安装方式被分成两条链路企业安装JEE 安装和独立安装Standalone。两者的差异直接决定了是否需要先装 Infrastructure对比项企业安装JEE独立安装Standalone是否先装 Infrastructure必须不需要运行载体依赖 WebLogic Server 等中间件服务独立 Java 进程适用场景生产环境、多机部署、统一管理本地开发、学习、单机使用安装复杂度高低原理上Infrastructure 是 Fusion Middleware 产品体系的公共地基它提供 WebLogic Server、公共组件和元数据服务。ODI 企业版把调度、执行、权限管理都构建在这个地基上元数据存放在主仓库Master Repository中而主仓库的访问服务就是由 WebLogic 域承载的。官方安装文档里的 Prerequisite 段落写得很直白JEE 安装必须先安装基础设施独立安装不需要。很多第一次装 ODI 的人以为这个前提可以绕过去直接运行 ODI 的 jar结果企业版安装过程中检测不到前置组件直接退出。选型上的建议是如果你是做项目交付面对生产环境老老实实走 JEE 链路如果只是本地学习、验证功能选 Standalone 模式能省掉一个多小时安装时间。不过本文以企业版全流程为主因为生产环境遇到的实际问题都在这一条链路里。3.2 交互安装步骤从 java -jar 到安装类型选择到命令行窗口进入 JDK 的 bin 目录用java -jar启动 Infrastructure 安装器cd /d D:\Java\jdk1.8.0\bin java -jar D:\odi_pkg\fmw_12.1.3.0.0_infrastructure.jar这里解释一下为什么要「进入 JDK 的 bin 目录」再运行安装器会检查当前进程的 Java 环境来源直接双击 jar 或者在别的目录运行部分机器上会因为 PATH 配置问题选中错误的 JRE。进 bin 目录跑能确保安装器看到的 java 就是指定的 JDK。启动后进入图形向导主要就两个决策点选择安装位置填的就是 2.3 里规划的 Middleware Home路径不要带空格。选择安装类型一般选「典型安装」需要手动选组件时才用「自定义安装」。典型安装会带上 WebLogic Server 核心组件这些正是 ODI 企业版需要的。安装过程会持续几分钟窗口日志会滚动输出。这一步如果失败绝大多数问题集中在端口占用和权限上端口问题放到第 5 章单独讲。安装完成后向导会给出安装摘要把摘要里的 Middleware Home 路径记下来下一步安装 ODI 时会用到。3.3 Infrastructure 安装后的目录与验证装完 Infrastructure 之后先别急着装 ODI做两个快速检查防止白装。第一检查目录结构是否完整。到安装路径下应该能看到类似这样的布局ls /opt/middleware/12.1.3/ # 预期输出里应包含 oracle_common、wlserver 等目录oracle_common是公共组件目录wlserver是 WebLogic Server 的安装目录。这两个目录在说明基础设施的核心内容都落盘了。第二查安装日志确认没有 ERROR 记录。Fusion Middleware 的安装日志默认写到安装目录的cfg/logs下命名类似install_*.log。我一般会看最后 50 行tail -50 /opt/middleware/12.1.3/cfg/logs/install*.log日志里出现 INFO 和 SUCCESS 是正常的出现 ERROR 就要回头处理。日志文件名带时间戳找最新那个看。这一步虽然不起眼但在批量交付时很有用——多台机器装完扫一遍日志就能判断哪台有问题。4. 再装 ODI 本体与 Studio 初始化从 Java -jar 到第一个连接4.1 ODI 安装的 Java -jar 命令与界面流程前置的 Infrastructure 就绪后安装 ODI 本体的流程几乎一样只是 jar 换成了 ODI 的cd /d D:\Java\jdk1.8.0\bin java -jar D:\odi_pkg\fmw_12.1.3.0.0_odi.jar图形向导启动后安装程序会先做一次环境检测。这个检测会自动识别机器上已有的 Fusion Middleware 组件如果检测到上一章安装的 Infrastructure就允许继续走企业版安装检测不到会提示缺少前置组件或者只允许装 Standalone。我第一次装的时候就是在这个界面确认了两者的依赖关系。向导中的安装位置要指到和 Infrastructure 同一个 Middleware Home这样 ODI 会被挂载到公共目录下之后的资源库配置才能识别到 WebLogic 域环境。安装类型仍然选典型安装组件没有特殊需求时不要手动改动。安装过程一般 10 分钟左右完成后安装程序会在 Middleware Home 下创建 ODI 的 Oracle Home 目录并生成 odi 相关的可执行文件与配置文件。4.2 第一次启动 odi64.exe指定 JDK Home 的正确姿势ODI 本体的核心程序是 odi64.exe64 位环境下运行的就是这个可执行文件。安装完成后从开始菜单或安装目录找到它第一次双击会弹出 JDK Home 配置界面要求指定 JDK 的安装根目录。这里最容易踩空的是路径层级。界面要求填的是 JDK 的 home 目录也就是包含 bin 目录的那一层例如D:\Java\jdk1.8.0而不是 bin 目录本身也不是 JRE 目录。填错或指向 JRE启动器会直接报错退出。除了界面上填也可以用配置文件写死。ODI Studio 启动器会读取odi.conf里面有一个jdkhome参数改动配置的好处是以后启动不会再弹提示# odi.conf 中与 JDK 相关的配置片段 jdkhomeD:/Java/jdk1.8.0配置参数jdkhome就是 JDK 根目录注意配置里用正斜杠避免反斜杠被当成转义符。保存配置后重新双击 odi64.exe正常情况会进入 ODI Studio 的登录界面说明启动器链路已经通了。4.3 Studio 里的配置顺序主仓库、Topology 与知识模块第一次进入 ODI Studio会看到连接向导。常规顺序是先建主仓库连接再配拓扑和知识模块这个顺序不建议颠倒因为拓扑里引用的逻辑架构依赖主仓库里的元数据定义。连接界面里需要填的内容一般包括连接名、用户名、密码、主机、端口和数据库服务名这里填的是 ODI 主仓库所在的数据库连接不是业务源数据库。连上主仓库之后Studio 会要求初始化仓库——这一步负责创建 ODI 内部的元数据表执行时间取决于数据库性能几分钟到十几分钟都正常。之后配置流程简化为三步创建 Topology物理架构里添加数据服务器比如 Oracle 数据库、MySQL 等并设置对应的 JDBC 驱动和连接串。创建逻辑架构把物理架构映射成逻辑名称供接口设计时引用。检查知识模块KMODI 自带一批默认 KM用来处理数据抽取、转换、加载比如LKM Oracle to Oracle、IKM Oracle Incremental Update。生产环境大量使用 KM 来生成具体的 SQL 执行任务所以安装完成后建议先打开 KM 列表确认默认项都在避免运行时报缺 KM 的错误。5. ODI 安装常见问题排查四次翻车记录与避坑清单5.1 踩坑一odi64.exe 双击无反应或闪退现象安装完全成功双击 odi64.exe 后没有任何窗口弹出任务管理器里能看到进程一闪而过或者直接弹「找不到 JDK」提示。原因最常见的是 jdkhome 指向了 JRE或者 JDK 路径本身含空格导致启动脚本解析失败。ODI 启动器需要调用 JDK 里的工具链完成初始化JRE 缺了编译相关组件启动过程就会中断。解决确认odi.conf里的jdkhome指向 JDK 根目录如果指向的是jdk\jre改回jdk那一层。没有空格路径的机器把 JDK 卸载重装到如D:\Java\jdk1.8.0的纯英文目录再启动一次多半就好。检查完配置仍然闪退的再查看 ODI Studio 日志目录中的*.log重点搜java.lang.UnsupportedClassVersionError出现这个基本就是 JDK 版本太高或太低。5.2 踩坑二Infrastructure 安装器在配置阶段报端口冲突现象安装 Infrastructure 时进度条走到配置 WebLogic 域那一步弹窗提示端口 7001 被占用安装无法继续。原因7001 是 WebLogic 的默认监听端口机器上如果有旧的 WebLogic 域或者其他中间件进程占用了这个端口安装器就没法完成域配置。Windows 上还有另一个隐藏原因旧版本 ODI 残留的 Windows 服务还开着。解决先确认占用来源。Windows 下用netstat -ano | findstr 7001查到进程 PID再在任务管理器里对照进程名确认是残留服务就停掉确认是无关应用就换端口。换端口的做法是在安装向导的端口配置页把监听端口改成 7002 或其他未占用端口管理控制台端口也要跟着改。装完之后再遇到端口被占不必重装直接在 WebLogic 域的配置里改监听端口重新启动即可。5.3 踩坑三中文或空格路径导致安装中断现象安装进行到一半界面报「无法创建文件夹」或「找不到指定路径」但手动创建该目录又是成功的重试几次都卡在同一处。原因在中文 Windows 系统上安装目录放在C:\用户\...下路径里的中文字符与 ODI 安装器的编码处理不兼容空格路径则会被脚本按参数切分导致文件拷贝目标错位。解决把解压目录、Middleware Home、Oracle Home 全部改到纯英文路径例如D:\odi一级目录下。如果已经在带中文路径的目录里装了半截不要尝试修复最干净的办法是卸载并清理%USERPROFILE%\Oracle、注册表里的Ora*相关残留再换路径重装。5.4 踩坑四企业版安装时检测不到前置 Infrastructure现象运行 ODI 的 jar 后图形界面里显示「未检测到 Fusion Middleware Infrastructure」只允许选 Standalone企业版选项灰色不可选。原因最常见的是 ODI 安装器与 Infrastructure 安装器指向了不同的 Middleware Home系统找不到公共组件另一个常见原因是 Infrastructure 安装时用了自定义安装把 WebLogic Server 核心组件剔除了。解决重新运行 ODI 安装器把安装位置明确指到之前装 Infrastructure 的 Middleware Home如果指对了还检测不到回到 Infrastructure 安装向导确认安装类型是不是典型安装补装缺失组件后再试。6. 安装后的验证与进阶跑通一个映射快速自检6.1 用最小映射验证整个安装链路安装完成不等于一切正常。我现在的习惯是装完 ODI 后不急着交付先用一个最小映射把链路跑一遍哪里有坑五分钟内就能暴露。先准备两个测试表源表一条数据目标表空表在 ODI Studio 里建物理架构和逻辑架构指向这两个表所在的数据库然后新建一个接口Interface把源表字段映射到目标表运行模式选「执行」而非「生成 SQL 预览」。如果接口执行成功目标表里能查到数据说明从 Studio、主仓库、Topology 连接、KM 到目标数据库这一段全通了。验证时重点看两个地方一是执行日志里的 SQL 是否真的命中源表二是 KM 的选择是否生效。生产环境里经常出现「接口执行成功但数据没变」的假成功就是因为映射里的过滤条件把数据全过滤掉了。用最小映射时不要加过滤条件先验证链路再验证业务逻辑。6.2 固化安装验证习惯跑通这个验证后我一般还会顺手做一件事用命令行方式启动一次 Studio确认无界面环境下 odi64 的启动参数是可复现的。这样以后批量装机器就能用脚本完成从解压到指定 JDK Home 的全部动作不用每台都手动点界面。从第一次装 ODI 翻车到现在我每次给新环境装 ODI 都强制走一遍固定流程先查 JDK 版本和路径再确认解压产物完整装完 Infrastructure 扫一遍日志最后用最小映射验证。这套流程看着笨但确实把安装相关的问题挡在了交付之前。如果你正卡在某个安装步骤上建议从第 2 章的检查项开始逐条对照希望帮到你。本文还有配套的精品资源点击获取