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