ODI-Oracle-入門指南參考_第1頁(yè)
ODI-Oracle-入門指南參考_第2頁(yè)
ODI-Oracle-入門指南參考_第3頁(yè)
ODI-Oracle-入門指南參考_第4頁(yè)
ODI-Oracle-入門指南參考_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

日期作者版本變更參考2012-10-15李鶴1.0沒(méi)有之前版本審閱姓名崗位分發(fā)拷貝號(hào)姓名崗位目錄TOC\o"2-3"文檔控制 ii概述 1ODI理解 2資料檔案庫(kù) 2拓?fù)?Topology) 2知識(shí)模塊(KM) 4接口、程序包、場(chǎng)景 5加載計(jì)劃(LoadPlans) 5Oracle到Oracle的簡(jiǎn)單數(shù)據(jù)傳輸實(shí)例 71.任務(wù)描述 72.新建邏輯方案ORA_SCOTT、ORA_STAGING 73.新建Oracle數(shù)據(jù)服務(wù)器和物理方案 84.新建項(xiàng)目并導(dǎo)入知識(shí)模塊 105.新建Oracle模型 126.新建接口 167.新建程序包和生成場(chǎng)景 208.定時(shí)執(zhí)行場(chǎng)景 229.新建用戶 26ODI變量理解 29變量簡(jiǎn)單介紹 29變量舉例 29已解決和未解決的問(wèn)題 32未解決的問(wèn)題 32已解決的問(wèn)題 32PAGE27CompanyConfidential–Forinternaluseonly概述在ODI11g安裝配置好的前提下,此文檔完成Oracle到Oracle的簡(jiǎn)單數(shù)據(jù)傳輸。ODI理解資料檔案庫(kù)注:資料庫(kù)的創(chuàng)建請(qǐng)參考ODI11g安裝和配置文檔。資料檔案庫(kù)又名資料庫(kù)、存儲(chǔ)庫(kù)、資料存儲(chǔ)庫(kù),都是一個(gè)意思,翻譯不同而已。ODI資料檔案庫(kù)可安裝在任何支持ANSIISO89的數(shù)據(jù)庫(kù)中。Oracle實(shí)驗(yàn)室已驗(yàn)證通過(guò)的數(shù)據(jù)庫(kù)有:HypersonicSQL、IBMDB2UDB、IBMDB2/400、Informix、MicrosoftSQLServer、Oracle、SybaseASAnywhere、SybaseASEnterprise、SybaseASIQ等。資料庫(kù)分為主資料檔案庫(kù)(MasterRepository)和工作資料檔案庫(kù)(WorkRepository)兩種,ODI11g的資料檔案庫(kù)可以在安裝時(shí)通過(guò)RCU創(chuàng)建,也可以安裝ODI后手工創(chuàng)建。1.主資料檔案庫(kù)主資料檔案庫(kù):保存企業(yè)所有IT資源的Topology,保存項(xiàng)目和數(shù)據(jù)模型的安全信息、版本信息,供ODI圖形模塊等使用。通常創(chuàng)建一個(gè)即可。MasterRepository要盡可能獨(dú)立存儲(chǔ),單獨(dú)的Instance,或單獨(dú)的Schema。2.工作資料檔案庫(kù)工作資料檔案庫(kù):保存項(xiàng)目和數(shù)據(jù)模型,供ODI圖形模塊等使用。可創(chuàng)建多個(gè)。一個(gè)WorkRepository只能連接一個(gè)MasterRepository。一個(gè)Schema只能存儲(chǔ)一個(gè)WorkRepository,不過(guò)MasterRepository倒可與其安裝在同一Schema。拓?fù)?Topology)拓?fù)涔芾砥髦饕脕?lái)管理物理體系結(jié)構(gòu)、邏輯體系結(jié)構(gòu)、上下文、資料檔案庫(kù)等5類任務(wù),并將信息存儲(chǔ)在主資料檔案庫(kù)中,供所有模塊共享使用。物理體系結(jié)構(gòu)物理體系結(jié)構(gòu),定義各種技術(shù)及其數(shù)據(jù)服務(wù)器、物理方案、物理代理。=1\*romani.技術(shù)和數(shù)據(jù)類型:ODI將不同的數(shù)據(jù)庫(kù)(Oracle、DB2等)、文件格式(XMLFile等)、應(yīng)用系統(tǒng),用不同的“技術(shù)”來(lái)表示。每種技術(shù)都有自己支持的“數(shù)據(jù)類型”。=2\*romanii.數(shù)據(jù)服務(wù)器:在ODI中,每個(gè)數(shù)據(jù)庫(kù)服務(wù)器、每組文本文件必須先定義為“數(shù)據(jù)服務(wù)器”。=3\*romaniii.物理方案:在數(shù)據(jù)服務(wù)器下,每個(gè)用戶、文本文件必須定義為一個(gè)“物理方案”。=4\*romaniv.物理代理:在物理體系結(jié)構(gòu)需要定義“物理代理”,允許在遠(yuǎn)程機(jī)器上執(zhí)行ODI任務(wù)。上下文上下文,用來(lái)連接物理架構(gòu)和邏輯架構(gòu)、物理代理和邏輯代理。邏輯體系結(jié)構(gòu)邏輯體系結(jié)構(gòu),定義各種技術(shù)及其關(guān)聯(lián)的邏輯方案、邏輯代理。邏輯方案、邏輯代理是物理方案、物理代理的邏輯組合,方便用戶管理和使用。ODI在設(shè)計(jì)開發(fā)階段是通過(guò)引用邏輯模式完成的.在執(zhí)行階段,通過(guò)上下文找到相應(yīng)的物理方案和物理代理,然后執(zhí)行轉(zhuǎn)換.如果需要在上下文中執(zhí)行一個(gè)對(duì)象,必須在上下文中匹配邏輯模式.在上下文中,幾乎一個(gè)邏輯模式匹配一個(gè)物理模式。優(yōu)點(diǎn):邏輯模式(包括邏輯方案和邏輯代理)是物理模式(包括物理方案和物理代理)的別名,防止用戶更改數(shù)據(jù)庫(kù)服務(wù)器IP地址,用戶名,數(shù)據(jù)庫(kù)服務(wù)器密碼等信息.可以理解為同義詞。物理模式的修改,不影響邏輯模式。典型應(yīng)用:集團(tuán)企業(yè)有眾多分子公司,業(yè)務(wù)模式大體相同,以此為背景。開發(fā)一套接口方案適用于所有公司,各個(gè)公司通過(guò)上下文區(qū)別,每個(gè)公司創(chuàng)建一個(gè)上下文,執(zhí)行接口方案時(shí)選取自己公司的上下文,每個(gè)上下文中邏輯方案對(duì)應(yīng)的是自己公司的物理方案。這樣就不必為每個(gè)公司都開發(fā)一套接口方案。語(yǔ)言語(yǔ)言,不同技術(shù)所能采用的語(yǔ)言特性。資料檔案庫(kù)資料檔案庫(kù),包含主資料檔案庫(kù)及其附屬的工作資料檔案庫(kù)。關(guān)于資料檔案庫(kù)在前面的“資料檔案庫(kù)”章節(jié)有詳細(xì)的介紹。知識(shí)模塊(KM)OracleDataIntegrator之所以能適應(yīng)不同的、多種多樣的數(shù)據(jù)源,靈活有效的完成數(shù)據(jù)抽取/轉(zhuǎn)換/載入的過(guò)程,均是基于其知識(shí)模型體系。KnowledgeModules類似于程序中的插件,OracleDataIntegrator將數(shù)據(jù)整合的任務(wù)抽象出六個(gè)組成部分:1.逆向工程(RKM),Reverse-engineeringknowledgemodules,用于從數(shù)據(jù)源讀取表及其他對(duì)象。2.加載(LKM),Loadingknowledgemodules,用于從數(shù)據(jù)源抽取數(shù)據(jù)。3.檢查(CKM),Checkknowledgemodules,用于檢測(cè)抽取出的源數(shù)據(jù)的合法性。4.集成(IKM),Integrationknowledgemodules,用于將StagingArea中的數(shù)據(jù)轉(zhuǎn)換至目標(biāo)表,基于目標(biāo)數(shù)據(jù)庫(kù)產(chǎn)生對(duì)應(yīng)的轉(zhuǎn)換SQL。5.日記(JKM),Journalizingknowledgemodules,用于為單一或一組表/視圖記錄新建的和修改的數(shù)據(jù)。ODI支持部分?jǐn)?shù)據(jù)源的ChangeDataCapture(CDC)功能,前提為ODI項(xiàng)目中啟用該模塊。6.服務(wù)(SKM),Serviceknowledgemodules,提供將數(shù)據(jù)以WebServices的方式展現(xiàn)的功能。接口、程序包、場(chǎng)景簡(jiǎn)單的話,接口、程序包、場(chǎng)景的內(nèi)容和運(yùn)行結(jié)果一樣。實(shí)際上,接口是ELT基本單元;程序包類似工作流,用于將接口串接起來(lái);場(chǎng)景(以前翻譯為方案)是對(duì)象的發(fā)布版本,可理解為預(yù)編譯的。變量、過(guò)程、接口、程序包都可以發(fā)布為場(chǎng)景。場(chǎng)景可以在設(shè)計(jì)器(Designer)中執(zhí)行,也可以通過(guò)操作器(Operator)、操作系統(tǒng)命令、WebService、HTTPURL執(zhí)行。此外,場(chǎng)景可以在操作器(Operator)中導(dǎo)入、導(dǎo)出,可用于發(fā)布到正式環(huán)境。加載計(jì)劃(LoadPlans)加載計(jì)劃(LoadPlans)介紹ODI經(jīng)常應(yīng)用于大型數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)集成,而這樣的應(yīng)用可能包含幾千張數(shù)據(jù)表涉及到幾百個(gè)ODI場(chǎng)景。執(zhí)行這些ODI場(chǎng)景必須用一種最有效率的方式組織起來(lái),而加載計(jì)劃(LoadPlans)可以幫助我們用并行、串行的方式執(zhí)行ODI場(chǎng)景。加載計(jì)劃(LoadPlans)是一個(gè)可執(zhí)行的對(duì)象,包含一些有層次的步驟,里面的步驟可以有條件的執(zhí)行,也可以并行和串行執(zhí)行。場(chǎng)景、程序包、接口、變量、過(guò)程都可以拖到加載計(jì)劃中,成為加載計(jì)劃的一部分。說(shuō)簡(jiǎn)單一點(diǎn),加載計(jì)劃就是將我們開發(fā)好的接口方案、程序包、變量、過(guò)程等等組織起來(lái)執(zhí)行,先執(zhí)行什么后執(zhí)行什么。加載計(jì)劃與程序包、場(chǎng)景的不同加載計(jì)劃是ODI中最大的可執(zhí)行對(duì)象,由場(chǎng)景組成它的步驟。當(dāng)一個(gè)可執(zhí)行對(duì)象被用于加載計(jì)劃,那么這個(gè)可執(zhí)行對(duì)象會(huì)自動(dòng)生成場(chǎng)景,例如你把一個(gè)程序包拖入加載計(jì)劃中,那這個(gè)程序包會(huì)自動(dòng)生成場(chǎng)景。需要注意的是一個(gè)加載計(jì)劃中不能包含另一個(gè)加載計(jì)劃。加載計(jì)劃不是程序包、場(chǎng)景的替代品,它是將程序包、場(chǎng)景組織起來(lái)進(jìn)行一些更高層次的運(yùn)行。Oracle到Oracle的簡(jiǎn)單數(shù)據(jù)傳輸實(shí)例1.任務(wù)描述Oracle數(shù)據(jù)庫(kù)默認(rèn)用戶scott(默認(rèn)是用戶名:scott,密碼:tiger),如果不能正常使用請(qǐng)解鎖并授權(quán):alteruserscottaccountunlock;alteruserscottidentifiedbytiger;grantconnect,resourcetoscott;grantcreateviewtoscott;scott下有一張DEPT表,此例中用這張表作為源表,表結(jié)構(gòu)和數(shù)據(jù)如下圖:下面新建另外一個(gè)用戶staging,并在該用戶下新建一張表dept_staging,用作目標(biāo)表,我們的任務(wù)是通過(guò)ODI將scott用戶下DEPT表的數(shù)據(jù)抽取到staging用戶下的dept_staging表。createuserstagingidentifiedbystaging;grantconnecttostaging;grantresourcetostaging;createtabledept_staging(DEPTNONUMBER(2)notnull,DNAMEVARCHAR2(14),LOCVARCHAR2(13))2.新建邏輯方案ORA_SCOTT、ORA_STAGING操作:拓?fù)涔芾砥?>邏輯體系結(jié)構(gòu)->技術(shù)->Oracle->右鍵->新建邏輯方案輸入名稱:ORA_SCOTT,再點(diǎn)擊工具欄的保存按鈕。同樣的操作再新建一個(gè)名稱為ORA_STAGING的Oracle邏輯方案。3.新建Oracle數(shù)據(jù)服務(wù)器和物理方案新建數(shù)據(jù)服務(wù)器Oracle_Scott和物理方案Oracle_Scott.SCOTT新建數(shù)據(jù)服務(wù)器Oracle_Scott:操作:拓?fù)涔芾砥?>物理體系結(jié)構(gòu)->技術(shù)->Oracle->右鍵->新建數(shù)據(jù)服務(wù)器輸入名稱:Oracle_Scott,輸入用戶名和密碼,此例是scott/tiger選擇“JDBC”選項(xiàng)卡進(jìn)入JDBC配置頁(yè)面,通過(guò)點(diǎn)擊右邊的放大鏡,選擇Oracle的驅(qū)動(dòng)程序和URL,修改URL,填上你要連接的數(shù)據(jù)庫(kù)信息。完成后點(diǎn)擊工具欄的保存按鈕。新建物理方案Oracle_Scott.SCOTT:操作:拓?fù)涔芾砥?>物理體系結(jié)構(gòu)->技術(shù)->Oracle->Oracle_Scott->新建物理方案“定義”標(biāo)簽頁(yè),方案和工作方案處都填入SCOTT(大寫),其他保持默認(rèn);“上下文”標(biāo)簽頁(yè),選擇“添加”按鈕,邏輯方案選擇“ORA_SCOTT”。完成后點(diǎn)擊工具欄的保存按鈕。新建數(shù)據(jù)服務(wù)器Oracle_Staging和物理方案Oracle_Scott.STAGING操作與新建Oracle_Scott和Oracle_Scott.SCOTT完全一樣,只是連接用戶名和密碼改為staging/staging,方案和工作方案改為STAGING和STAGING,具體操作步驟略。最后效果圖:4.新建項(xiàng)目并導(dǎo)入知識(shí)模塊登錄到ODIStudio。新建項(xiàng)目:操作:設(shè)計(jì)器->項(xiàng)目->新建項(xiàng)目按鈕->新建項(xiàng)目Test導(dǎo)入知識(shí)模塊:操作:設(shè)計(jì)器->項(xiàng)目->Test->知識(shí)模塊->右鍵->導(dǎo)入知識(shí)模塊此例中我們只涉及到Oracle數(shù)據(jù)庫(kù),我們導(dǎo)入如下KM:CKMOracleIKMOracleIncrementalUpdateLKMSQLtoSQL用Ctrl鍵+鼠標(biāo)選中上述所有KM執(zhí)行導(dǎo)入:5.新建Oracle模型新建模型文件夾OracleModel操作:設(shè)計(jì)器->模型->新建模型文件夾按鈕->新建模型文件夾輸入名稱:OracleModel,點(diǎn)擊保存按鈕。該文件夾用于管理Oracle數(shù)據(jù)庫(kù)的模型。新建模型ORA_Scott并反向源表操作:設(shè)計(jì)器->模型->OracleModel->新建模型“定義”標(biāo)簽頁(yè),名稱輸入:ORA_Scott,技術(shù)選擇Oracle,邏輯方案選擇ORA_SCOTT;“逆向工程”標(biāo)簽頁(yè),選擇“標(biāo)準(zhǔn)”模式,上下文選擇“Global”;“選擇性逆向工程”標(biāo)簽頁(yè),只選擇“DEPT”表,點(diǎn)擊保存按鈕;點(diǎn)擊模型頁(yè)面左上角的“反向工程”圖標(biāo)按鈕進(jìn)行反向。新建模型ORA_Staging并反向目標(biāo)表操作與新建ORA_Scott模型完全一樣。名稱是ORA_Staging,邏輯方案選擇ORA_STAGING,只反向表DEPT_STAGING.為數(shù)據(jù)存儲(chǔ)DEPT_STAGING建立主鍵:操作:設(shè)計(jì)器->模型->OracleModel(文件夾)->ORA_Staging(模型)->DEPT_STAGING(數(shù)據(jù)存儲(chǔ))->約束條件(右鍵單擊)->新建關(guān)鍵字“說(shuō)明”標(biāo)簽頁(yè),輸入主鍵名稱:PK_DeptNo“列”標(biāo)簽頁(yè),選擇“DEPTNO”列作為主鍵。最后效果圖:6.新建接口新建接口操作:設(shè)計(jì)器->項(xiàng)目->Test->第一個(gè)文件夾->接口->右鍵->新建接口輸入接口名稱:Scott_Staging_ORA_INTE接口映射點(diǎn)擊接口頁(yè)面下面的標(biāo)簽欄,進(jìn)入“映射”標(biāo)簽頁(yè)將模型中的數(shù)據(jù)存儲(chǔ)DEPT拖曳到源區(qū)域,將數(shù)據(jù)存儲(chǔ)DEPT_STAGING拖曳到目標(biāo)區(qū)域并完成自動(dòng)映射。接口流通過(guò)頁(yè)面下面的標(biāo)簽欄,切換到“流”標(biāo)簽頁(yè)。點(diǎn)擊“源”的頂部,LKM選擇“LKMSQLtoSQL”,各選項(xiàng)保持默認(rèn)。點(diǎn)擊“目標(biāo)”頂部,IKM選擇IKMOracleIncrementalUpdate,各選項(xiàng)保持默認(rèn)。運(yùn)行接口接口設(shè)置完成后點(diǎn)擊工具欄的保存按鈕保存,然后可以直接點(diǎn)擊工具欄的“執(zhí)行”按鈕運(yùn)行接口。點(diǎn)擊“確定”運(yùn)行接口:查看接口執(zhí)行情況操作:操作器->會(huì)話列表->今天:綠色勾表示該步成功執(zhí)行。:黃色嘆號(hào)表示警告,一般不用管它。:紅色叉表示執(zhí)行失敗,報(bào)錯(cuò)了。:綠色閃電表示正在運(yùn)行。雙擊進(jìn)入具體的步驟可以查看該步驟執(zhí)行情況,執(zhí)行代碼和執(zhí)行統(tǒng)計(jì)。例如:插入了多少條,更新了多少條。7.新建程序包和生成場(chǎng)景新建程序包操作:設(shè)計(jì)器->項(xiàng)目->Test->第一個(gè)文件夾->程序包->右鍵->新建程序包輸入名稱:Scott_Staging_ORA_Package點(diǎn)擊頁(yè)面下方的標(biāo)簽,切換至“圖表”標(biāo)簽頁(yè),將剛剛開發(fā)的接口拖曳至圖表區(qū)域。點(diǎn)擊保存按鈕保存。生成場(chǎng)景(生成方案)右鍵點(diǎn)擊剛剛新建的程序包,點(diǎn)擊“生成場(chǎng)景”。執(zhí)行場(chǎng)景右鍵點(diǎn)擊剛剛生成的場(chǎng)景,選擇“執(zhí)行”。8.定時(shí)執(zhí)行場(chǎng)景=1\*romani.任務(wù)描述讓剛剛開發(fā)的接口場(chǎng)景“Scott_Staging_ORA_Package版本001”每隔一小時(shí)自動(dòng)執(zhí)行一次。=2\*romanii.啟動(dòng)ODI獨(dú)立代理EPM_AGENT操作:開始->所有程序->Oracle->OracleDataIntegrator->獨(dú)立代理EPM_AGENT如果開始菜單沒(méi)有該選項(xiàng)就進(jìn)入命令行:D:\Oracle\Middleware\Oracle_ODI1\oracledi\agent\bin目錄命令啟動(dòng)獨(dú)立代理。cd/dD:\Oracle\Middleware\Oracle_ODI1\oracledi\agent\binagent.bat"-NAME=EPM_AGENT""-PORT=9001"=3\*romaniii.新建調(diào)度操作:場(chǎng)景SCOTT_STAGING_ORA_PACKAGE版本001->調(diào)度->右鍵->新建調(diào)度代理:選擇EPM_AGENT,這里的代理是指邏輯代理,通過(guò)上下文與具體的物理代理聯(lián)系起來(lái)狀態(tài):活動(dòng)執(zhí)行:每小時(shí)時(shí)間:10:00(表示每小時(shí)的第10分鐘開始執(zhí)行)切換到“執(zhí)行循環(huán)”頁(yè),重復(fù):選擇“無(wú)(執(zhí)行一次)”=4\*romaniv.更新調(diào)度(容易漏掉)新建或更改調(diào)度計(jì)劃后一定要記得去物理代理處更新調(diào)度,這一步很容易遺忘。具體操作:拓?fù)?>物理體系結(jié)構(gòu)->代理->EPM_AGENT->更新調(diào)度選擇資料檔案庫(kù),點(diǎn)擊確定。=5\*romanv.查看執(zhí)行情況操作:場(chǎng)景SCOTT_STAGING_ORA_PACKAGE版本001->執(zhí)行可以看到調(diào)度計(jì)劃是有效的,每隔一小時(shí)的10分場(chǎng)景自動(dòng)執(zhí)行了。ODI變量理解變量簡(jiǎn)單介紹ODI中的變量,屬于高級(jí)應(yīng)用,用于參數(shù)化ODI的各個(gè)對(duì)象,使得我們?cè)O(shè)計(jì)出來(lái)的ETL具有極高的靈活性。主要在如下幾個(gè)場(chǎng)合使用:1.各個(gè)地方的表達(dá)式(比如鉛筆按鈕點(diǎn)開的界面)和SQL2.圖形模塊,如Datastore界面的Resource欄位,動(dòng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論