必要條件
在您可以登陸或複寫資料之前,確認完成下列先決條件:
-
在 資料移動閘道 伺服器安裝必要 driver
資訊備註只有在您選擇使用 資料移動閘道 時,才需要此。如需關於 資料移動閘道 福利以及何時需要的資訊,請參閱 Qlik 資料閘道 - 資料移動。
-
在資料來源授予必要權限
-
設定資料來源連接器
驅動程式的設定
您可以使用驅動程式安裝公用程式 (建議) 或手動安裝 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 帳戶存取權
您必須向 Data Movement gateway 使用者提供 Oracle 帳戶存取權。這位使用者必須具有對 Oracle 資料庫的讀/寫權限。關於設定 Oracle 帳戶存取權如需詳細資訊,請參閱必要權限。
確定 ARCHIVELOG 模式開啟
Oracle 能以兩種模式執行:ARCHIVELOG 模式和 NOARCHIVELOG 模式。如要將 Oracle 記錄搭配 Data Movement gateway 使用,請以 ARCHIVELOG 模式執行資料庫。如果記錄未設定為 ARCHIVELOG 模式,則請執行以下查詢:
ALTER database ARCHIVELOG
請注意,若您的 Oracle 資料庫執行個體是在 Amazon RDS,需要執行不同的命令。如需詳細資訊,請參閱 啟用自動備份 和 設定封存
設定補充記錄
必須為 Oracle 資料庫在資料庫層級、以及表格層級兩者啟用補充記錄。
要從 Oracle 待命環境移動時,必須在主要 Oracle 執行個體 (如下文說明) 設定補充記錄,不可設定在待命執行個體。
在資料庫層級檢查及啟用補充記錄
-
執行以下查詢:
SELECT name, value, description FROM v$parameter WHERE name = 'compatible';
傳回的結果應該是從 GE to n.n.n 其中 n.n.n 是 Oracle 資料庫版本 (例如 10.0.0)。
警告備註參數值必須符合資料庫的實際版本。
-
執行以下查詢:
SELECT supplemental_log_data_min FROM v$database;
傳回的結果應為 YES 或 IMPLICIT。
執行以下查詢以啟用補充記錄:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA
資訊備註若您的 Oracle 資料庫執行個體是在 Amazon RDS,需要執行不同的命令。如需詳細資訊,請參閱使用 Amazon RDS for Oracle。
在表格層級檢查及啟用補充記錄
-
如要檢查是否在表格層級啟用補充記錄,請執行以下查詢:
語法:
select count(*) from ALL_LOG_GROUPS where LOG_GROUP_TYPE='ALL COLUMN LOGGING' and OWNER= 'OWNER' and TABLE_NAME='TABLE-NAME';
範例:
select count(*) from ALL_LOG_GROUPS where LOG_GROUP_TYPE='ALL COLUMN LOGGING' and OWNER= 'HR' and TABLE_NAME='EMPLOYEES';
-
如要在表格層級啟用補充記錄,請執行以下查詢:
語法:
ALTER TABLE TABLE-NAME ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
範例:
ALTER TABLE HR.EMPLOYEES ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
另請參見: 必要權限