Oracle
此區段說明如何使用 Oracle 目標連接器對 Oracle 目標設定連線能力。Oracle 僅可作為複寫任務中的目標使用。您需要先在資料庫上設定 必要權限,才能連線至 Oracle 目標。若您正透過 資料移動閘道 連線至 Oracle,您也需要按照 驅動程式的設定 中的說明安裝驅動程式。
如需關於使用 Oracle 連接器時的限制和考慮事項的資訊,請參閱 限制和考慮事項。
設定連線屬性
若要設定連接器,進行下列事項:
-
在連線中,按一下建立連線。
-
選取 Oracle 目標連接器,然後提供下列設定:
資料目標
-
資料閘道:使用 資料移動閘道 時,選取將會用來測試 Oracle 目標連線的資料閘道。其閘道應與用來存取資料來源的閘道相同。
資訊備註- 此欄位無法用於 Qlik Talend Cloud 啟動器 訂閱,因為此訂閱層級不支援 資料移動閘道。
-
您也需要在 資料移動閘道 機器上安裝適當的驅動程式。如需詳細資訊,請參閱以下的 驅動程式的設定。
-
連線字串:您要使用之 Oracle 資料庫的 Oracle 連線字串。
資訊備註- 複寫至 Oracle Autonomous Data Warehouse 時,您首先需要執行 連線至 Oracle Autonomous Data Warehouse 中描述的程序。
- 此資訊區分大小寫。
帳戶屬性
使用者名稱和密碼:獲得授權可存取 Oracle Server 資料庫的使用者的使用者名稱和密碼。
內部屬性
內部屬性用於特殊使用情況,因此不會在對話方塊中顯示。您只能在 Qlik 支援指示下使用。
根據需要使用欄位右側的 和 按鈕以新增或移除屬性。
名稱
連線的顯示名稱。
必要條件
必要權限
必須向連線字串中指定的使用者授予 Oracle 資料庫中的下列權限:
-
建立任何表格
-
建立任何索引
-
改變 任何 表格
- 捨棄任何表格
-
插入任何表格
-
更新任何表格
-
刪除任何表格
-
選取任何表格
-
選取 all_indexes
-
選取 all_ind_columns
-
選取 all_constraints
-
選取 all_cons_columns
-
鎖定任何表格
驅動程式的設定
您可以使用驅動程式安裝公用程式 (建議) 或手動安裝 driver。只能在不太可能發生的事件 (您在使用驅動程式安裝公用程式時遇到問題) 中嘗試手動安裝。
使用驅動程式安裝公用程式來安裝驅動程式
此區段描述如何安裝所需的 driver。該流程涉及執行將會自動下載、安裝並設定所需 driver 的指令碼。您也可以執行指令碼,以根據需求更新並解除安裝 driver。
準備安裝
-
確認 Python 3.6 或更高版本安裝於 資料移動 閘道伺服器。
Python 會預先安裝在大部分的 Linux 發行版。您可以執行下列命令,以查看哪個 Python 版本安裝在您的系統上:
python3 --version
安裝 driver
若要下載並安裝 driver:
-
在 資料移動 閘道機器上,將工作目錄變更為:
opt/qlik/gateway/movement/drivers/bin
-
執行下列命令:
語法:
./install oracle
若無法下載 driver (由於存取限制或技術問題),將會顯示訊息,指示您到哪裡下載 driver 以及在 資料移動 閘道機器上的何處複製。完成後,再次執行 install oracle 命令。
否則,就會顯示 driver 的 EULA。
-
執行下列其中一個動作:
- 重複按下 [Enter] 以緩慢瀏覽 EULA。
- 重複按下空格鍵以快速瀏覽 EULA。
- 按下 q 以結束授權文字並呈現 EULA 接受選項。
-
執行下列其中一個動作:
- 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。
- 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。
-
輸入「v」並按下 [Enter] 以再次檢視 EULA。
將會安裝 driver。
更新 driver
若您想要在安裝提供的 driver 之前解除安裝先前的 driver 版本,請執行更新命令。
若要下載並更新 driver:
-
在 資料移動 閘道機器上,將工作目錄變更為:
opt/qlik/gateway/movement/drivers/bin
-
執行下列命令:
語法:
./update oracle
若無法下載 driver (由於存取限制或技術問題),將會顯示訊息,指示您到哪裡下載 driver 以及在 資料移動 閘道機器上的何處複製。完成後,再次執行 update oracle 命令。
否則,就會顯示 driver 的 EULA。
-
執行下列其中一個動作:
- 重複按下 [Enter] 以緩慢瀏覽 EULA。
- 重複按下空格鍵以快速瀏覽 EULA。
- 按下 q 以結束授權文字並呈現 EULA 接受選項。
-
執行下列其中一個動作:
- 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。
- 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。
- 輸入「v」並按下 [Enter] 以從頭檢閱 EULA。
將會解除安裝舊版 driver,並安裝新版 driver。
解除安裝 driver
若您想要解除安裝 driver,請執行解除安裝命令。
若要解除安裝 driver:
-
停止設定為使用此連接器的所有任務。
-
在 資料移動 閘道機器上,將工作目錄變更為:
opt/qlik/gateway/movement/drivers/bin
-
執行下列命令:
語法:
./uninstall oracle
將會解除安裝 driver。
手動安裝驅動程式
只有在自動驅動程式安裝無法成功完成時,才能嘗試手動安裝 driver。
安裝 資料移動閘道 後,下載 oracle-instantclient-basiclite-<version>.x86_64.rpm 驅動程式。您可以在 /opt/qlik/gateway/movement/drivers/manifests/oracle.yaml 的 binary-artifacts 之下找到支援版本的直接下載連結。下載完成後,將 RPM 複製到 資料移動閘道 機器。
接著,在 Data Movement gateway 伺服器上,開啟 shell prompt 並進行以下項目:
-
停止 Data Movement gateway 服務:
sudo systemctl stop repagent
-
可自選,確認服務已停止:
sudo systemctl status repagent
- 安裝驅動程式 (RPM)。
-
此外,如尚未納入您的系統,請在 $Oracle_Home\lib 目錄中建立象徵連結。將連結命名為 libclntsh.so,並指向此檔案的特定版本。
範例:
lrwxrwxrwx 1 oracle oracle 63 Oct 2 14:16 libclntsh.so -> /u01/app/oracle/home/lib/libclntsh.so.21.1
-
將工作目錄變更為 <Data Movement gateway-Install-Dir>/bin 並將 LD_LIBRARY_PATH 環境變數附加到 Oracle instant Client 目錄以及 Data Movement gatewaylib 目錄,作法是將驅動程式的位置複製到 site_arep_login.sh 檔案:
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/oracle/instantclient_<version>:/opt/qlik/gateway/movement/lib/" >> site_arep_login.sh
-
可自選,確認已複製驅動程式位置:
cat site_arep_login.sh
-
開始 Data Movement gateway 服務:
sudo systemctl start repagent
-
可自選,確認服務已開始:
sudo systemctl status repagent
狀態應如下所示:
Active: active (running) since <timestamp> ago
狀態應如下所示:
Active: inactive (dead) since <timestamp> ago
連線至 Oracle Autonomous Data Warehouse
複寫至 Oracle Autonomous Data Warehouse 時,應執行下列程序。
若要設定連線至 Oracle Autonomous Data Warehouse (ADW),您需要設定 Oracle Autonomous Data Warehouse 環境時下載的用戶端認證 (Wallet) ZIP 檔案。
若要啟用 Qlik Talend Data Integration 以連線至 Oracle Autonomous Data Warehouse:
-
將用戶端認證 ZIP 檔案的內容解壓縮至您選擇的資料夾。
這可以是任何資料夾,但為了此程序,/home/adw_credentials 將會是包含解壓縮檔案的 Linux 資料夾。
-
在包含解壓縮檔案的資料夾中,編輯 sqlnet.ora 檔案,使用包含解壓縮檔案的資料夾路徑取代 ?/network/admin:
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adw_credentials")))
SSL_SERVER_DN_MATCH=yes
-
建立 TNS_ADMIN 環境變數以設定為認證檔案的位置。
執行下列命令:
export TNS_ADMIN=/home/adw_credentials
export PATH=$TNS_ADMIN:$PATH
-
在 Oracle 目標連接器的連線字串欄位中,輸入來自 tnsnames.ora 檔案中的名稱之一。
如需更多關於設定連線至 Oracle ADW 的資訊,請參閱:
限制和考慮事項
使用 Oracle 作為複寫目標時,下列限制適用:
- 無法在 Oracle 資料庫中建立新的結構描述。若要複寫至新的結構描述,新的結構描述必須已存在於目標資料庫。然後,您應在任務設定的 Metadata 索引標籤中指定新的結構描述名稱。
-
在批次最佳化套用模式下工作時,空的 LOB 欄可能會複寫為 NULL 值。
- 完整載入完成後,若啟用將 LOB 大小限制為選項,且表格包含 NCLOB 資料,則目標上的 NCLOB 大小將會截斷為將 LOB 大小限制為欄位中指定大小的一半。CDC 仍會根據限制截斷。
資料類型
會保留原生資料類型資訊,並顯示在資料集檢視的原生資料類型欄中。若看不見欄,您需要開啟資料集檢視的欄選擇器並選取原生資料類型欄。
Qlik Cloud 資料類型 | Oracle 資料類型 |
---|---|
布林 |
數字 (1) |
位元組 |
原始 (長度) |
日期 |
日期時間 |
時間 |
時間戳記 (0) |
日期時間 |
若刻度 <= 9,則時間戳記 (刻度) 否則,VARCHAR2 (37) |
INT1 |
數字 (3) |
INT2 |
數字 (5) |
INT4 |
數字 (10) |
INT8 |
數字 (19) |
數字 |
數字 (p,s) |
REAL4 |
BINARY_FLOAT |
REAL8 |
BINARY_DOUBLE |
字串 |
含日期指示:DATE 含時間指示:TIMESTAMP 含時間戳記指示:TIMESTAMP 含 timestamp_with_timezone 指示:TIMESTAMP WITH TIMEZONE 含 timestamp_with_local_timezone 指示:TIMESTAMP WITH LOCAL TIMEZONE 含 interval_year_to_month 指示:INTERVAL YEAR TO MONTH 含 interval_day_to_second 指示:INTERVAL DAY TO SECOND 若長度 > 4000:CLOB 在所有其他情況:VARCHAR2 (長度) |
UINT1 |
數字 (3) |
UINT2 |
數字 (5) |
UINT4 |
數字 (10) |
UINT8 |
數字 (19) |
WSTRING |
NVARCHAR2 (長度) 請注意,若長度大於 2000,欄資料類型將會是 NCLOB。 |
BLOB |
BLOB 資訊備註
|
CLOB |
CLOB 資訊備註
|
NCLOB |
NCLOB 資訊備註
|
XMLTYPE 目標資料類型僅在 Oracle 至 Oracle 複寫任務中相關。請參閱以下備註。 |
XMLTYPE |