Oracle ODI 12c之多表聯合查詢以及定時任務設置
阿新 • • 發佈:2018-02-26
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之多表聯合查詢以及定時任務設置