# 先决条件

在登陆或复制数据之前，请确保达成以下先决条件：

* 在 数据移动网关 服务器上安装所需的 driver

  信息注释

  只有当您选择使用 数据移动网关 时，才需要这样。有关 数据移动网关 的优势和何时需要它的信息，请参阅 [Qlik Data Gateway - Data Movement](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Gateways/replication-gateway.htm)。

* 授予数据源所需的权限

* 配置数据源连接器

## 驱动程序设置

您可以使用驱动程序安装实用程序（推荐）安装 driver 或手动安装。只有在您遇到驱动程序安装实用程序发生问题的少见情况下，才应尝试手动安装。

### 使用驱动程序安装实用程序安装驱动程序

本部分介绍如何安装所需的 driver。这个过程包括运行一个脚本，该脚本将自动下载、安装和配置所需的 driver。您还可以根据需要运行脚本来更新和卸载 driver。

### 准备安装

* 请确保在 数据移动 网关服务器上安装了 Python 3.6 或更高版本。

  Python 预装在大多数 Linux 发行版上。您可以通过运行以下命令来检查系统上安装了哪个 Python 版本。

  python3 --version

### 安装 driver

下载并安装 driver ：

1. 在 数据移动 网关计算机上，将工作目录更改为：

   opt/qlik/gateway/movement/drivers/bin

2. 然后运行以下命令：

   语法：

   ./install oracle

   如果无法下载 driver（由于访问限制或技术问题），将显示一条消息，为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后，请再次运行 install oracle 命令。

   否则，将显示 driver 的 EULA。

3. 执行以下选项之一：

   * 重复按 [Enter] 可在 EULA 中缓慢滚动。
   * 重复按空格键可快速滚动 EULA。
   * 按 q 退出许可证文本并显示 EULA 接受选项。

4. 执行以下选项之一：

   * 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。

   * 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。

   * 键入“v”并按 [Enter] 以再次查看 EULA。

   将会安装 driver。

### 更新 driver

如果要在安装提供的 driver 之前卸载以前版本的 driver，请运行 update 命令。

下载并更新 driver：

1. 在 数据移动 网关计算机上，将工作目录更改为：

   opt/qlik/gateway/movement/drivers/bin

2. 然后运行以下命令：

   语法：

   ./update oracle

   如果无法下载 driver（由于访问限制或技术问题），将显示一条消息，为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后，请再次运行 update oracle 命令。

   否则，将显示 driver 的 EULA。

3. 执行以下选项之一：

   * 重复按 [Enter] 可在 EULA 中缓慢滚动。
   * 重复按空格键可快速滚动 EULA。
   * 按 q 退出许可证文本并显示 EULA 接受选项。

4. 执行以下选项之一：

   * 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
   * 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
   * 键入“v”并按 [Enter] 可从头开始查看 EULA。

   将卸载旧的 driver，并安装新的 driver。

### 卸载 driver

如果要卸载 driver，请运行 uninstall 命令。

卸载 driver：

1. 停止所有配置为使用此连接器的任务。

2. 在 数据移动 网关计算机上，将工作目录更改为：

   opt/qlik/gateway/movement/drivers/bin

3. 然后运行以下命令：

   语法：

   ./uninstall oracle

   将卸载 driver。

### 手动安装驱动程序

只有在自动驱动程序安装未成功完成的情况下，才应尝试手动安装 driver。

安装 数据移动网关 后，下载 oracle-instantclient-basiclite-&lt;版本&gt;.x86\_64.rpm 驱动程序。您可以在此路径下面找到受支持版本的直接下载链接：binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/oracle.yaml。下载完成后，将 RPM 复制到 数据移动网关 机器上。

然后，在 数据移动网关 服务器上，打开 shell 提示符并执行以下操作：

1. 停止 数据移动网关 服务：

   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;数据移动网关-Install-Dir&gt;/bin，并通过将驱动程序位置复制到e `site_arep_login.sh` 文件中，将 `LD_LIBRARY_PATH` 环境变量附加到 Oracle 即时客户端目录和 数据移动网关lib 目录：

   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. 启动 数据移动网关 服务：

   sudo systemctl start repagent

8. 可选择确认服务已启动：

   sudo systemctl status repagent

   状态应如下所示：

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

## 提供 Oracle 帐户访问权限

您必须向 数据移动网关 用户提供 Oracle 帐户访问权限。此用户必须具有 Oracle 数据库的读/写权限。有关设置对 Oracle 帐户的访问权限的信息，请参阅[所需权限](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Oracle/OracleDBSource_Security.htm)。

## 确保 ARCHIVELOG 模式打开

Oracle 可以在两种不同的模式下运行：`ARCHIVELOG` 模式和 `NOARCHIVELOG` 模式。要将 Oracle 日志与 数据移动网关 一起使用，请在 `ARCHIVELOG` 模式下运行数据库。如果日志未设置为 `ARCHIVELOG` 模式，则执行以下查询：

`ALTER database ARCHIVELOG`

请注意，如果您的 Oracle 数据库实例位于 Amazon RDS 上，则需要执行不同的命令。有关详细信息，请参阅[启用自动备份](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Oracle/oracle_rds_prerequisites.htm#Enabling)和[设置归档](https://help.qlik.com/zh-CN/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-CN/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-CN/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/Oracle/OracleDBSource_Security.htm)