1. 程式人生 > >Oracle ODI 12c之多表聯合查詢以及定時任務設置

Oracle ODI 12c之多表聯合查詢以及定時任務設置

Oracle ODI

本文介紹如何通過ODI進行多表聯合查詢並設置定時任務。準備工作如下:

  • 準備物理方案和邏輯方案;
  • 創建模型並通過“逆向工程”同步方案;
  • 創建項目(根據實際情況創建或者使用現有的);
  • 確保源表和目標表都有主鍵存在。
    以上內容的前三點可以參考我博客中的相關文章。

    一、Preparing

    1.1 源SQL語句

    SELECT a.ID,
       a.ORG_ID,
       a.NAME_ID,
       a.EVR_ID,
       a.PACKAGE_ARCH_ID,
       a.PACKAGE_GROUP,
       a.RPM_VERSION,
       a.DESCRIPTION,
       a.SUMMARY,
       a.PACKAGE_SIZE,
       a.PAYLOAD_SIZE,
       a.INSTALLED_SIZE,
       a.BUILD_HOST,
       a.BUILD_TIME,
       a.SOURCE_RPM_ID,
       a.CHECKSUM_ID,
       a.VENDOR,
       a.PAYLOAD_FORMAT,
       a.COMPAT,
       a.PATH,
       a.HEADER_SIG,
       a.COPYRIGHT,
       a.COOKIE,
       a.LAST_MODIFIED,
       a.CREATED,
       a.MODIFIED,
       a.HEADER_START,
       a.HEADER_END
    FROM rhnpackage a LEFT JOIN web_customer b ON a.org_id = b.ID
    WHERE a.name_id > 5 AND a.package_group = 4;

    1.2 創建映射

  • 拖動模型源數據庫中的相關表到映射框;
  • 在映射框中插入組件欄裏的聯接以及過濾,根據SQL設置相關連接;
  • 推動模型目標數據庫中的相關表到映射框,並設置相關連接。如下圖所示:
    技術分享圖片

    1.2.1 設置聯接

    在映射的邏輯結構裏,點擊連接圖標,在Condition中,輸入“Join Condition”和“Join Type”,點擊保存。如下圖所示:
    技術分享圖片

    1.2.2 設置過濾

    在映射的邏輯結構裏,點擊過濾圖標,在Condition中,輸入“Filter Condition”,點擊保存。如下圖所示:
    技術分享圖片

    1.2.3 設置目標表整合類型

    在映射的邏輯結構裏,點擊目標表,設置“Target”的“Integration Type”為“Incremental Update”,點擊保存。如下圖所示:

    技術分享圖片

    1.2.4 設置目標組的知識模塊

    在映射的物理結構裏,設置AP的知識模塊為“LKM SQL to SQL(Built-In).GLOBAL”,點擊保存。如下圖所示:
    技術分享圖片
    在射的物理結構裏,設置目標表的知識模塊為“IKM Oracle Incremental Update”,點擊保存。如下圖所示:
    技術分享圖片

    1.3 驗證映射

    點擊下圖中的“√”進行驗證,如下圖所示:
    技術分享圖片

    二、Scheduling

    2.1 生成場景

    右擊“映射名稱”,選擇“ Generate Scenario...”,如下圖所示:
    技術分享圖片
    場景名稱和版本號自定義,如下圖所示:
    技術分享圖片

    2.2 定時任務設置

    展開場景,右擊Scheduling,選擇“New Scheduling”,根據實際情況定義自動調度時間。這裏是每天下午的16:00開始運行。如下圖:

    技術分享圖片
    最後,更新下agent的調度信息,即可查看到即將運行的作業信息,如下圖所示:
    技術分享圖片

Oracle ODI 12c之多表聯合查詢以及定時任務設置