ODI11G安装及使用.docx
- 文档编号:10479105
- 上传时间:2023-02-13
- 格式:DOCX
- 页数:15
- 大小:20.31KB
ODI11G安装及使用.docx
《ODI11G安装及使用.docx》由会员分享,可在线阅读,更多相关《ODI11G安装及使用.docx(15页珍藏版)》请在冰豆网上搜索。
ODI11G安装及使用
ODI是oracle的数据抽取工具,11G融合了wls和jdev,不10G相比出现了教大幅度的
变化。
环境介绍:
OS:
Win7-32bit
Oracle-DB:
10GXE
WLS:
ODI:
RCU:
安装资料库
解压完成后需要rcuHome\BIN目录下面打开文件,选择创建
填写数据库连接信息
填写数据库连接信息
填写ODI数据库用户口令
填写ODI相关对象信息,主资料库ID,口令
创建表空间
开始创建
表空间创建完毕后作创建对象前确认
开始创建主资料库和工作资料库
创建完成
安装ODI
解压后到disk1中点击setup,选择需要按照的ODI对象,本机上安装服务器和编辑器!
作检查
选择安装目录
数据库连接信息
ODI应用超级用户口令
代理名称和代理端口
确讣安装信息
开始安装
安装完毕!
创建domain
进入$ODI_HOME$\common\bin\运行来创建domain
填写domain的名称
Weblogic域管理员口令
选择javasdk
填写数据库连接信息
作数据库连接信息验证
选择domain功能配置
管理服务器信息配置
受管理server
集群配置,由于不做集群,直接下一步
计算机配置
集群服务器配置,直接下一步
服务安装
配置概要
开始创建域
创建完毕
启动服务
首先启动Adminerver
然后到D:
\Oracle\Middleware\\server\bin目录下面启劢
到D:
\Oracle\Middleware\\common\nodemanager目录下面修改
文件中StartScriptEnabled=true将false改为true,重启
nodemanager
进入weblogicconsole页面服务器->控制->启动odiServer
例子一、建立资料库连接并创建一个初始化表的接口
1.点击连接到资料库,填写资料库连接信息
2.打开SQLDeveloper,使用以下的sql语句创建新的用户
createuserODI_STAGEidentifiedbyODI_STAGE
defaulttablespaceuserstemporarytablespacetemp;
grantconnect,resource,createtrigger,createviewtoODI_STAGE;
3.在ODI中打开拓扑导航页,选择物理体系结构,展开技术节,右键单击Oracle并选择新建数据服务器
4.在新建窗口,输入以下的参数。
点JDBC标签
Parameter
Value
Name
ODI_STAGE
Instance/dblink(DataServer)
ORCL
User
ODI_STAGE
Password
ODI_STAGE
设置JDBC连接
保存连接点“测试连接”
5.展开Oracle节点,右键单击ODI_STAGE,选择新建物理方案
6.在方案(方案)和方案(工作方案)下拉框,选择ODI_STAGE方案,点击保存按钮,关闭物理方案,在弹出的信息窗口选择确定
7.打开逻辑体系结构,找到技术->Oracle,右键单击Oracle并选择新建逻辑方案
8.将逻辑方案命名为ODI_STAGE,设置Global上下文的物理方案为,保存并关闭。
9.在设计器页点击项目页的图标,选择新建项目
10.在新建对象窗口的名称栏目输入Procedure-CRT-TBL,代码栏目自动填充为Procedure-CRT-TBL,点保存按钮可以看到新建的Procedure-CRT-TBL已经出现在项目列表中
11.在项目页依次展开Procedure-CRT-TBL->第一个文件夹,右键单击过程选择新建过程
12.在新对象窗口将新建的过程命名为PRD-create-populate-table,目标技术选择Oracle,点详细资料页签,点按钮添加一个步骤
13.在信息窗口中输入以下参数,选择忽略错误,选择详细资料
参数
值
名称
Droptable
技术
Oracle
方案
ODI_STAGE
命令
DROPtable
14.点添加另外的步骤,输入以下参数
参数
值
名称
CreateTable
技术
Oracle
方案
ODI_STAGE
命令
CREATEtable"SRC_SALES_PERSON1"(
"SALES_PERSON_ID"NUMBER(8,0)NOTNULL,
"FIRST_NAME"VARCHAR2(80),
"LAST_NAME"VARCHAR2(80),
"DATE_HIRED"VARCHAR2(80),
"DATE_UPDATED"DATENOTNULL,
constraint"TRG_SALES_PERSON1_PK"primarykey("SALES_PERSON_ID")
)
15.点添加另外的步骤初始化SRC_SALES_PERSON1表,输入以下参数
参数
值
名称
Populatetable
技术
Oracle
方案
ODI_STAGE
命令
begin
insertintovalues
(11,'Andrew','Andersen','22/02/1999',sysdate);
insertintovalues
(12,'John','Galagers','20/04/2000',sysdate);
insertintovalues
(13,'Jeffrey','Jeferson','32422',sysdate);
insertintovalues
(20,'Jennie','Daumesnil','28/02/1988',sysdate);
insertintovalues
(21,'Steve','Barrot','24/09/1992',sysdate);
insertintovalues
(22,'Mary','Carlin','14/03/1995',sysdate);
insertintovalues
(30,'Paul','Moore','36467',sysdate);
insertintovalues
(31,'Paul','Edwood','18/03/2003',sysdate);
insertintovalues
(32,'Megan','Keegan','29/05/2001',sysdate);
insertintovalues
(40,'Rodolph','Bauman','29/05/2000',sysdate);
insertintovalues
(41,'Stanley','Fischer','37233',sysdate);
insertintovalues
(42,'Brian','Schmidt','25/08/1992',sysdate);
insertintovalues
(50,'Anish','Ishimoto','30/01/1992',sysdate);
insertintovalues
(51,'Cynthia','Nagata','28/02/1994',sysdate);
insertintovalues
(52,'William','Kudo','28/03/1993',sysdate);
end;
16.检查新创建的命令并保存。
17.展开Procedure-CRT-TBL>过程,选择刚刚创建的过程PRD-create-populate-table并选择执行
18.打开ODI操作,点击所有执行,点刷新图标,找到刚启动的过程,检查是否成功执行。
19.打开SQLdeveloper双击ODI_STAGE连接,选择表节点,单击刷新按钮,双击新创建的表SRC_SALES_PERSON1,单击数据标签,确认SRC_SALES_PERSON1表已经正确创建,并初始化了数据。
例子二、创建项目和接口将数据从一个表导入到另一个表
1.打开设计器页,新建项目
将项目命名为ODI_exp_FT_RT
2.引入知识模块LKMFiletoSQL、CKMOracle和IKMSQLIncrementalUpdate。
3.打开SQLdeveloper,使用以下的语句创建表TRG_SALES_PERSON
CREATEtable"TRG_SALES_PERSON"(
"SALES_PERSON_ID"NUMBER(8,0)NOTNULL,
"FIRST_NAME"VARCHAR2(80),
"LAST_NAME"VARCHAR2(80),
"DATE_HIRED"VARCHAR2(80),
"DATE_UPDATED"DATENOTNULL,
constraint"TRG_SALES_PERSON_PK"primarykey("SALES_PERSON_ID")
)
4.在ODI中打开拓扑导航页,选择物理体系结构,展开技术节,右键单击Oracle并选择新建数据服务器
5.在新建窗口,输入以下的参数。
点JDBC标签
Parameter
Value
Name
ODI_STAGE
Instance/dblink(DataServer)
ORCL
User
ODI_STAGE
Password
ODI_STAGE
设置JDBC连接
保存连接点“测试连接”
6.展开Oracle节点,右键单击ODI_STAGE,选择新建物理方案
7.在方案(方案)和方案(工作方案)下拉框,选择ODI_STAGE方案,点击保存按钮,关闭物理方案,在弹出的信息窗口选择确定
8.打开逻辑体系结构,找到技术->Oracle,右键单击Oracle并选择新建逻辑方案
9.将逻辑方案命名为ODI_STAGE,设置Global上下文的物理方案为,保存并关闭。
10.建立模型
点模型
输入以下参数:
名称:
Oracle_RDBMS1
技术:
Oracle
逻辑方案:
ODI_STAGE
在逆向工程页设置如下,关闭Oracle_RDBMS1页
11.右键单击Oracle_RDBMS1选择逆向工程
12.在ODI设计器中依次展开项目->ODI_exp_FF_RT->第一个文件夹,右键单击接口选择新建接口
接口命名为INT-EXP-FF-RT,反选临时区域与目标区不同复选框,点映射页签。
从模型中将SRC_SALES_PERSON拖和TRG_SALES_PERSON拖到如下的区域
结果如下,点“控制”
确认CKM选择器选择的是CKMOracle
13.保存并执行
点开操作查看执行结果
例子三、CDC抽取
1.添加知识模块
在前面例子使用的项目ODI_exp_FT_RT中添加知识模块JKMOracleSimple
2.设计器\模块\Oracle_RDBMS1\双击\日记记录
ODI已经默认选择模式为“简单”、KM为“JKMOracleSimple.ODI_exp_FT_RT”
3.添加到CDC
设计器\模块\Oracle_RDBMS1\SRC_SALES_PERSON1\右键\已更改数据捕获\添加到CDC
操作完成后可以看到表的左上角增加了一个黄色的时钟
4.添加订阅
设计器\模块\Oracle_RDBMS1\SRC_SALES_PERSON1\右键\已更改数据捕获\订户\订阅
添加订户CDCT,订户名字可以为任意值,在设置后边的接口的Filter时要用到
5.启动日记
设计器\模块\Oracle_RDBMS1\SRC_SALES_PERSON1\右键\已更改数据捕获\启动日记
日记启动以后可以看到左上方的黄色时钟标示变成绿色
6.测试
在SRC_SALES_PERSON1表中修改一条记录然后再增加一条记录
设计器\模块\Oracle_RDBMS1\SRC_SALES_PERSON1\右键\已更改数据捕获\日记数据
可以看到已经捕获到数据的变化情况
7.接口启用CDC
双击例子二中建立的接口INT-EXP-FF-RT,点“映射”,点源端的表
勾选下面的“仅已进行日记记录的数据”,可以看到源区域多了一个漏斗状的过滤图标,点过滤图标,修改下面的实施区域内容为JRN_SUBSCRIBER='CDCT'。
保存后,执行接口确认刚刚捕获的变化数据已经全部同步到目标表中。
例子四、使用代理
1.确认存在“拓扑\物理体系结构\代理\WF_AGENT”和“拓扑\逻辑体系结构\代理\WF_AGENT”
如果不存在,新建物理代理和逻辑代理,新建的物理代理和逻辑代理如下:
物理代理:
逻辑代理:
2.生成场景
项目\ODI_exp_FI_RT\第一个文件夹\接口\INT_EXP_FF_RT\右键\生成场景
项目\ODI_exp_FI_RT\第一个文件夹\接口\INT_EXP_FF_RT\场景\INT_EXP_FF_RT版本001\调度\右键\新建调度
填写以下参数:
代理:
WF_AGENT
执行:
启动时
转到执行循环页修改为如下内容
经过以上设置,当启动代理WF_AGENT后程序会每一分钟执行一次接口
3.启动代理
启动windowscommand窗口,转到目录D:
\Oracle\Middleware\Oracle_ODI1\oracledi\agent\bin下,执行"-NAME=WF_AGENT""-PORT=27776"可以看到如下结果
说明代理已经正常启动,接口就能够按照在前面调度中设置的频率执行了。
例子五、CDC抽取(ConsistentSet)
环境准备
使用前面建立的用户ODI_STAGE登录Oracle数据库新建两张表,并修改soctt用户的权限:
createtableDEPT
(
DEPTNONUMBER
(2)notnull,
DNAMEVARCHAR2(14),
LOCVARCHAR2(13)
);
altertableDEPT
addconstraintPK_DEPTprimarykey(DEPTNO)
usingindex;
createtableEMP
(
EMPNONUMBER(4)notnull,
ENAMEVARCHAR2(10),
JOBVARCHAR2(9),
MGRNUMBER(4),
HIREDATEDATE,
SALNUMBER(7,2),
COMMNUMBER(7,2),
DEPTNONUMBER
(2)
);
altertableEMP
addconstraintPK_EMPprimarykey(EMPNO)
usingindex;
altertableEMP
addconstraintFK_DEPTNOforeignkey(DEPTNO)
referencesDEPT(DEPTNO);
--填充数据
INSERTINTOdept
SELECT*FROM;
INSERTINTOemp
SELECT*FROM;
--修改scott用户权限
grantconnect,resourcetoscott;
grantcreateviewtoscott;
建立模型
先添加物理体系结构scott,物理体系结构的定义如下图:
scott物体体系结构方案如下:
添加逻辑体系结构:
新建项目CDC_CONSISTENT,并导入知识库JKMOracleConsistent
新建模型Oracle_scott,并点逆向工程,获得数据库信息:
日记记录设置
模型\Oracle_scott\双击\日记记录
日记记录模式选择“一致性集合”,知识模块选择JKMOracle
添加到CDC
模型\Oracle_scott\dept\右键\已更改数据捕获\添加到CDC
模型\Oracle_scott\emp\右键\已更改数据捕获\添加到CDC
调整顺序
增加订阅
模型\Oracle_scott\右键\已更改数据捕获\订户\订阅
添加一个名字叫“SCOTT”的订阅者
启动日记
模型\Oracle_scott\右键\已更改数据捕获\启动日记
测试
在PL/SQLDeveloper中执行下列语句往源系统插入数据
INSERTINTO
SELECTMAX(deptno)+1,'TEST','TEST'FROM;
INSERTINTO
SELECTMAX(empno)+1,MAX(ename),MAX(job),MAX(mgr),MAX(hiredate),MAX(sal),MAX(comm),MAX(deptno)
FROM;
模型\Oracle_scott\dept\右键\已更改数据捕获\日记数据
模型\Oracle_scott\emp\右键\已更改数据捕获\日记数据
可以看到日记中有了一条记录。
创建接口
参照前面的CDC例子在项目“CDC_CONSISTENT”下新建两个接口CDC-CONSISTENT-DEPTHECDC-CONSISTENT-EMP
需要导入的知识模块有LKMOracletoOracle(DBLink)、CKMOracle和IKMOracleIncrementalUpdate。
运行接口,数据没有任何变化!
已更改数据捕获\日记数据中的数据依然存在!
这个和Simple的不同了!
创建程序包
创建程序包“LOAD-CONSISTENT-DEPT”,把Model“Oracle_scott”拖两遍进来,一个做起点,一个做终点,把CDC-CONSISTENT-DEPT、CDC-CONSISTENT-EMP也拖进来,设置完前后步骤。
设置起点的类型为“日记记录模型”,勾上“扩展窗口”和“锁定用户”两个复选项,添加订户“SCOTT”。
设置终点的类型为“日记记录模型”,勾上“清除日记”和“取消锁定用户”两个复选项,添加订户“SCOTT”。
设置完成后的图表如下:
数据验证
1、在PL/SQLDeveloper中执行下列语句往源系统插入数据
INSERTINTO
SELECTMAX(deptno)+1,'TEST','TEST'FROM;
INSERTINTO
SELECTMAX(empno)+1,MAX(ename),MAX(job),MAX(mgr),MAX(hiredate),MAX(sal),MAX(comm),MAX(deptno)
FROM;
2、查看日记数据可以看到日记中有了一条新增记录,
3、执行包“LOAD-CONSISTENT-DEPT”
4、查看表中的数据和日记记录中的数据。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ODI11G 安装 使用