Oracle
本節解說如何在資料任務中設定 Oracle 來源。在您開始資料任務之前,請確定已滿足必要條件、設定必要權限,並且熟悉 限制和考慮事項。
從下列任何資料庫登陸資料時,您需要設定與 Oracle 的連線:
- 內部部署的 Oracle
-
Amazon RDS for Oracle
-
Oracle Cloud
設定連線屬性
本節說明可用的連線屬性。除非另有指明,否則所有屬性皆為必要。
若要開啟連接器,進行下列事項:
-
在連線中,按一下建立連線。
-
選取 Oracle 來源連接器,然後提供下列設定:
資料來源
-
資料閘道
-
雲端供應商:如您的 Oracle 資料庫位於雲端,請選取供應商:
-
無 (預設值)
-
Amazon RDS
-
Oracle Cloud
-
-
連線字串:與來源資料庫的 Oracle 連線字串。您可採取任何一種 Oracle 格式輸入連線字串,例如:
//host:port/service name
其中:
host
: 這是您正在使用有 Oracle 資料的電腦之名稱或 IP 位址。舉例來說,johnboy_W7
或255.255.255.0
.port
:(非必要)這是您正在使用有 Oracle 資料的電腦之 TNS Listener Port 號碼。如果您沒有輸入連接埠號碼,將使用預設 Oracle TNS Listener 連接埠。service name
:(非必要)這是您正在使用有 Oracle 資料的電腦之服務名稱。如果您沒有輸入服務名稱,將使用預設服務名稱。
您也可以輸入 Oracle Net keyword-value 配對。例如︰
"(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=dlsun242) (PORT=5521))
(CONNECT_DATA=(SERVICE_NAME=bjava21)))"
選取 資料移動閘道 以用於移動資料。
帳戶屬性
使用者名稱和密碼:獲得授權可存取 Oracle 資料庫的使用者的使用者名稱和密碼。
資料庫屬性
-
Expose NUMBER 為:選取下列中的一項:
- 整數位數/小數位數組合
- 浮動
-
VARCHAR
資訊備註- 如果整數位數為 39 或以上,選擇 VARCHAR
- 預設況下,NUMBER 資料類型轉換為整數位數 38,小數位數 10
- Oracle 資料庫中的「Expose NUMBER」定義僅用於 NUMBER 資料類型(沒有說明整數位數和小數位數定義)
- 支援巢狀表格:如果您需要 land Oracle 表格(包含為巢狀表格或定義類型的欄位),選擇此選項。如需更多資訊此功能的資訊和先決條件,請參閱移動 巢狀表格。
-
支援隱藏欄位:選擇此選項以land隱藏欄位。
CDC 屬性
- 重試間隔:使用計時器或輸入系統在重新發送查詢時等候的秒數。
-
封存重做記錄目的地 ID:封存重做記錄的目的地。值應該與 V$archived_log表格的DEST_ID數字相同。
有多個記錄目的地的情況下任務 (DEST_ID),您必須指定能由 Qlik 複寫伺服器存取,代表封存記錄的封存重做記錄位置指示器。如未指定封存重做記錄位置指示器,Qlik 複寫伺服器將使用替代封存重做記錄目的地 ID 欄位指定的 ID。如果未指定替代 ID,則 Qlik 複寫伺服器將使用最小既有 DEST_ID。
-
替代封存重做記錄目的地 ID:失敗事件封存目的地讀取自主要目的地。
- 僅使用封存重做記錄:若選取此選項,Qlik 複寫伺服器只會存取封存重做記錄。如果封存重作記錄僅儲存於 ASM,需要向連接器設定中指定的使用者授予 所需的 ASM 權限 中說明的 ASM 特權。
- 透過以下內容存取重做記錄:選擇是否要使用Log Reader(預設)或 LogMiner 存取重作記錄。當雲端供應商為 Oracle Cloud,重作記錄永遠會使用 Log Reader 進行存取。當沒有選擇時,將使用 LogMiner 存取重作記錄。關於應該使用 LogMiner 而不是 Log Reader 的指引,請參閱 重做記錄檔 - 存取方法準則。
ASM 屬性
-
如果 Oracle 使用 Automated Storage Management (ASM) 重作您儲存使用的記錄,在指定欄位輸入必要存取資料。
- ASM 連線字串:如果您的 Oracle 資料庫使用 ASM 時的連線字串至 ASM 的範例。
- ASM 使用者名稱:ASM 使用者的使用者名稱。
-
ASM 密碼:ASM 使用者的密碼。
-
同時 ASM Read 執行緒數量:從 ASM 讀取重作記錄使用的執行緒數量。當有大量變更時,增加此數量可能改善效能。
CDC 的密碼儲存庫加密項目
當部分來源表格欄位加密時,您必須指定 Oracle Wallet 加密名稱和值。如需更多資訊資訊,請參閱下方的尋找 Wallet 輸入。
內部屬性
內部屬性用於特殊使用情況,因此不會在對話方塊中顯示。您只能在 Qlik 支援指示下使用。
根據需要使用欄位右側的 和 按鈕以新增或移除屬性。
名稱
來源連線的顯示名稱。
尋找錢包項目
尋找用於 TDE 欄加密的錢包項目
為了指定用於 TDE 資料表空間加密或 TDE 欄位加密的正確加密金鑰,您首先必須找到包含加密金鑰 Oracle Wallent 的相關輸入(或遇到多個金鑰時的輸入)。在您找到相關輸入後,分別複製輸入和其數值(或如果超過一個的輸入和數值)於名稱和數值欄位。
要輸入多個數值,首先將每個輸入複製入文字編輯器,如 Notepad 以確保使用逗號分隔數值。接著,從文字編輯器複製包含數值和逗號的字串,再貼上至 值 欄位。針對輸入不輸要這麼做。您可以直接在輸入欄位貼上輸入,記得使用逗號分隔每個輸入。
- 如果 ENCRYPTION_WALLET_LOCATION 參數在 sqlnet.ora 檔案中被定義,使用由此參數定義目錄中的錢包。
- 如果 WALLET_LOCATION 參數在 sqlnet.ora 檔案中被定義,使用此參數目錄中定義的錢包。
-
在其他情況下,使用預設資料庫位置的錢包。
資訊備註錢包名稱應為 ewallet.p12
-
使用 Oracle mksore 公用程式中的「清單」選項,決定 ORACLE.SECURITY.DB/TS.ENCRYPTION.<SUFFIX> 輸入名稱,如下所示:
mkstore –wrl <full wallet name> -list
-
如果您知道哪個輸入用於加密重作記錄,選擇該輸入名稱並使用 Oracle mkstore 公用程式中的「viewEntry」選項決定輸入值,如下所示:
mkstore –wrl <full wallet name> -viewEntry <entry name>
資訊備註如果您不知道哪個輸入用於加密重作記錄,您可以選擇多個 DB 或 TS 輸入並如上述決定其數值 (再複製貼上輸入名稱和數值於名稱和數值欄位)。如果指定輸入不正確,任務會失敗,錯誤訊息會包含正確的輸入名稱。
資訊備註如果 DBA 在任務進行時變更輸入,任務會失敗,錯誤訊息會包含正確的輸入名稱。新增新輸入(名稱和數值)於已指定輸入並重啟任務。
尋找特定表格中,用於 TDE 欄加密的錢包項目
此區段說明如何找到在指定表格用於 TDE 欄加密的正確加密金鑰。
要找到 Oracle Wallet 輸入:
-
在 Oracle 資料庫,依據給予的擁有人和表格名稱,進行以下查詢以返回object_id(如:表格 ID):
Select object_id from all_objects where owner='<table owner>' and object_name='<table name>' and object_type='TABLE';
-
在以下查詢使用已擷取的object_id以返回相關主要金鑰:
select mkeyid from sys.enc$ where obj#=OBJECT_ID;
-
如下所示,從 Oracle Wallet 選擇主要數值:
mkstore –wrl <full_wallet_name> -viewEntry <entry_name>
-
分別在名稱和數值欄位複製主要金鑰輸入和其數值。