Documente Academic
Documente Profesional
Documente Cultură
ODI 学习笔记
Author: Derek.Jaa
Creation Date: January 1, 2009
Last Updated: February 3, 2009
Document Ref: ODI090101
Version: 1.0
Approvals:
<Approver 1>
<Approver 2>
Document Control
Change Record
26
Reviewers
Name Position
Distribution
Note To Holders:
If you receive an electronic copy of this document and print it out, please write your name
on the equivalent of the cover page, for document control purposes.
If you receive a hard copy of this document, please write your name on the front cover, for
document control purposes.
Contents
Part 1 – Overview
阅读:An Introduction to Real-Time Data Integration
Content
Content
ODI 提供了以下几种管理工具:
l Designer 用于定义数据转换逻辑,这是最常用的开发工具,大部分的开发任务,包括
data store 的定义,interface(数据映射关系)和 package(相当于 workflow)的创建等,
都是在 Designer 中完成。
l Operator 用于管理和监控数据转换任务的执行情况,在设计阶段,也可用于调试
(debugging)
以及一个计划代理程序:
Content
l 步骤 2 ~ 8 为设置;
SQL
create table XHU_ITEMS_19
(
ITEM_ID NUMBER not null,
ITEM_NUMBER VARCHAR2(30) not null,
ITEM_NAME VARCHAR2(100) not null,
ITEM_DESCRIPTION VARCHAR2(255),
START_DATE_ACTIVE DATE,
END_DATE_ACTIVE DATE
)
tablespace USERS;
1. 完成 Getting Start
Content
Content
Sample
SQL
create user DEREK identified by DEREK default tablespace USERS
temporary tablespace TEMP;
grant connect, resource to DEREK;
grant select any table to DEREK;
grant unlimited tablespace to DEREK;
3. 创建 Master Repository
Content
Fields Value
Driver oracle.jdbc.driver.OracleDriver
URL jdbc:oracle:thin:@dbprod.hand-china.com:1521:PRODDB
User derek
Password derek
ID 0
Technologies Oracle
Sample
Content
点击“新建”;
Fields Value
使用 Test 测试连接,成功后确认。
Sample
5. 创建 Work Repository
Content
3. 按如下配置
Fields Value
Definition
Name OracleDI On PRODDB
Technology Oracle
User derek
Password derek
JDBC
JDBC Driver oracle.jdbc.driver.OracleDriver
JDBC URL jdbc:oracle:thin:@dbprod.hand-china.com:1521:PRODDB
Fields Value
ID 1
Name WORKREP01
Type Designer[设计]
5. 点击确认完成设置。
Sample
Content
点击“新建”;
Fields Value
使用 Test 测试连接,成功后确认。
Sample
Content
Fields Value
Definition
Name ORACLE10G_PRODDB
Instance/dblink PRODDB
User derek
Password derek
JDBC
JDBC Driver oracle.jdbc.driver.OracleDriver
JDBC URL jdbc:oracle:thin:@dbprod.hand-china.com:1521:PRODDB
Fields Value
Definition
Name ORACLE10G_TESTDB
nstance/dblink TESTDB
User derek
Password derek
JDBC
JDBC Driver oracle.jdbc.driver.OracleDriver
JDBC URL jdbc:oracle:thin:@dbprod.hand-china.com:1521:PRODDB
Sample
Content
Sample
Content
3. 确定完成设置。
Sample
Content
进入 Tab 项目,右键点击,插入项目如下
Name Code
testproj TESTPROJ
Content
KM Value
Content
2. 设置如下:
Fields Value
Definition
Name Oracle_PRODDB
Code ORACLE_PRODDB
Technology Oracle
Logical Schema ORACLE_PRODDB
Reverse
Standard Checked
Context Global
Control
KM CKM Oracle.testproj
Journalizing
KM JKM Oracle 10g Consistent (LOGMINER).testproj
3. 点击 Apply[应用]
5. 从列表中勾选要使用的表以便进行反向,点击 Reverse[反向]按钮以完成反向的工作。结
果如下图。
Content
4. 应用设置,点击执行。
5. 进入 Operator,发现在步骤 8 出错,错误为“未连接到远程数据库”;
7. 执行成功。
Intro
l ODI 提供两种日记模式:
Content
Sample
Intro
n 简单 CDC 不考虑数据的一致性,如需要进行整合的数据中包含头/行的结构(已经
在数据库中创建外键关联),分别存储在 XX_HEAD/XX_LINE 表中,在 XX_LINE
中同步一条数据至 YY_LINE,而该记录对应的 XX_HEAD 并未同步到 YY_HEAD
中,则在进行数据整合(IKM)时会报错,违反了目标数据库的一致性规则;若使用一
致性 CDC,则会在 JKM 中将记录过滤,不使数据整合(IKM)的过程出错。
Content
3) 点击关系图中的图标(步骤一),在下方的类型中选择 Journalizing
Model/Datastore[日记记录数据存储],并勾选 Extend Window[扩展窗口],Lock
Subscribers[锁定订户],并在下方添加订户(本例为 SUNOPSIS);
ODI 学习笔记 Part 2 – ODI 设置&简单数据整合 20
File Ref: [DJ]DO060_ODI_学习笔记.docx (v. 1.0 )
Company Confidential - For internal use only
DO.060 Publish User Reference Manual Doc Ref: ODI090101
January 29, 2009
4) 将修改后的 Interface 拖入 Package,并将其设置为第二步骤;
6) 点击关系图中的图标(步骤三),在下方的类型中选择 Journalizing
Model/Datastore[日记记录数据存储],并勾选 Purge Journal[清除日记],Unlock
Subscribers[取消订户锁定],并在下方添加订户(本例为 SUNOPSIS);
7) 测试该 Package。
9. 自动日记记录[Automatic Journalizing](非必须)
4) 勾选 Add Subscribers[添加订户],并在下方添加订户;
5) 为该 Package 产生 Scenario;
Sample
Content
类似于步骤 8&9
名称 主机 端口 最大会话数
4. 修改 odiparams.bat 文件中如下内容
set ODI_SECU_DRIVER=oracle.jdbc.driver.OracleDriver
set ODI_SECU_URL=jdbc:oracle:thin:@localhost:1521:orcl11g
set ODI_SECU_USER=snpm
set ODI_SECU_ENCODED_PASS=b9yX4CpBkdmaP8Y3mYbaoye2p
set ODI_SECU_WORK_REP=WORKREP1
set ODI_USER=SUPERVISOR
set ODI_ENCODED_PASS=hZypfAZQf.Yo8VWVI6HZzc
其中:
ODI_SECU_USER 需要设置为创建 Master Repository 时候的用户名,在这里是 snpm。
ODI_SECU_ENCODED_PASS 需要用 agent 实用程序加密一下,用法是 agent
encode %PASSWORD%。
ODI_SECU_WORK_REP 设置为创建 Work Repository 时候起的名字。
ODI_USER 默认是 SUPERVISOR,这是连接 ODI 的用户名。
ODI_ENCODED_PASS 默认是 SUNOPSIS,也需要用 agent encode 加密之后的值。
Sample
物理 Agent:
Content
6. 使用命令启动 Agent:
C:\ODIHome\oracledi\bin\agentscheduler.bat "-port=20910" "-name=Complex
Agent"
停止 Agent:
C:\ODIHome\oracledi\bin\agentstop.bat
Sample
Content
Appendix
Content
由于 ODI Topology Manager 中并未包含 Microsoft SQL Server 2005 驱动,只包含了 2000
版本的支持,故在此处将连接 SQL Server 2005 的方法列出。
Sample
Open Issues
Closed Issues