news 2026/10/28 13:14:46

ODI 12cR1企业版安装:Infrastructure、配域与RCU验证

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ODI 12cR1企业版安装:Infrastructure、配域与RCU验证

简介:面向Oracle Data Integrator 12cR1学习者的自编安装文档,重点梳理企业级JEE部署与独立安装的路径差异,说明Fusion Middleware Infrastructure前置依赖何时必需、何时可跳过,并引导完成ODI主体安装及ODI Studio初步配置。文档按照安装文件准备、中间件部署、ODI安装、Studio配置的顺序展开,涉及JDK 1.7及以上环境检查、安装位置与安装类型选择、数据库连接和用户权限设置,以及Operator、Topologies、接口、映射与知识模块等核心概念的落地配置,适合需要搭建数据集成实验环境或梳理部署流程的初中级技术人员。压缩包内共1个docx文件,大小约2.23MB,以分步说明和界面要点记录为主,便于离线查阅与按章节核对。已有265人学习,可作为安装阶段的对照清单和排错参考,帮助读者减少前置条件遗漏、环境检查疏漏和配置反复。

1. 版本选型先定死:12.1.3.0.0 的 JEE 版和独立版是两条完全不同的路

ODI 安装这件事,最容易被忽略的不是敲哪条命令,而是先回答一句“装哪一种”。Oracle Data Integrator 12cR1 (12.1.3.0.0) 有两套装法:企业版(JEE)必须先装 Oracle Fusion Middleware Infrastructure,再装 ODI 本体,最后配域;独立版只装 ODI 本体,全程不碰 Infrastructure。我最早给一个模拟项目搭数据集成环境时,上来就把fmw_12.1.3.0.0_odi.jar装完,结果发现没有可用的域,Studio 连不上,白熬一晚上。所以这篇按“环境清点 → 先装 Infrastructure → 再装 ODI → 配域 → 验证跑通”的顺序记,面向要长期跑批量作业的企业版场景;只想在本机点两下试手的,看完第 2 章就能转去独立版。

2. 装前把环境列清:JDK、目录、端口和两个 jar 的先后顺序

这一章不产生任何安装结果,但决定了后面会不会返工。ODI 12cR1 的安装器是纯 Java 程序,跑得起来跑不起来,八成取决于 JDK 选得对不对、目录规划得乱不乱。别把这段跳过。

2.1 JDK 选型:1.7 是底线,实际要留出余量

官方说明里写得很清楚:安装之前需要 JDK 1.7 以上版本。这句话是“能启动安装器”的下限,不是“长期稳定运行”的下限。我一般装两个 JDK 版本,一个 8u 的较老小版本专门给安装器用,一个留在系统里给别的工具用,靠SetJavaHome区分,不动系统全局的JAVA_HOME。

系统环境变量先确认一遍:

:: 看当前生效的 java 是哪个,路径里带空格的要留意 where java java -version echo %JAVA_HOME%

where java会按 PATH 顺序列出所有命中的 java.exe,如果第一条不是你想用的那个,后面安装器启动的就不是你以为的 JDK。java -version输出里的版本号必须 ≥ 1.7。%JAVA_HOME%是给后面配域、配 Studio 用的,路径里尽量不要有空格和中文,C:\Program Files\Java\...这种默认路径能跑通安装器,但在后续脚本里引用时经常要多套一层引号,能换就换到D:\jdk\这类短路径下。

Linux 下同样的确认:

# 确认 java 的绝对路径和版本,后面 java -jar 直接用绝对路径调 which java java -version readlink -f "$(which java)"

readlink -f是为了拿到真实路径,很多机器上/usr/bin/java是指向 alternatives 的软链,直接拿这个路径传给安装器,偶尔会出现找不到 JRE 的情况。

2.2 目录与资源:别把 ORACLE_HOME 装在解压目录里

资源这块我踩过最蠢的坑,是把安装包解压到D:\install\fmw,然后把安装位置也填成D:\install\fmw,装到一半提示目录非空、组件冲突。安装包解压目录和安装目标目录必须分开,这是硬规矩。

我的目录习惯:

用途建议路径说明
安装包解压目录D:\install\fmw_12c\只放 jar 和解压产物,装完可删
Infrastructure 安装目录D:\u01\app\oracle\fmw12c\即 ORACLE_HOME,独立一块盘更好
域目录D:\u01\app\oracle\domains\和 ORACLE_HOME 分开,方便单独备份
JDKD:\jdk\jdk1.8\短路径,无空格

资源要求按经验留:磁盘至少 20GB 可用(两个 ORACLE_HOME 加域,中间还有临时文件和 RCU 脚本),内存 8GB 起步,4GB 也能装上但配域和启动组件时会很难受。端口方面 12c 默认会用 7001(管理服务器)、7002(SSL),装之前先确认没被别的服务占:

:: 看 7001 和 7002 有没有被占用,有输出就说明冲突 netstat -ano | findstr ":7001" netstat -ano | findstr ":7002"

带LISTENING的行是已经被占的,记下最右边的 PID,去任务管理器对一下是谁,装之前处理掉,比装完再改端口省事得多。

2.3 两个安装包的对应关系,先背下来再动手

下载下来是两个 zip,解压后是两个 jar,名字很像但不通用,这是新手最容易混的一步:

压缩包解压后得到什么时候需要
fmw_12.1.3.0.0_infrastructure_Disk1_1of1.zipfmw_12.1.3.0.0_infrastructure.jar只有企业版(JEE)需要,且必须先装
fmw_12.1.3.0.0_odi_Disk1_1of1.zipfmw_12.1.3.0.0_odi.jar两种装法都需要

解压完顺手核对一下大小和完整性,jar 包损坏的表现是java -jar直接抛Invalid or corrupt jarfile,这一步花十秒,比装到一半失败强:

# 解压后核对两个 jar 是否可读,能列出内容说明包是完整的 unzip -l fmw_12.1.3.0.0_infrastructure.jar | head -5 unzip -l fmw_12.1.3.0.0_odi.jar | head -5

Windows 上没有unzip的话,直接用jar tf看,前提是 JDK 的 bin 已经在 PATH 里:

:: jar tf 能正常输出条目,说明包没坏 jar tf D:\install\fmw_12c\fmw_12.1.3.0.0_odi.jar | more

两个包都确认能读,再进第 3 章。顺序上记住一句话:企业版先 Infrastructure 后 ODI,独立版只装 ODI,反过来装,ODI 安装器里那一步“安装类型”就会让你进退两难。

3. 先装 Fusion Middleware Infrastructure:一条 java -jar 背后的三个选择

Infrastructure 是 ODI 企业版的地基,它提供的是后面配域要用的模板和组件。这一步装不好,ODI 装得再顺也是空中楼阁。

3.1 为什么要在 JDK 的 bin 目录下执行

项目正文里写的是“进入 JDK 的 bin 目录,运行java -jar 路径\fmw_12.1.3.0.0_infrastructure.jar”。很多人觉得这是多此一举,直接把 java 写全路径不就行了。两种写法都能跑,但前者少一个坑:安装器运行时会去读当前环境的 Java 相关变量,站在 bin 目录下执行,相对路径解析最保守,尤其是机器上装了多个 JDK 的时候。

:: 切到 JDK 的 bin 目录,再启动安装器;jar 路径用引号包住 cd /d "D:\jdk\jdk1.8\bin" java -jar "D:\install\fmw_12c\fmw_12.1.3.0.0_infrastructure.jar"

cd /d里的/d是允许跨盘符切换,少了它从一个盘切到另一个盘是不生效的,人却以为切过去了。java -jar后面必须跟完整路径,因为当前目录是 JDK 的 bin,不是 jar 所在目录。运行后正常情况会弹出图形安装向导,如果只看到命令行闪一下就退,先去看%TEMP%下的安装日志,别急着重装。

Linux 服务器上装的话,命令结构一样,路径写法换成斜杠,同时确保有图形环境或者用静默安装:

# Linux 下启动安装器;没有 X11 时加 -silent 走响应文件 cd /u01/jdk/jdk1.8/bin ./java -jar /u01/install/fmw_12c/fmw_12.1.3.0.0_infrastructure.ja

3.2 安装位置和安装类型,两个不能随手点的选项

向导前面几步都是下一步,真正要动脑的是这几处:

安装位置(Oracle Home):填第 2 章规划好的D:\u01\app\oracle\fmw12c。这个目录必须是空的,或者不存在由安装器自己创建。已经存在且非空的话,安装器会警告,有人硬着头皮点继续,装完 ORACLE_HOME 里混着上一次的残留,后面配域报错根本定位不到原因。

安装类型:向导里如果出现“典型/精简”之类的选择,选带完整组件的那一项。Infrastructure 装精简版,后面 ODI 配域时会出现找不到模板的情况,报错信息还相当绕。

JDK 路径在这一步也要再确认一遍,安装器探测到的 JDK 未必是你想用的那个。填错了不致命,但配域时会因为 JDK 不一致要回头改配置,属于纯粹的返工。

3.3 配域才是 Infrastructure 真正落地的动作

装完 Infrastructure 只是把文件铺好了,域还没建。域是把组件跑起来的运行实例,不配域,后面的 ODI 没地方挂。配域入口在 ORACLE_HOME 下:

:: 启动配置向导,路径按实际 ORACLE_HOME 调整 cd /d D:\u01\app\oracle\fmw12c\oracle_common\common\bin config.cmd

Linux 对应的是同目录下的config.sh。向导里会问三件事,按下面处理:

向导项怎么填填错的表现
域位置D:\u01\app\oracle\domains\base_domain和 ORACLE_HOME 混在一起,将来删域会连带删掉安装文件
模板选 Infrastructure 相关模板少选模板,后面 ODI 组件挂不上
管理端口默认 7001,冲突就改启动时端口占用,服务器起不来
管理员口令记下来,别用弱口令忘了只能删域重配

配域过程中会要求输入数据库连接信息,这一步需要先有一个可用的数据库,通常是 Oracle 库。数据库还没就绪的话,可以先配一个不含 schema 的域,但 ODI 的仓库后面还是要建,早建晚建都得建,我一般建议在配域之前就把库准备好。

配完域,验证动作是启动一次管理服务器看能不能起来:

# 启动域的管理服务器,能在日志里看到 started in running mode 就算通了 cd /u01/app/oracle/domains/base_domain/bin ./startWebLogic.sh

第一次启动慢是正常的,日志停在某一处不动别急着杀进程,等三到五分钟。看到RUNNING模式再往下走,起不来的话日志会直接告诉你是端口冲突、内存不足还是 schema 连不上。

4. 再装 ODI:jar 包一遍过,难点在 odi64.exe 的 JDK home

Infrastructure 和域都就绪了,ODI 本体这一步其实很快,真正让人卡住的是装完之后双击odi64.exe那一下。

4.1 ODI 安装器里的“安装类型”必须和企业版对应

启动方式和上一章一模一样,只是 jar 换成 ODI 的那个:

:: 同样站在 JDK 的 bin 目录下执行,别在解压目录里直接双击 jar cd /d "D:\jdk\jdk1.8\bin" java -jar "D:\install\fmw_12c\fmw_12.1.3.0.0_odi.jar"

向导里会出现“安装类型”,这是整个安装流程里最关键的一次选择:

  • 选企业版(Enterprise):前提是第 3 章的 Infrastructure 已经装完、域已经配好。安装器会去找现有的 ORACLE_HOME,把 ODI 组件挂进去。
  • 选独立版(Standalone):不需要 Infrastructure,装完是一个自包含的环境,适合本地试验。

已经装好 Infrastructure 的人在这里手滑选了独立版,后果是两套东西并存,Studio 连的时候不知道该连哪个,排查起来非常费劲。反过来,没装 Infrastructure 却选了企业版,安装器会直接拦住你,这算是它比较厚道的地方。

安装位置这一步,企业版一般指向第 3 章那个 ORACLE_HOME 的父级目录,让 ODI 作为兄弟目录装进去,比如D:\u01\app\oracle\下多一个odi目录。别指到 Infrastructure 的 ORACLE_HOME 里面去,两个 ORACLE_HOME 混在一起,将来打补丁会互相干扰。

4.2 双击 odi64.exe 提示指定 JDK home,怎么一次性解决

ODI 装完后,Studio 的启动程序是odi64.exe。第一次双击它会弹窗让你指定 JDK 主目录,这不是报错,是它没在注册表或环境变量里找到可信的 JDK。路径填D:\jdk\jdk1.8,注意是 JDK 根目录,不是 bin 目录,填成 bin 会提示路径无效。

如果弹窗一闪而过、来不及填,或者每次启动都要重填,别跟弹窗较劲,直接改配置文件。Studio 的配置文件在:

# 文件位置:<ODI_ORACLE_HOME>\odi\studio\bin\odi.conf # 在文件靠前的位置加一行,指向 JDK 根目录,路径不要带引号 SetJavaHome D:\jdk\jdk1.8

改完保存,再启动一次odi64.exe,就不会再问了。这一行是我最推荐的一次性做法,比设系统JAVA_HOME更精准,因为它只影响 Studio,不污染整台机器上别的 Java 程序。Linux 下对应的是odi.conf里同样的SetJavaHome,路径换成/u01/jdk/jdk1.8这种写法。

提示:odi.conf里已有的SetJavaHome如果被注释掉了,是#开头加一个空格再写指令,不是直接把#删掉就完事,格式错了 Studio 会静默忽略这一行。

4.3 建仓库:RCU 这一关绕不过去

装完软件、能打开 Studio,还不等于能用。ODI 需要一个仓库来存元数据,分主仓库和工作仓库,通常先用 RCU 在数据库里建 schema。

:: 启动 RCU,位置在 ORACLE_HOME 的 oracle_common\bin 下 cd /d D:\u01\app\oracle\fmw12c\oracle_common\bin rcu.bat

向导里几个关键填写项:

项填法说明
数据库连接主机、端口、服务名和第 3 章配域时用同一个库最省事
选择组件勾选 ODI 相关组件少勾了后面建仓库会失败
schema 前缀大写,如DEVODI前缀写错是后面连不上仓库的头号原因
口令记录到密码管理里RCU 建完就改不了,忘了只能删 schema 重来

RCU 跑完会生成一批脚本并执行建表,全程几分钟。跑完之后回到 Studio,新建主仓库连接,填的就是这一步的前缀、口令和数据库连接串。连不上先别怀疑 Studio,去数据库里确认 schema 是不是真的建出来了,这一步的“黑匣子”程度很高,日志不细看根本不知道卡在哪。

5. 常见排查:装到一半失败的几条血泪记录

这一章按“现象 → 原因 → 解决”记,都是我或者同行实际遇到过的,按出现频率排。

现象一:java -jar报Unable to access jarfile,路径明明是对的。

原因:当前目录不是 jar 所在目录,且 jar 路径是相对路径;或者路径里带空格没加引号。这两种在命令提示符里报的是同一句话。

解决:先cd /d到 jar 所在目录,再执行java -jar fmw_12.1.3.0.0_odi.jar;或者在任意目录下用绝对路径并加引号java -jar "D:\my install\fmw_12.1.3.0.0_odi.jar"。带空格不引号,命令行会把路径截断,安装器收到的就是一个不存在的文件名。

现象二:安装器界面刚出来就没了,或者卡在 0% 很久不动。

原因:绝大多数是临时目录空间不够,或者机器上的默认 JDK 版本太高,安装器和它不兼容。12cR1 这代安装器对高版本 JDK 的兼容性一般,用最新的 JDK 反而容易翻车。

解决:先清%TEMP%下的临时文件,确认系统盘至少有几个 G 空间;再切到更保守的 JDK 版本,用SetJavaHome的思路,cd到那个 JDK 的 bin 目录再启动,别依赖环境变量。启动参数里加一句日志输出会更省事:

:: 把安装器的日志直接写到固定文件,闪退时去这个文件里找原因 java -jar "D:\install\fmw_12c\fmw_12.1.3.0.0_infrastructure.jar" -log "D:\install\fmw12c_install.log"

现象三:双击odi64.exe提示“找不到 JDK”或直接闪退,但机器上明明装了 JDK。

原因:odi.conf里的SetJavaHome指向的是 bin 目录而不是 JDK 根目录,或者指向了一个已经卸载掉的旧 JDK;也有可能是第一次弹窗时手滑填错了,这个错误会被记住。

解决:打开odi.conf检查那一行,路径必须是 JDK 根目录,D:\jdk\jdk1.8可以,D:\jdk\jdk1.8\bin不行。改完重启 Studio。路径里有中文或空格的 JDK 目录,即使写对了也偶发失效,换个短路径重装 JDK 一劳永逸。

现象四:装 ODI 时报“已有安装目录非空”或组件冲突,装不下去。

原因:上一次安装失败后留下了残留目录,又在同一个目标路径上重试。安装器检测到目录里有不是自己写的内容,就会拒绝继续。

解决:别在残留目录上硬装。要么把目标目录整个删掉重来,要么换一个新的目标路径。删之前确认里面没有你放进去的配置文件。这个坑的后悔药就是目录规划:安装目标目录永远不手动往里放任何东西。

现象五:Studio 连主仓库失败,报无法连接或认证失败。

原因:RCU 建 schema 时的前缀、口令与 Studio 里填的不一致;或者数据库服务名填错,连到另一个实例上去了。另外 RCU 中途失败一次后又重跑,schema 状态可能是半成品。

解决:先用数据库客户端直接连一次,确认 schema 存在、能登录;再用完全相同的前缀和口令在 Studio 里建连接。前缀大小写要一致,很多环境里 schema 名被转成了大写。RCU 如果是中途失败重跑的,稳妥做法是删掉那个前缀的 schema 从头来,别在残缺状态上继续叠加。

6. 装完怎么验证:三步确认这套 ODI 是真的能跑活

装完看到 Studio 窗口打开不算验证,能连上仓库也不算完全跑通。我一般按下面三步走完,才敢把这个环境交给别人用。

第一步,确认域里组件是起来的。光看进程不够,看日志里的状态:

# 在域目录下看服务器状态和最近一次启动日志 cd /u01/app/oracle/domains/base_domain/bin ./startWebLogic.sh tail -n 50 /u01/app/oracle/domains/base_domain/servers/AdminServer/logs/AdminServer.log

日志里能看到RUNNING模式,这一步才算过。

第二步,Studio 连接仓库并做一次读操作。打开 Studio,用 RCU 建的前缀和口令建主仓库连接,点测试连接;连上之后展开 Topologies,新建一个物理架构指向一个测试数据库。这一步能成功,说明认证链路、数据库连接、仓库元数据三样都是通的。

第三步,跑一条最小的映射。新建项目,导入知识模块,建一条只做单表到单表字段映射的最小接口,执行一次,然后在 Operator 里看会话状态。

验证项通过标准不通过时先看哪里
域启动日志出现 RUNNING端口占用、内存、schema 连接
Studio 连仓库测试连接成功RCU 前缀、口令、服务名
最小映射执行Operator 里会话状态为完成代理是否启动、知识模块是否导入

三样都过,这个 ODI 12cR1 环境才算真装完。

从那以后我每次装 ODI,都会在下班前强制走一遍这三步,尤其是最小映射那一步,宁可多花二十分钟,也不愿意第二天被人问“你这环境是不是没装好”。装中间件这事,装完只是开始,跑通才算数。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/28 13:13:57

2U双路服务器用户手册实战:上架、BIOS、RAID与BMC运维指南

简介&#xff1a;《浪潮Inspur NF5280M5服务器用户手册》是一份面向技术支持工程师、产品维护工程师及服务器运维人员的官方技术文档&#xff0c;聚焦NF5280M5的规格信息、硬件操作、故障诊断与维护流程&#xff0c;适合在设备部署、日常巡检和故障排查时对照查阅。资源包共1个…

作者头像 李华
网站建设 2026/10/28 13:12:48

专科生应对AI检测的10款工具与实操方法

1. 专科生如何应对AI检测的现状分析最近两年&#xff0c;AI生成内容&#xff08;AIGC&#xff09;的普及让很多专科院校的学生找到了完成作业的新途径。但随之而来的是学校检测系统的升级&#xff0c;Turnitin、大雅等平台都陆续推出了AIGC检测功能。作为一名在职业教育领域工作…

作者头像 李华
网站建设 2026/10/28 13:11:32

claude-mem 深度解析:为 AI 助手构建长期记忆层的架构设计与工程实践

1. 从零认识 claude-mem&#xff1a;它到底解决什么问题第一次看到claude-mem这个名字&#xff0c;我脑子里蹦出来的第一个念头是&#xff1a;终于有人把「记忆」这件事单独拎出来做了。如果你用过 Claude 这类对话式 AI 做过稍微长一点的项目&#xff0c;一定遇到过这种尴尬—…

作者头像 李华
网站建设 2026/10/28 13:10:46

倍压整流电路:高压小电流电源方案从原理到实践

高压小电流的电源方案&#xff0c;在电子制作里是个挺特殊的存在。很多人一提到升压&#xff0c;第一反应是电感式开关电源&#xff0c;Boost拓扑、MC34063、LM2577这些词就冒出来了。但如果你需要的是一路几百伏甚至上千伏、电流只有毫安级的偏置电压&#xff0c;比如驱动压电…

作者头像 李华
网站建设 2026/10/28 13:10:21

Agent-Reach 深度解析:CLI 形态 AI Agent 的工程实践与踩坑指南

1. Agent-Reach 到底想解决什么问题第一次看到 Agent-Reach 这个名字&#xff0c;我下意识把它归类成又一个"套壳 Agent 框架"。市面上叫得上号的 Agent 项目没有一百也有八十&#xff0c;光 GitHub 上带 agent 关键词的仓库每天新增就够刷半天。但把关键词和热搜词摊…

作者头像 李华
网站建设 2026/10/28 13:09:58

Claude-mem:用MCP为Claude Code打造跨会话长期记忆

1. 为什么需要 claude-mem&#xff1a;从一个让人抓狂的日常场景说起1.1 编程助手的“金鱼记忆”&#xff1a;会话隔离到底有多痛如果你天天用 Claude Code 这类 AI 编程助手写代码&#xff0c;大概率经历过这种崩溃&#xff1a;昨天刚和它确认好的技术方案、命名规范、接口约定…

作者头像 李华