在oracle中,數(shù)據(jù)源是一種數(shù)據(jù)連接的抽象,包含了數(shù)據(jù)庫位置和數(shù)據(jù)庫類型等信息;數(shù)據(jù)源提供了讀取和寫入oracle雙向通道的功能,方便可以通過向?qū)J胶湍_本模式配置數(shù)據(jù)同步任務(wù)。
本教程操作環(huán)境:windows10系統(tǒng)、Oracle 11g版、Dell G3電腦。
oracle的數(shù)據(jù)源是什么
數(shù)據(jù)源。數(shù)據(jù)源包含了數(shù)據(jù)庫位置和數(shù)據(jù)庫類型等信息,實際上是一種數(shù)據(jù)連接的抽象。
Oracle數(shù)據(jù)源為您提供讀取和寫入Oracle雙向通道的功能,方便您后續(xù)可以通過向?qū)J胶湍_本模式配置數(shù)據(jù)同步任務(wù)。本文為您介紹,配置數(shù)據(jù)源之前需要準(zhǔn)備的網(wǎng)絡(luò)環(huán)境及賬號權(quán)限,以及在DataWorks中如何新增Oracle數(shù)據(jù)源。
前提條件
配置數(shù)據(jù)源之前,請確保已完成以下規(guī)劃與準(zhǔn)備工作。
-
準(zhǔn)備數(shù)據(jù)源:已購買來源數(shù)據(jù)源Oracle。
-
資源規(guī)劃與準(zhǔn)備:已購買獨享數(shù)據(jù)集成資源組,并完成資源配置。詳情可參見資源規(guī)劃與配置。
-
網(wǎng)絡(luò)環(huán)境評估與規(guī)劃:新增數(shù)據(jù)源之前,您需根據(jù)業(yè)務(wù)情況,打通數(shù)據(jù)源、獨享數(shù)據(jù)集成資源組之間的網(wǎng)絡(luò),并進行交換機、白名單等網(wǎng)絡(luò)環(huán)境下的訪問配置。
如果數(shù)據(jù)源和獨享數(shù)據(jù)集成資源組均處于同地域的同一VPC網(wǎng)絡(luò)中,數(shù)據(jù)源與資源組間的網(wǎng)絡(luò)天然聯(lián)通。
如果數(shù)據(jù)源和獨享數(shù)據(jù)集成資源組均處于不同的網(wǎng)絡(luò)環(huán)境中,您需要通過VPN網(wǎng)關(guān)等方式,將數(shù)據(jù)源與資源組間的網(wǎng)絡(luò)打通。
-
準(zhǔn)備賬號并授權(quán):
您需要規(guī)劃一個可訪問數(shù)據(jù)源的賬號,用于后續(xù)數(shù)據(jù)集成過程中訪問數(shù)據(jù)源并進行數(shù)據(jù)提取、寫入的同步操作。
-
開啟補充日志:
來源數(shù)據(jù)源為Oracle時,您需要開啟數(shù)據(jù)庫級別的歸檔日志、Redo日志及補充日志。
歸檔日志:Oracle通過歸檔日志保存所有的重做歷史記錄,用于在數(shù)據(jù)庫出現(xiàn)故障時完全恢復(fù)數(shù)據(jù)庫。
Redo日志:Oracle通過Redo日志來保證數(shù)據(jù)庫的事務(wù)可以被重新執(zhí)行,從而使得在故障(例如斷電)之后,數(shù)據(jù)可以被恢復(fù),因此您需要為數(shù)據(jù)庫開啟并切換Redo日志。
補充日志:補充日志是對Redo日志中信息的補充。在Oracle中,Redo日志用于記錄被修改的字段的值,而補充日志是對Redo日志中變更記錄的補充信息,可以確保Oracle的Redo日志包含描述所有數(shù)據(jù)更改的完整信息,以便在進行數(shù)據(jù)恢復(fù)、數(shù)據(jù)同步等操作時,可以追溯到完整的語句及相關(guān)變更。Oracle數(shù)據(jù)庫的某些功能要求啟用補充日志才能正常或更好的工作,因此您需要為數(shù)據(jù)庫開啟補充日志。
例如,如果未啟用補充日志,執(zhí)行UPDATE命令后,Redo日志中只會記錄通過UPDATE命令更改后的字段值,啟用補充日志后,則Redo日志中會記錄被修改字段,修改前的值、修改后的值以及修改目標(biāo)字段的條件值。當(dāng)數(shù)據(jù)庫發(fā)生故障(例如斷電)時,您可以基于此修改信息恢復(fù)數(shù)據(jù)。
使用數(shù)據(jù)集成時推薦開啟主鍵列或唯一索引列補充日志。
開啟主鍵列的補充日志后,如果數(shù)據(jù)庫有任何更新,則組成主鍵的所有列都會被記錄在日志中。
開啟唯一索引列的補充日志后,如果組成唯一鍵或位圖索引的任何列被修改,則組成該唯一鍵或位圖索引的列都會被記錄在日志中。
Oracle僅支持在主庫中為主庫或備庫開啟補充日志。
-
檢查數(shù)據(jù)庫的字符編碼格式:
您需要確保Oracle中不能包含數(shù)據(jù)集成不支持的字符編碼格式,防止同步數(shù)據(jù)失敗。當(dāng)前數(shù)據(jù)集成同步數(shù)據(jù)時,僅支持UTF8、AL32UTF8、AL16UTF16及ZHS16GBK編碼格式。
-
檢查數(shù)據(jù)庫表的數(shù)據(jù)類型:
您需要確保Oracle中不能包含數(shù)據(jù)集成不支持的數(shù)據(jù)類型,防止同步數(shù)據(jù)失敗。當(dāng)前數(shù)據(jù)集成進行實時同步時,不支持LONG、BFILE、LONG RAW及NCLOB數(shù)據(jù)類型 。
推薦教程:《Oracle視頻教程》