一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

OracleDI實時數(shù)據(jù)集成簡介

 qrzhcd 2012-08-15

OracleDI實時數(shù)據(jù)集成簡介  

2011-03-24 16:49:11|  分類: 分享 |  標(biāo)簽: |字號 訂閱

本文介紹了 Oracle Data Integrator,它是一個基于 Java 的中間件,可以使用數(shù)據(jù)庫在 SOA 中執(zhí)行基于集合的數(shù)據(jù)集成任務(wù)。 現(xiàn)在,復(fù)雜的“可熱插拔”系統(tǒng)和面向服務(wù)的體系結(jié)構(gòu) (SOA) 得到了廣泛應(yīng)用,這使得將數(shù)據(jù)合理地整合在一起的難度日益增加。盡管您的主要應(yīng)用程序數(shù)據(jù)庫在 Oracle 數(shù)據(jù)庫上運行,但是可能還有其他較小的系統(tǒng)在其他供應(yīng)商提供的數(shù)據(jù)庫和平臺上運行。您的應(yīng)用程序本身可以通過 Web 服務(wù)之類的技術(shù)進(jìn)行交互,應(yīng)用程序和數(shù)據(jù)可以遠(yuǎn)程托管,也可以由您在企業(yè)數(shù)據(jù)中心內(nèi)進(jìn)行管理。 Oracle Data Integrator 屬于 Oracle 融合中間件產(chǎn)品系列,它解決了異構(gòu)程度日益增加的環(huán)境中的數(shù)據(jù)集成需求。它是一個基于 Java 的應(yīng)用程序,可以使用數(shù)據(jù)庫來執(zhí)行基于集合的數(shù)據(jù)集成任務(wù),也可以將該功能擴展到多種數(shù)據(jù)庫平臺以及 Oracle 數(shù)據(jù)庫。此外,通過它,您還可以通過 Web 服務(wù)和消息提取并提供轉(zhuǎn)換數(shù)據(jù),以及創(chuàng)建在面向服務(wù)的體系結(jié)構(gòu)中響應(yīng)和創(chuàng)建事件的集成過程。
Oracle Data Integrator 產(chǎn)品體系結(jié)構(gòu)Oracle Data Integrator 是以 Java 圖形模塊和調(diào)度代理訪問的模塊化信息庫為中心進(jìn)行組織的。圖形模塊用于設(shè)計和構(gòu)建集成過程,代理用于安排和協(xié)調(diào)集成任務(wù)。當(dāng) Oracle Data Integrator 項目投入生產(chǎn)時,數(shù)據(jù)管理員可以使用基于 Web 的 Metadata Navigator 應(yīng)用程序來根據(jù)信息庫中的元數(shù)據(jù)生成報告?,F(xiàn)成的知識模塊可以使用特定于平臺的代碼和工具跨異構(gòu)平臺提取和加載數(shù)據(jù)。
OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
Oracle Data Integrator 信息庫包含一個主信息庫(包含有關(guān)用戶和角色的詳細(xì)信息)、到數(shù)據(jù)庫和其他數(shù)據(jù)源的連接、項目版本以及一個或多個工作信息庫(包含數(shù)據(jù)模型的詳細(xì)信息以及用于集成數(shù)據(jù)的映射)。這些信息庫可以存儲在 Oracle 和非 Oracle 關(guān)系數(shù)據(jù)庫中,可以使用圖形模塊進(jìn)行管理,并可以在運行時由代理進(jìn)行訪問。
有四個圖形模塊可用來創(chuàng)建和管理 Oracle Data Integrator 項目:

  • Designer 用于定義數(shù)據(jù)存儲(表、文件、Web 服務(wù)等)、接口(數(shù)據(jù)映射)以及程序包(包括接口在內(nèi)的幾組集成步驟)。 
  • Topology Manager 用于創(chuàng)建和管理到數(shù)據(jù)源和代理的連接,通常限制為只有管理員可以訪問。 
  • Operator 用于查看和管理產(chǎn)品集成作業(yè)。 
  • Security Manager 管理用戶及其信息庫權(quán)限。 

  • 這些基于 Java 的應(yīng)用程序可在包括 Microsoft Windows、Macintosh OS X 和 Linux 在內(nèi)的任何 Java 環(huán)境中運行。 
    聲明式設(shè)計
    一般來說,數(shù)據(jù)集成任務(wù)涉及兩個主要的領(lǐng)域:

  • 關(guān)于轉(zhuǎn)換哪位數(shù)據(jù)并將其與其他位相結(jié)合的業(yè)務(wù)規(guī)則 
  • 關(guān)于數(shù)據(jù)的實際提取、加載等操作方式的技術(shù)細(xì)節(jié) 
  • 這種劃分意味著,定義業(yè)務(wù)規(guī)則的人通常是機構(gòu)的技術(shù)業(yè)務(wù)專家或數(shù)據(jù)專家,而技術(shù)細(xì)節(jié)則往往留給開發(fā)人員和 DBA 等技術(shù)人員來定義。使用大多數(shù)數(shù)據(jù)集成工具,通常很難以這種方式劃分職責(zé),因為它們的數(shù)據(jù)映射特性在同一個數(shù)據(jù)映射中混合了業(yè)務(wù)規(guī)則和技術(shù)實現(xiàn)細(xì)節(jié)。而 Oracle Data Integrator 采用了一種不同的方法,像 SQL 一樣使用聲明式方法來構(gòu)建數(shù)據(jù)映射,這在工具中稱為“接口”。
    創(chuàng)建新的接口時,開發(fā)人員或技術(shù)業(yè)務(wù)用戶首先定義要集成的數(shù)據(jù)以及應(yīng)使用的業(yè)務(wù)規(guī)則。在該步驟中,會將表聯(lián)接在一起,應(yīng)用過濾器,并使用 SQL 表達(dá)式來轉(zhuǎn)換數(shù)據(jù)。所使用的特定 SQL 語言由執(zhí)行代碼的數(shù)據(jù)庫平臺來決定。
    然后,在另一個步驟中,技術(shù)人員可以使用特定于數(shù)據(jù)庫的工具和設(shè)計方法(例如增量加載、批量加載工具、漸變維度和更改數(shù)據(jù)捕獲)以最有效的方式來提取、組合并集成該數(shù)據(jù)。
    可擴展的知識模塊 
    由于 Oracle Data Integrator 在響應(yīng)事件的同時從很多不同的數(shù)據(jù)庫平臺加載和轉(zhuǎn)換數(shù)據(jù)并使用基于消息的技術(shù)(如 Web 服務(wù)),因此用于訪問和加載這些不同數(shù)據(jù)源的技術(shù)需要靈活、可擴展而又高效。Oracle Data Integrator 通過知識模塊解決了該問題。
    知識模塊是 Oracle Data Integrator 的“插件”,它濃縮了為特定數(shù)據(jù)源或特定目標(biāo)加載、轉(zhuǎn)換或集成數(shù)據(jù)的最佳實踐。Oracle Data Integrator 有六種知識模塊,如下圖所示: 
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍

  • 反向工程知識模塊用于從源數(shù)據(jù)庫中讀取表和其他對象元數(shù)據(jù)。 
  • 日志記錄知識模塊記錄單個表或視圖或者一組一致的表或視圖中的新數(shù)據(jù)和更改的數(shù)據(jù)。 
  • 加載知識模塊用于從源數(shù)據(jù)庫中有效地提取數(shù)據(jù),并包括特定于數(shù)據(jù)庫的適用的批量卸載工具。 
  • 檢查知識模塊用于檢測源數(shù)據(jù)中的錯誤。 
  • 集成知識模塊用于有效地將分段存儲區(qū)中的數(shù)據(jù)轉(zhuǎn)換為目標(biāo)表,以便為給定數(shù)據(jù)庫生成優(yōu)化的本機 SQL。 
  • 服務(wù)知識模塊可以將數(shù)據(jù)公布為 Web 服務(wù)。 
  • 知識模塊還可以擴展,這樣您可以添加 Oracle Data Integrator 當(dāng)前未提供的功能。例如,采用一組現(xiàn)有的基于 Oracle 的知識模塊并將其擴展為包括 Oracle 數(shù)據(jù)庫 10g 中的 Oracle 數(shù)據(jù)泵功能將是一項相對簡單的任務(wù)。
    數(shù)據(jù)質(zhì)量防火墻
    如果您是負(fù)責(zé)加載數(shù)據(jù)倉庫的人,那么不得不解決的一個問題是執(zhí)行夜間加載的時間段越來越短。如果您的元數(shù)據(jù)包含大量在加載到數(shù)據(jù)倉庫分段存儲區(qū)之前無法檢測的錯誤,時間就會變得格外緊張。
    Oracle Data Integrator 利用了一種創(chuàng)新方法來解決該問題,即,使用檢查知識模塊在數(shù)據(jù)源處充當(dāng)臟數(shù)據(jù)的“防火墻”,只允許符合業(yè)務(wù)規(guī)則的數(shù)據(jù)進(jìn)入集成流程。要使用該方法有效地確保數(shù)據(jù)質(zhì)量,您首先要在源對象上定義一個或多個約束,然后使用檢查知識模塊來識別不符合這些約束的所有行,并將它們復(fù)制到錯誤表中。 
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    這樣,在您以后從這些源對象中提取數(shù)據(jù)并在接口中使用它們時,可以確保僅加載了符合這些約束的數(shù)據(jù),并且您可以單獨處理錯誤表中的臟數(shù)據(jù)。 
    支持更改數(shù)據(jù)捕獲
    盡可能縮短數(shù)據(jù)加載時間的另一種有用的方法是,僅加載新的或經(jīng)過更改的數(shù)據(jù)。幸運的話,應(yīng)用程序設(shè)計人員會提供指示器和日期來幫助確定新的或經(jīng)過更改的數(shù)據(jù),但是大多數(shù)情況下,不會提供該信息,這需要您自己來確定感興趣的數(shù)據(jù)。
    由于這是一個相當(dāng)普遍的要求,因此 Oracle Data Integrator 提供了日志記錄知識模塊來監(jiān)視源數(shù)據(jù)庫,并將新的和經(jīng)過更改的記錄復(fù)制到日志中,然后可以從日志中而非原始的源表中讀取這些記錄。如果 Oracle 之類的數(shù)據(jù)庫供應(yīng)商提供更改數(shù)據(jù)捕獲的本機支持,就會使用這些功能;否則,日志記錄知識模塊會使用觸發(fā)器之類的技術(shù)來捕獲數(shù)據(jù)操作語言 (DML) 活動并使更改可用。在本文的后面部分,您將看到 Oracle Data Integrator 如何提供 Oracle 更改數(shù)據(jù)捕獲功能,以及如何使用它以增量方式將數(shù)據(jù)庫實時加載到其他數(shù)據(jù)庫平臺上。
    Oracle Data Integrator 與 Oracle Warehouse Builder 比較
    這時,Oracle Warehouse Builder 的常規(guī)用戶可能想知道它與 Oracle Data Integrator 的關(guān)系,以及它在其他 Oracle 數(shù)據(jù)倉庫技術(shù)產(chǎn)品中的適用情況。我們的回答是,Oracle Data Integrator 是一個工具,是對 Oracle Warehouse Builder 的補充,如果涉及在 Oracle 數(shù)據(jù)倉庫中創(chuàng)建分段層和集成層的工作很重要或者涉及 SOA 或非 Oracle 數(shù)據(jù)庫源,它將尤為有用。
    對于構(gòu)建 Oracle 數(shù)據(jù)倉庫的人來說,Oracle Warehouse Builder 有一組功能強大的特定于 Oracle 的數(shù)據(jù)倉庫功能,例如,支持關(guān)系和多維數(shù)據(jù)結(jié)構(gòu)的建模、與 Oracle Business Intelligence Discoverer 集成、支持加載漸變維度,以及用于理解數(shù)據(jù)結(jié)構(gòu)和語義的數(shù)據(jù)分析器。
    從源數(shù)據(jù)的最初準(zhǔn)備和集成一直到數(shù)據(jù)倉庫的分段存儲區(qū),Oracle Data Integrator 都起著重要作用。 
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    Oracle Data Integrator 可以集成和同步大量不同數(shù)據(jù)源(包括 Web 服務(wù)和基于事件的體系結(jié)構(gòu))中的數(shù)據(jù),并且如上圖所示,還可以為特定于 Oracle 數(shù)據(jù)庫的功能(如 Oracle 更改數(shù)據(jù)捕獲)提供方便的圖形界面。將數(shù)據(jù)集成并復(fù)制到數(shù)據(jù)倉庫分段存儲區(qū)后,Oracle Warehouse Builder 會接替后續(xù)工作,創(chuàng)建并填充操作數(shù)據(jù)存儲和維度倉庫層。
    現(xiàn)在大家對 Oracle Data Integrator 已經(jīng)有所了解,本文將重點關(guān)注如何在實際的數(shù)據(jù)集成案例中使用它。
    Oracle Data Integrator 使用示例:跨平臺實時數(shù)據(jù)集成
    在該案例中,您的任務(wù)是從 Oracle 數(shù)據(jù)庫中提取一些訂單和客戶數(shù)據(jù),將其與文件中保存的一些員工數(shù)據(jù)組合到一起,然后將集成的數(shù)據(jù)載入 Microsoft SQL Server 2000 數(shù)據(jù)庫。由于訂單到達(dá)時需要進(jìn)行分析,因此您希望以盡可能接近實時的速度將它們直接傳遞到目標(biāo)數(shù)據(jù)庫,并僅提取新的和經(jīng)過更改的數(shù)據(jù)以保持盡可能小的負(fù)載。您已經(jīng)在 Oracle 技術(shù)網(wǎng)上了解了 Oracle Data Integrator 的相關(guān)信息,并希望使用這一新工具來提取和加載數(shù)據(jù)。 
    您首先登錄到 Oracle Data Integrator 并啟動 Topology Manager,如下圖所示。 OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    在 Oracle Data Integrator 中,物理數(shù)據(jù)庫、服務(wù)或基于事件的數(shù)據(jù)源均稱為數(shù)據(jù)服務(wù)器。使用 Topology Manager 創(chuàng)建三個新的數(shù)據(jù)服務(wù)器:
    1. 一個 Oracle 數(shù)據(jù)庫數(shù)據(jù)服務(wù)器,使用 SYSTEM 用戶的憑證設(shè)置,映射到數(shù)據(jù)庫上的 ORDERS 和 ORDERS_WORKAREA 模式。ORDERS 模式包含您要提取的訂單數(shù)據(jù),而 ORDERS_WORKAREA 模式是您專門設(shè)置的一個空模式,用來存放 Oracle Data Integrator 創(chuàng)建的工作表。使用 Oracle JDBC 驅(qū)動程序建立該連接。 
    2. 一個文件數(shù)據(jù)服務(wù)器,映射到以逗號分隔的文件(其中包含員工詳細(xì)信息)。使用 Sunopsis 文件 JDBC 驅(qū)動程序建立該連接。 
    3. 一個 Microsoft SQL Server 數(shù)據(jù)服務(wù)器,映射到名為 ORDERS_DATA_MART 的數(shù)據(jù)庫。使用 Sun JDBC-ODBC 橋接 JDBC 驅(qū)動程序建立該連接,或者使用 Microsoft JDBC 驅(qū)動程序(可以從 Microsoft Web 站點下載)。 
    定義數(shù)據(jù)服務(wù)器之后,您可以退出 Topology Manager 并啟動 Designer。使用 Designer,您可以創(chuàng)建代表 Oracle、文件以及 Microsoft SQL Server 表和文件的數(shù)據(jù)模型,這在 Oracle Data Integrator 中稱為數(shù)據(jù)存儲。首先創(chuàng)建 Oracle 和 Microsoft SQL Server 模型,然后使用反向功能將表的元數(shù)據(jù)導(dǎo)入 Oracle Data Integrator 的信息庫中,如下圖所示。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    如果已經(jīng)定義了所有數(shù)據(jù)模型,并且已經(jīng)手動輸入源以及目標(biāo)表和文件的詳細(xì)信息或?qū)ζ溥M(jìn)行反向工程,Designer 將顯示您目前在項目中使用的所有數(shù)據(jù)存儲的列表,如下圖所示。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    確定基礎(chǔ)源表是否未定義主鍵,您可以使用 Designer 應(yīng)用程序定義它們,然后讓 Oracle Data Integrator 以“虛擬方式”強制執(zhí)行,因為 Oracle Data Integrator 的很多映射功能都依賴于所定義的約束。
    既然已經(jīng)定義了數(shù)據(jù)存儲,您可以開始設(shè)置獲取源數(shù)據(jù)的更改數(shù)據(jù)捕獲過程了。
    但是,在此之前,您需要將提供更改數(shù)據(jù)捕獲功能的知識模塊導(dǎo)入項目。為此,單擊 Designer 應(yīng)用程序的 Projects 選項卡,右鍵單擊項目,然后選擇 Import->Import Knowledge Modules。從列表中選擇以下知識模塊,它們可提供更改數(shù)據(jù)捕獲功能并將在項目的其他部分中使用。

  • CKM SQL 
  • IKM SQL 增量更新 
  • JKM Oracle 10g Consistent (LOGMINER) 
  • LKM File to SQL 
  • LKM SQL to SQL 
  • 現(xiàn)在,所需的知識模塊已經(jīng)可用,您可以編輯以前創(chuàng)建的 Oracle 模塊并選擇 Journalizing 選項卡。由于您希望以一致的方式捕獲對 ORDERS 和 CUSTOMER 表的更改,因此選擇了 Consistent 選項和 JKM Oracle 10g Consistent (LOGMINER) 知識模塊。該知識模塊(如下圖所示)將使用 Oracle 數(shù)據(jù)庫 10g 的 LogMiner 功能捕獲新的和經(jīng)過更改的數(shù)據(jù),并使用 Oracle 流以異步方式在隊列中傳播更改。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    該知識模塊提供了三個配置選項。您可以選擇下列值來配置該模塊:

  • Asynchronous Mode:Yes 
  • Auto-Configuration:Yes 
  • Journal Table Options:default 
  • 單擊 Apply 保存更改,然后單擊 OK 完成配置?,F(xiàn)在,您需要將表添加到更改數(shù)據(jù)捕獲集合中。
    為此,在 Designer 的模塊列表中找到 Oracle 數(shù)據(jù)服務(wù)器,依次右鍵單擊 CUSTOMERS 和 ORDERS 表,然后選擇 Changed Data Capture ->Add to CDC。然后,再次編輯模型的 Journalized Tables 選項卡,使用向上和向下箭頭鍵將 ORDERS 表置于 CUSTOMERS 表的上面。 
    現(xiàn)在,您可以創(chuàng)建從這兩個表中捕獲更改數(shù)據(jù)的日志了。為此,再次右鍵單擊該模型,并選擇 Changed Data Capture ->Start Journal。單擊 OK 在本地執(zhí)行代碼,然后啟動 Operator 應(yīng)用程序檢查操作進(jìn)程。如果一切正常,您將看到一個類似于以下的完成步驟列表。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    如果該過程遇到錯誤,通常是由于您使用了不具有所需權(quán)限的用戶帳戶定義 Oracle 連接。查看您提供的用戶詳細(xì)信息和 Oracle Data Integrator 文檔以解決所有問題,然后再繼續(xù)該練習(xí)的其余部分。
    接下來,您要向日志中添加一個用戶,方法是:返回 Designer 應(yīng)用程序,右鍵單擊 Oracle 源數(shù)據(jù)服務(wù)器,并選擇 Changed Data Capture ->Subscriber->Subscribe。添加一個新用戶,并在本地執(zhí)行代碼以確保代碼正確執(zhí)行(某些操作可能會發(fā)出警告,因為在前面的步驟中已經(jīng)創(chuàng)建了所需的表)。該步驟完成后,您已經(jīng)建立了更改數(shù)據(jù)捕獲過程,可以開始構(gòu)建接口了。
    該項目需要兩個接口,第一個接口用于從 Oracle 源數(shù)據(jù)庫中提取現(xiàn)有的數(shù)據(jù)集,將其與源文件中的數(shù)據(jù)聯(lián)合到一起,然后將組合數(shù)據(jù)載入目標(biāo) Microsoft SQL Server 數(shù)據(jù)庫,如下圖所示。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    注意,目標(biāo)表中的某些列已經(jīng)自動映射,但 SALES_PERSON_ID、SALES_PERSON_NAME 和 CUSTOMER_NAME 等其他列最初并未映射,因為映射過程找不到匹配的源列?,F(xiàn)在,您將手動映射這些列,使用表達(dá)式編輯器輸入使用源或目標(biāo)數(shù)據(jù)庫語法的 SQL 表達(dá)式,具體取決于發(fā)生轉(zhuǎn)換的位置。
    如果單擊 Flow 選項卡,您將看到用于加載和集成數(shù)據(jù)的實際知識模塊,如下圖所示。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    Oracle Data Integrator 已經(jīng)選擇了默認(rèn)知識模塊來實現(xiàn)從任何數(shù)據(jù)庫和文件中提取數(shù)據(jù),然后以增量方式載入任何數(shù)據(jù)庫。稍后,您可以將這些知識模塊更改為更適合您的特定數(shù)據(jù)庫和版本的模塊,但現(xiàn)在請保留這些模塊的默認(rèn)設(shè)置。
    最后,如下圖所示,單擊 Control 選項卡,以選擇用于處理目標(biāo)表的約束錯誤的控制知識模塊。選擇 CKM SQL Knowledge Module 以處理符合 ISO-92 的數(shù)據(jù)庫中的錯誤數(shù)據(jù)。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    現(xiàn)在,您可以測試接口了。為此,單擊接口對話框右下角的 Execute,然后打開 Operator 應(yīng)用程序檢查接口進(jìn)度,如下圖所示。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    由于接口的執(zhí)行未出現(xiàn)錯誤,您可以在 Designer 應(yīng)用程序中導(dǎo)航到目標(biāo)數(shù)據(jù)存儲并查看加載的數(shù)據(jù),如下圖所示。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    現(xiàn)在,您已經(jīng)設(shè)置了初始負(fù)載,下面可以定義通過先前創(chuàng)建的日志表加載新的和經(jīng)過更改的數(shù)據(jù)的接口了。
    為此,再創(chuàng)建一個接口,但這次,當(dāng)您添加 CUSTOMERS 和 ORDERS 源表時,單擊表明使用日志記錄的數(shù)據(jù)而非數(shù)據(jù)存儲內(nèi)容的復(fù)選框。為一個日志記錄表選擇該復(fù)選框后,系統(tǒng)將自動為一致集合中的所有其他表選中該復(fù)選框,如下圖所示。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    將日志記錄表添加到接口后,您可以按照與先前完全相同的方式構(gòu)建接口的其余部分,唯一的區(qū)別是,第二個接口以日志記錄的數(shù)據(jù)而非源表內(nèi)容作為源數(shù)據(jù)。
    要測試第二個接口,您可以將一些新記錄插入 ORDERS 和 CUSTOMERS 表,然后使用 Designer 接口來擴展日志窗口;稍后,您將自動擴展該窗口,并將其作為 Oracle Data Integrator 程序包的一部分進(jìn)行清除。但現(xiàn)在,右鍵單擊 Oracle 數(shù)據(jù)模型,并從上下文菜單中選擇 Changed Data->Consumption->Extend Window,使新的和經(jīng)過更改的數(shù)據(jù)的最新集合可用于第二個接口,如下圖所示。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    您可以快速檢查哪些行在表日志中(右鍵單擊相關(guān)的數(shù)據(jù)存儲,選擇 Changed Data Capture,然后選擇 Journal Data…),也可以執(zhí)行接口(在編輯器中再次打開它,并單擊屏幕右下角的 Execute)。
    由于您已經(jīng)使用所創(chuàng)建的第一個接口將最初的數(shù)據(jù)集合載入目標(biāo)數(shù)據(jù)中心,現(xiàn)在可以創(chuàng)建一個 Oracle Data Integrator 程序包來執(zhí)行下列步驟:
    1. 檢查 ORDERS 和 CUSTOMER 日志記錄數(shù)據(jù),以查看是否已添加新的或經(jīng)過更改的數(shù)據(jù)記錄。如果檢測到預(yù)定義數(shù)量的日志記錄,運行程序包的其余部分或跳到最后一步,無需加載任何數(shù)據(jù)。 
    2. 如果檢測到日志記錄數(shù)據(jù),擴展日志窗口。 
    3. 執(zhí)行該接口,以讀取日志記錄數(shù)據(jù),將其與文件聯(lián)合,并加載目標(biāo)數(shù)據(jù)存儲。 
    4. 清除日志窗口。 
    5. 再次啟動該程序包。 
    創(chuàng)建該程序包然后將其作為 Oracle Data Integrator 案例部署可有效地創(chuàng)建一個實時、連續(xù)運行的 ETL 過程。使用 Oracle Data Integrator 的事件檢測功能,該程序包將在檢測到預(yù)先設(shè)置的更改數(shù)據(jù)記錄數(shù)或經(jīng)過指定的毫秒數(shù)后自行啟動。通過為日志記錄數(shù)據(jù)的數(shù)量和超時設(shè)置相應(yīng)的閾值,您可以創(chuàng)建一個延遲最小的實時集成過程。
    要創(chuàng)建該程序包,導(dǎo)航到 Designer 應(yīng)用程序的 Projects 選項卡,找到包含您先前定義的接口的文件夾,找到 Packages 項,右鍵單擊該項,然后選擇 Insert Package。為該程序包指定一個名稱,然后導(dǎo)航到程序包詳細(xì)信息對話框的 Diagram 選項卡。
    使用右側(cè)的工具箱,轉(zhuǎn)至 Event Detection 文件夾并將 OdiWaitForLogData 工具添加到程序包畫布中,如下圖所示。該工具將定期輪詢?nèi)罩居涗洈?shù)據(jù),如果未找到任何行,該工具將失敗,如果在日志中檢測到預(yù)先設(shè)置的行數(shù),該工具將進(jìn)入程序包的下一個步驟。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    您可以將工具屬性設(shè)置為檢查先前定義的更改數(shù)據(jù)捕獲集合,并在發(fā)現(xiàn) 3 個日志行或檢查開始一分鐘后退出。
    現(xiàn)在,您可以添加一個擴展日志窗口以讀入新數(shù)據(jù)的步驟。為此,導(dǎo)航到模型列表,并將 Oracle 模型拖放到畫布上。選擇該模型,查看屬性,然后將 Model Type 列表更改為 Journalizing Model,如下圖所示。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    然后,單擊 Extend Window 復(fù)選框,以表明該日志步驟將擴展日志窗口。
    接下來,將從日志提取數(shù)據(jù)的接口添加到映射,然后將 Oracle 模型再次添加到程序包中,但這次選擇 Purge Window 選項,以便在讀取日志后將其清除。最后,將 Utilities 文件夾中的 OdiStartScen 工具添加到工具箱,以便在其完成后再次重啟,您還可以添加顯示步驟流程的連接器(如下圖所示),具體取決于第一個步驟是否檢測到日志行。
    OracleDI實時數(shù)據(jù)集成簡介 - 為你放下手中劍  - 為你放下手中劍
    由于最后的 OdiStartScen 步驟指的是程序包生產(chǎn)版本中的情況,您可以在 Designer 應(yīng)用程序的 Project 選項卡中找到要使用的程序包,右鍵單擊該程序包,并選擇 Generate Scenario。創(chuàng)建了案例之后,您可以編輯 OdiStartScen 步驟的屬性,使其引用您剛剛生成的案例名稱。將這最后一步添加到程序包之后,您就可以確保它連續(xù)運行,并以實時方式將 Oracle 源表中新的和經(jīng)過更改的數(shù)據(jù)傳播到目標(biāo)數(shù)據(jù)庫。
    總結(jié)Oracle Data Integrator 是 Oracle 融合中間件產(chǎn)品系列的一個新成員,您可以利用它跨眾多平臺執(zhí)行面向數(shù)據(jù)、事件和服務(wù)的集成。它對 Oracle Warehouse Builder 進(jìn)行了補充,并為特定于 Oracle 數(shù)據(jù)庫的功能(例如,批量數(shù)據(jù)加載和 Oracle 更改數(shù)據(jù)捕獲)提供了圖形界面。本文探究了如何使用 Oracle Data Integrator 跨不同的平臺創(chuàng)建實時數(shù)據(jù)集成過程,還探究了集成過程的聲明式方法,該方法可讓您集中精力定義業(yè)務(wù)規(guī)則,而不用考慮實現(xiàn)細(xì)節(jié)。
    Mark Rittman [http://www./blog] 是一位 Oracle ACE,并且是 Rittman Mead Consulting 的創(chuàng)始人之一,Rittman Mead Consulting 是 Oracle 的專業(yè)合作伙伴,總部設(shè)在英國,并致力于 Oracle 商務(wù)智能和數(shù)據(jù)倉庫。他定期向 OTN 和 OTN 論壇投稿,并且是 Oracle Press 即將在 2008 年出版的《Oracle 商務(wù)智能套件開發(fā)人員指南》一書的作者之一。

      本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評論

      發(fā)表

      請遵守用戶 評論公約

      類似文章 更多

      日韩和欧美的一区二区三区| 91后入中出内射在线| 亚洲欧美日韩国产综合在线| 久久三级国外久久久三级| 亚洲精品中文字幕欧美| 五月综合激情婷婷丁香| 亚洲欧美日本视频一区二区 | 亚洲丁香婷婷久久一区| 久久精品国产亚洲熟女| 日韩偷拍精品一区二区三区| 99久久无色码中文字幕免费| 亚洲欧美视频欧美视频| 日韩黄片大全免费在线看| 国产欧美日产中文一区 | 成人国产激情在线视频| 国内精品美女福利av在线| 日本视频在线观看不卡| 成人午夜激情免费在线| 色婷婷日本视频在线观看| 国产视频一区二区三区四区| 富婆又大又白又丰满又紧又硬| 黄色国产一区二区三区| 亚洲国产精品久久琪琪| 极品少妇嫩草视频在线观看| 九七人妻一区二区三区| 爱在午夜降临前在线观看| 国产精品视频一级香蕉| 国产精品欧美一区两区| 国产精品伦一区二区三区在线| 日韩一级一片内射视频4k| 亚洲黑人精品一区二区欧美| 欧美一区日韩二区亚洲三区| 大香蕉网国产在线观看av| 伊人色综合久久伊人婷婷| 国产精品内射视频免费| 中文字幕高清免费日韩视频| 国产对白老熟女正在播放| 一区二区三区人妻在线| 国产精品一区二区视频成人| 精品国产91亚洲一区二区三区 | 欧美大胆美女a级视频|