# 必要條件

在您可以登陸或複寫資料之前，確認完成下列先決條件：

* 在 資料移動閘道 伺服器安裝必要 driver

  資訊備註

  只有在您選擇使用 資料移動閘道 時，才需要此。如需關於 資料移動閘道 福利以及何時需要的資訊，請參閱 [Qlik 資料閘道 - 資料移動](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm)。

* 在資料來源授予必要權限

* 設定資料來源連接器

## 驅動程式的設定

您可以使用驅動程式安裝公用程式 (建議) 或手動安裝 driver。只能在不太可能發生的事件 (您在使用驅動程式安裝公用程式時遇到問題) 中嘗試手動安裝。

### 使用驅動程式安裝公用程式來安裝驅動程式

此區段描述如何安裝所需的 driver。該流程涉及執行將會自動下載、安裝並設定所需 driver 的指令碼。您也可以執行指令碼，以根據需求更新並解除安裝 driver。

### 準備安裝

* 確認 Python 3.6 或更高版本安裝於 Data Movement 閘道伺服器。

  Python 會預先安裝在大部分的 Linux 發行版。您可以執行下列命令，以查看哪個 Python 版本安裝在您的系統上：

  python3 --version

### 安裝 driver

若要下載並安裝 driver：

1. 在 Data Movement 閘道機器上，將工作目錄變更為：

   opt/qlik/gateway/movement/drivers/bin

2. 執行下列命令：

   語法：

   ./install oracle

   若無法下載 driver (由於存取限制或技術問題)，將會顯示訊息，指示您到哪裡下載 driver 以及在 Data Movement 閘道機器上的何處複製。完成後，再次執行 install oracle 命令。

   否則，就會顯示 driver 的 EULA。

3. 執行下列其中一個動作：

   * 重複按下 [Enter] 以緩慢瀏覽 EULA。
   * 重複按下空格鍵以快速瀏覽 EULA。
   * 按下 q 以結束授權文字並呈現 EULA 接受選項。

4. 執行下列其中一個動作：

   * 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。

   * 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。

   * 輸入「v」並按下 [Enter] 以再次檢視 EULA。

   將會安裝 driver。

### 更新 driver

若您想要在安裝提供的 driver 之前解除安裝先前的 driver 版本，請執行更新命令。

若要下載並更新 driver：

1. 在 Data Movement 閘道機器上，將工作目錄變更為：

   opt/qlik/gateway/movement/drivers/bin

2. 執行下列命令：

   語法：

   ./update oracle

   若無法下載 driver (由於存取限制或技術問題)，將會顯示訊息，指示您到哪裡下載 driver 以及在 Data Movement 閘道機器上的何處複製。完成後，再次執行 update oracle 命令。

   否則，就會顯示 driver 的 EULA。

3. 執行下列其中一個動作：

   * 重複按下 [Enter] 以緩慢瀏覽 EULA。
   * 重複按下空格鍵以快速瀏覽 EULA。
   * 按下 q 以結束授權文字並呈現 EULA 接受選項。

4. 執行下列其中一個動作：

   * 輸入「y」並按下 [Enter] 以接受 EULA 並開始安裝。
   * 輸入「n」並按下 [Enter] 以拒絕 EULA 並退出安裝。
   * 輸入「v」並按下 [Enter] 以從頭檢閱 EULA。

   將會解除安裝舊版 driver，並安裝新版 driver。

### 解除安裝 driver

若您想要解除安裝 driver，請執行解除安裝命令。

若要解除安裝 driver：

1. 停止設定為使用此連接器的所有任務。

2. 在 Data Movement 閘道機器上，將工作目錄變更為：

   opt/qlik/gateway/movement/drivers/bin

3. 執行下列命令：

   語法：

   ./uninstall oracle

   將會解除安裝 driver。

### 手動安裝驅動程式

只有在自動驅動程式安裝無法成功完成時，才能嘗試手動安裝 driver。

安裝 資料移動閘道 後，下載 oracle-instantclient-basiclite-&lt;version&gt;.x86\_64.rpm 驅動程式。您可以在 /opt/qlik/gateway/movement/drivers/manifests/oracle.yaml 的 binary-artifacts 之下找到支援版本的直接下載連結。下載完成後，將 RPM 複製到 資料移動閘道 機器。

接著，在 Data Movement gateway 伺服器上，開啟 shell prompt 並進行以下項目：

1. 停止 Data Movement gateway 服務：

   sudo systemctl stop repagent

2. 可自選，確認服務已停止：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. 安裝驅動程式 (RPM)。

4. 此外，如尚未納入您的系統，請在 `$Oracle_Home\lib` 目錄中建立象徵連結。將連結命名為 `libclntsh.so`，並指向此檔案的特定版本。

   範例：

   lrwxrwxrwx 1 oracle oracle 63 Oct 2 14:16 libclntsh.so -&gt; /u01/app/oracle/home/lib/libclntsh.so.21.1

5. 將工作目錄變更為 &lt;Data Movement gateway-Install-Dir&gt;/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\_&lt;version&gt;:/opt/qlik/gateway/movement/lib/" &gt;&gt; site\_arep\_login.sh

6. 可自選，確認已複製驅動程式位置：

   ```
   cat site_arep_login.sh
                           
   ```

7. 開始 Data Movement gateway 服務：

   sudo systemctl start repagent

8. 可自選，確認服務已開始：

   sudo systemctl status repagent

   狀態應如下所示：

   Active: active (running) since &lt;timestamp&gt; ago

## 提供 Oracle 帳戶存取權

您必須向 Data Movement gateway 使用者提供 Oracle 帳戶存取權。這位使用者必須具有對 Oracle 資料庫的讀/寫權限。關於設定 Oracle 帳戶存取權如需詳細資訊，請參閱[必要權限](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Oracle/OracleDBSource_Security.htm)。

## 確定 ARCHIVELOG 模式開啟

Oracle 能以兩種模式執行：`ARCHIVELOG` 模式和 `NOARCHIVELOG` 模式。如要將 Oracle 記錄搭配 Data Movement gateway 使用，請以 `ARCHIVELOG` 模式執行資料庫。如果記錄未設定為 `ARCHIVELOG` 模式，則請執行以下查詢：

`ALTER database ARCHIVELOG`

請注意，若您的 Oracle 資料庫執行個體是在 Amazon RDS，需要執行不同的命令。如需詳細資訊，請參閱 [啟用自動備份](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Oracle/oracle_rds_prerequisites.htm#Enabling) 和 [設定封存](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Oracle/oracle_rds_prerequisites.htm#ar_oracleds_385117211_chdddeji)

## 設定補充記錄

必須為 Oracle 資料庫在資料庫層級、以及表格層級兩者啟用補充記錄。

資訊備註

要從 Oracle 待命環境移動時，必須在主要 Oracle 執行個體 (如下文說明) 設定補充記錄，不可設定在待命執行個體。

### 在資料庫層級檢查及啟用補充記錄

1. 執行以下查詢：

   SELECT name, value, description FROM v$parameter WHERE name = 'compatible';

   傳回的結果應該是從 ` GE to  ``n``.``n``.``n` 其中 `n``.``n``.``n` 是 Oracle 資料庫版本 (例如 10.0.0)。

   警告備註

   參數值必須符合資料庫的實際版本。

2. 執行以下查詢：

   SELECT supplemental\_log\_data\_min FROM v$database;

   傳回的結果應為 YES 或 IMPLICIT。

   執行以下查詢以啟用補充記錄：

   ALTER DATABASE ADD SUPPLEMENTAL LOG DATA

   資訊備註

   若您的 Oracle 資料庫執行個體是在 Amazon RDS，需要執行不同的命令。如需詳細資訊，請參閱[使用 Amazon RDS for Oracle](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Oracle/oracle_rds_prerequisites.htm)。

### 在表格層級檢查及啟用補充記錄

1. 如要檢查是否在表格層級啟用補充記錄，請執行以下查詢：

   語法：

   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';

2. 如要在表格層級啟用補充記錄，請執行以下查詢：

   語法：

   ALTER TABLE TABLE-NAME ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

   範例：

   ALTER TABLE HR.EMPLOYEES ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

另請參見： [必要權限](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Oracle/OracleDBSource_Security.htm)