【ODI】| 數據ETL:從零開始使用Oracle ODI完成數據集成(一)

来源:https://www.cnblogs.com/nnzhang/archive/2019/03/28/10615866.html
-Advertisement-
Play Games

ODI(Oracle Data Integrator)是Oracle公司提供的一種數據集成工具,能高效地實現批量數據的抽取、轉換和載入。ODI可以實現當今大多數的主流關係型資料庫(Oracle、DB2、SQL Server、MySQL、SyBase)的集成。ODI提供了圖形化客戶端和agent(代理... ...


0. 環境說明及軟體準備

ODI(Oracle Data Integrator)是Oracle公司提供的一種數據集成工具,能高效地實現批量數據的抽取、轉換和載入。ODI可以實現當今大多數的主流關係型資料庫(Oracle、DB2、SQL Server、MySQL、SyBase)的集成。

ODI提供了圖形化客戶端和agent(代理)運行程式。客戶端軟體主要用於對整個數據集成服務的設計,包括創建對數據源的連接架構、創建模型及反向表結構、創建介面、生成方案和計劃等。Agent運行程式是通過命令行方式在ODI伺服器上啟動的服務,對agent下的執行計劃周期性地執行。

任何數據驅動的集成,都可以使用ODI, ODI的常見應用場景:

    1. 數據倉庫:比如ETL階段。

    2. 數據遷移:比如將某一源系統的數據遷移到新系統中。

    3. 數據集成:比如兩個系統間高效的點到點數據傳遞。

    4. 數據複製:比如將一個Instance的數據複製另外一個Instance中。

閑言少敘,進入正題。首先,ODI是Oracle的數據集成工具,需要安裝Oracle資料庫,可以從Oracle官網下載安裝,先要在官網上註冊一個賬號,找到下載頁,最好把下麵的client(客戶端)也一併安裝了吧,我安裝的是Oracle11g win64位的,官網下載頁如下:

安裝過程比較簡單,只是中間需要設置管理口令,記住就行。ODI也同樣在Oracle的官網上下載。

將下載的ODI安裝文件解壓,就會包含兩個文件夾,註意不同版本的安裝,運行方式是不同的,我裝的32位的ODI,需要運行Disk1\install\win32下的安裝程式setup.exe。如下:

運行安裝程式,直接下一步,步驟2選【跳過軟體更新】;

步驟3選擇安裝類型,勾選一下即可;

步驟6選【跳過資料檔案庫配置】;

步驟7指定代理

 

下一步,直至安裝完成。也可自行下載安裝PL/SQL Developer,可以方便連接和管理資料庫,當然這不是必須的,可用其它工具代替。全部安裝完成後如下:

1. 創建資料庫用戶

在Oracle資料庫中為ODI的資料庫創建用戶,ODI的資料庫分為主資料庫和工作資料庫。資料庫所產生的數據就是存放在Oracle資料庫中的。

主資料庫保存所有IT資源的Topology,保存項目和數據模型的安全信息、版本信息,供ODI圖形模塊等使用。

工作資料庫保存項目和數據模型,供ODI圖形模塊等使用。

工作資料庫需要連接到一個主資料庫,為了邏輯清晰,我創建兩個Oracle用戶,分別存放主資料庫和工作資料庫的數據。

打開pl/sql,以管理員身份登陸到Oracle資料庫。

【文件】>>【新建】>>【SQL視窗】>>輸入創建用戶的SQL語句>>【執行】

工作資料庫用戶的創建方式和主資料庫一樣,SQL語句如下:

1 CREATE USER J_ODI_ZLK    --主資料庫用戶名 
2 IDENTIFIED BY zlk123      --密碼  
3 DEFAULT TABLESPACE USERS;   --預設表空間  
4 GRANT CONNECT,RESOURCE TO  J_ODI_ZLK;--授權用戶
6 CREATE USER J_ODI_GZK    --工作資料庫用戶名 
7 IDENTIFIED BY gzk123      --密碼  
8 DEFAULT TABLESPACE USERS;   --預設表空間  
9 GRANT CONNECT,RESOURCE TO  J_ODI_GZK;--授權用戶

2. 創建主資料庫

在Oracle中創建完用戶後,就可以在ODI中創建主資料庫。首先在開始菜單中找到已安裝的ODI 並啟動。

【文件】>>【新建】,打開新建庫對話框,選擇【主資料檔案庫創建嚮導】>>【確定】。

進入資料庫連接視窗,在這裡需要填寫剛在Oracle資料庫中為主資料庫創建的用戶信息以及Oracle資料庫的DBA用戶信息。需註意的是JDBC URL項中localhost為Oracle資料庫的IP地址,我用的本地機器,就直接寫localhost;orcl為Oracle資料庫的實例名。信息輸入完成後,點擊一下測試連接,成功則可進入下一步。

這一步需要創建ODI超級用戶SUPERVISOR,在視窗中輸入密碼即可,該密碼要記住,後面會用到。

完成後ODI即開始創建主資料庫,稍等就會出現成功創建主資料庫的對話框。

主資料庫創建完成後,就可以在ODI中連接到剛創建的主資料庫了。點擊ODI左側邊欄上方的【連接到資料檔案庫】,彈出登陸對話框,點擊【登錄名】後面的加號。

進入配置主資料庫的連接信息,如下圖所示。

配置完成後點擊【確定】即可進入主資料庫。

3. 創建工作資料庫

主資料庫完成後,並不能進行實質的開發工作,還需要創建一個工作資料庫,在工作資料庫中才可以進行工作。接上一環節,進入主資料庫後,點擊左側邊欄上方的【拓撲】標簽,點擊【資料檔案庫】,在【工作資料檔案庫】上單擊滑鼠右鍵,選擇【新建工作資料檔案庫】。

進入工作資料庫的連接配置,配置完成點擊【下一步】。

進入配置工作資料庫的名稱以及密碼。輸入後點擊【完成】即可。工作資料庫創建成功後,系統會彈出【是否為工作資料檔案庫創建登錄】對話框,提示是否為該工作資料庫創建登錄名,可以選擇【否】,一會在連接工作資料庫時在創建也是一樣。

工作資料庫創建完成後,就可以在ODI中連接到剛創建的工作資料庫了。在連接之前,先要斷開已經連接的主資料庫,【ODI】>>【斷開連接”J_ZLK”】。

斷開主資料庫的連接後,再點擊ODI左側邊欄上方的【連接到資料檔案庫】,彈出登陸對話框,點擊【登錄名】後面的加號。

進入創建工作資料庫的連接配置視窗,如下圖所示。

配置完成,點擊【確定】即可登陸到工作資料庫,就可以開始work了。

至此,前期的基本配置工作已經完成了,後面就可以正式開始創建具體的數據集成方案了。

4. 工作場景說明

    【ODI】| 數據ETL:從零開始使用Oracle ODI完成數據集成(二)

5. 創建物理體繫結構

    【ODI】| 數據ETL:從零開始使用Oracle ODI完成數據集成(二)

6. 創建邏輯體繫結構

    【ODI】| 數據ETL:從零開始使用Oracle ODI完成數據集成(二)

7. 創建模型

    【ODI】| 數據ETL:從零開始使用Oracle ODI完成數據集成(二)

8. 創建項目及介面

    【ODI】| 數據ETL:從零開始使用Oracle ODI完成數據集成(三)

9. 執行介面

    【ODI】| 數據ETL:從零開始使用Oracle ODI完成數據集成(三)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、輔助排序 需求:先有一個訂單數據文件,包含了訂單id、商品id、商品價格,要求將訂單id正序,商品價格倒序,且生成結果文件個數為訂單id的數量,每個結果文件中只要一條該訂單最貴商品的數據。 思路:1.封裝訂單類OrderBean,實現WritableComparable介面; 2.自定義Mapp ...
  • 第一次在博客園寫博客,寫的不好,請大家多多評論,也希望自己以後對技術探索的更深。 今天下班之後,由於晚上要發版本,所以開發同事必須留下,突然收到一封公司監控預警郵件。 瞄了幾眼,大致的意思就是說 視圖無效。由於視圖查詢的是表,所以開始做實驗測試。 實驗一: 當基表drop列的時候,視圖是否還是有效? ...
  • 本篇博文介紹瞭如何在URL中直接發起HTTP請求, 操作Solr的文檔? 如何通過Solr的Web界面添加、修改、刪除文檔? 還涉及到常見的Solr刪除文檔的方式: URL發起HTTP請求, Solr Web中的document中提交請求. ...
  • Redis 三大特性: Redis 支持數據的持久化,可以將記憶體中的數據保存在磁碟中,重啟的時候可以再次載入進行使用 Redis 不僅支持簡單的 鍵 * 值 類型的數據, 還提供list、set、zset、hash 等數據結構存儲 Redis 支持數據的備份,即master -slave模式的數據備 ...
  • 原理:多個msyql/mariadb之間可以實時同步,任意節點的操作可以立即同步到其他節點,底層採用galera插件同步,類似rsync,上層mysql相對於galera是透明的,可以實現多節點同時讀寫(無法實現讀寫分離)。 NOTE:普通的msyql/mariadb無法集成galera,要想使用g ...
  • zookeeper簡介 1.官網:http://zookeeper.apache.org/ 介紹:Apache ZooKeeper致力於開發和維護開源伺服器,實現高度可靠的分散式協調。 ZooKeeper是一種集中式服務,用於維護配置信息,命名,提供分散式同步和提供組服務。 所有這些類型的服務都以分 ...
  • 創建鏈接伺服器註意事項 當我們要跨本地資料庫,訪問另外一個資料庫表中的數據時,本地資料庫中就必須要創建遠程資料庫的DBLINK,通過DBLINNK資料庫可以像訪問本地資料庫一樣訪問遠程資料庫表中的數據。 鏈接伺服器允許訪問針對OLE DB數據源的分散式異構查詢。創建鏈接伺服器後,可以針對此伺服器運行 ...
  • 我們知道,HBASE在創建表的時候,會自動為表分配一個Region,當一個Region過大達到預設的閾值時(預設10GB大小),HBase中該Region將會進行split,分裂為2個Region,以此類推。表在進行split的時候,會耗費大量的資源,頻繁的分區對HBase的性能有巨大的影響。所以, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...