# 先决条件

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

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

  信息注释

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

* 授予数据源所需的权限

* 配置数据源连接器

## 在 z/OS 上安装 R4Z 产品

在使用 IBM DB2 for z/OS 源代码之前，必须首先在 z/OS 上安装和配置 R4Z 产品。

1. 转到 [产品下载](https://community.qlik.com/t5/Downloads/tkb-p/Downloads)。

2. 选择 Qlik Data Integration。

3. 在产品列表中，选择 Qlik Replicate。

4. 在版本 列表中，选择与您的 数据移动网关 版本的发布日期（年初至今）相对应的 Qlik Replicate 版本。例如，如果您的数据移动网关 版本是 2024.5.54（年.月.版本），请选择 May 2024。

5. 在版本号 列表中，选择初始版本。

6. 在下载链接列中，单击 QlikReplicate\_&lt;version&gt;\_r4z.zip 链接开始下载。

7. 下载之后，将其安装在您的 z/OS 数据源上。

有关安装和配置说明，请参阅[安装和配置 R4Z](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/R4Z_Install_Config/concept-design.htm)。

## 安装和设置驱动程序

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

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

本部分介绍如何安装所需的 driver。这个过程包括下载 driver，将其复制到所需的文件夹（见下文），并运行一个脚本来自动安装和配置它。您还可以根据需要运行脚本来更新和卸载 driver。

### 准备安装

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

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

  python3 --version

* 从 IBM 网站下载 IBM Data Server Client "&lt;版本&gt;\_linuxx64\_client.tar.gz"。您可以在此路径中的 binary-artifacts 下面找到受支持版本：/opt/qlik/gateway/movement/drivers/manifests/db2.yaml。下载完成后，将文件复制到：

  /opt/qlik/gateway/movement/drivers/db2

### 安装 driver

安装 driver ：

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

   sudo systemctl stop repagent

2. 可选择确认服务已停止：

   sudo systemctl status repagent

   状态应如下所示：

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

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

   opt/qlik/gateway/movement/drivers/bin

4. 然后运行以下命令：

   语法：

   ./install db2

   否则，将显示 driver 的 EULA。

5. 执行以下选项之一：

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

6. 执行以下选项之一：

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

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

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

   将会安装 driver。

7. 等待安装完成（以“完成！”指示），然后启动 数据移动网关 服务：

   sudo systemctl start repagent

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

   sudo systemctl status repagent

   状态应如下所示：

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

### 更新 driver

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

更新 driver：

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

   sudo systemctl stop repagent

2. 可选择确认服务已停止：

   sudo systemctl status repagent

   状态应如下所示：

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

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

   opt/qlik/gateway/movement/drivers/bin

4. 然后运行以下命令：

   语法：

   ./update db2

   否则，将显示 driver 的 EULA。

5. 执行以下选项之一：

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

6. 执行以下选项之一：

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

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

7. 等待安装完成（以“完成！”指示），然后启动 数据移动网关 服务：

   sudo systemctl start repagent

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

   sudo systemctl status repagent

   状态应如下所示：

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

### 卸载 driver

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

卸载 driver：

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

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

   opt/qlik/gateway/movement/drivers/bin

3. 然后运行以下命令：

   语法：

   ./uninstall db2

   将卸载 driver。

### 手动安装驱动程序

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

#### Linux ODBC 客户端程序包

您可以选择安装完整的 ODBC 客户端软件包还是只安装数据服务器客户端，如 [Linux 数据服务器客户端](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/SourcesConnections/IBM4DB2-zos/prerequisites-zos.htm#Linux) 中所述。

信息注释

不支持“enableWLB”驱动程序选项。要强制连接自动切换到并行 sysplex 中的另一个 LPAR（即“故障切换”），请在驱动程序配置中将“enableACR”设置为“true”，将“enableWLB”设置为为“false”。

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

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

   sudo systemctl stop repagent

2. 可选择确认服务已停止：

   sudo systemctl status repagent

   状态应如下所示：

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

3. 安装l v11.5.8\_linuxx64\_server\_dec.tar.gz 并选择“CLIENT” 选项。

4. 如果 数据移动网关 计算机没有 DB2 实例，请运行以下命令创建 DB2 实例：

   `adduser <db2_instance_name>`

   `/opt/ibm/db2/V11.5/instance/db2icrt <db2_instance_name>`

5. 将工作目录更改为 &lt;数据移动网关\_Install\_Dir&gt;/bin.

6. 将 DB2 驱动程序位置添加到 Linux 库路径。

   为此，请将以下行添加到 **site\_ arep\_login.sh** 文件，具体如下：

   `export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/lib`

   其中 `path` 为驱动程序的 CLIENT 路径。

   **示例（以 db2clnt1 作为实例名）：**

   `export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/db2clnt1/sqllib/lib:/home/db2clnt1/sqllib/lib64/gskit
   `

   `export DB2INSTANCE=db2clnt1`

7. 可选择确认已将驱动程序位置复制：

   ```
   cat site_arep_login.sh
                           
   ```

8. 将以下条目添加到 /etc 下的 odbcinst.ini 文件：

   `[IBM DB2 ODBC DRIVER]`

   `Driver = /home/db2clnt1/sqllib/lib/libdb2o.so`

   `fileusage=1`

   `dontdlclose=1`

9. 启动 数据移动网关 服务：

   sudo systemctl start repagent

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

    sudo systemctl status repagent

    状态应如下所示：

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

#### Linux 数据服务器客户端

1. 从[IBM Fix Central](https://www.ibm.com/support/fixcentral/swg/downloadFixes?parent=ibm~Information%20Management&product=ibm/Information+Management/IBM+Data+Server+Client+Packages&release=11.5.*&platform=All&function=fixId&fixids=DSClients-115-linuxx64-RECOMMENDED&includeRequisites=0&includeSupersedes=0&downloadMethod=http) 下载 v11.5.9\_linuxx64\_client.tar.gz 并提取文件。

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

   ```
   sudo service repagent stop
                           
   ```

3. 可选择确认服务已停止：

   ```
   sudo service repagent status
                           
   ```

   状态应如下所示：

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

4. 将工作目录更改为 /opt/client 并运行 `db2_install`。

5. 创建一个 RSP 文件（请参阅下面的示例 RSP 文件），然后运行以下命令（从 /opt/client）：

   `./db2setup -r /file-path/client.rsp`

6. 将以下条目添加到 /etc 下的 odbcinst.ini 文件：

   `[IBM DB2 ODBC DRIVER]` `Driver = /opt/ibm/db2/V11.5/lib64/libdb2o.so` `fileusage=1` `dontdlclose=1`

7. 启动 数据移动网关 服务：

   ```
   sudo service repagent start
                           
   ```

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

   `sudo service repagent status`

   状态应如下所示：

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

示例 RSP 文件

```
*-----------------------------------------------------
* Generated response file used by the DB2 Setup wizard
* generation time: 2/18/22 4:10 PM
*-----------------------------------------------------
*  Product Installation
LIC_AGREEMENT       = ACCEPT
PROD       = CLIENT
FILE       = /opt/ibm/db2/V11.5
INSTALL_TYPE       = TYPICAL
* ----------------------------------------------
*  Instance properties
* ----------------------------------------------
INSTANCE       = inst1
inst1.TYPE       = client
*  Instance-owning user
inst1.NAME       = qlik
inst1.UID       = 1000
inst1.GROUP_NAME       = qlik
inst1.HOME_DIRECTORY       = /home/qlik
inst1.AUTOSTART       = NO
*-----------------------------------------------
*  Installed Languages
*-----------------------------------------------
LANG       = EN
		
```

### 服务器端 ODBC 设置

按照 ODBC 初始化文件中 PLANNAME= 值中的指定，绑定要用于 ODBC 的计划。默认名称为 DSNACLI。BIND 作业可以在 DSNTIJCL 成员中找到，该成员位于源 DB2 安装的 SDSNSAMP 库中。

使用 DB2CLI bind 命令将 ODBC 提供的包绑定到预期的源 z/OS DB2 子系统。IBM 网站上的[配置开发人员和运行时环境](https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.apdv.cli.doc/doc/r0007866.html)中描述了此操作。有关 DB2CLI 实用程序的信息，包括绑定实用程序的示例，请参阅 IBM 网站上的 [DB2CLI-DB2 交互式 CLI 命令](https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0002045.html)。

## 所需的权限

要使 数据移动网关 能从源表中提取数据（满负载和更改数据捕获），必须向在 IBM DB2 for z/OS 连接器设置中指定的IBM DB2 for z/OS 设置中指定的用户授予以下权限：

* IFI 读取 UDTF 的 EXECUTE（仅更改数据捕获需要）
* 在源表和以下系统目录表上的 SELECT：
  * SYSIBM.SYSDUMMY1
  * SYSIBM.SYSTABLES
  * SYSIBM.SYSTABLESPACE
  * SYSIBM.SYSPARMS
  * SYSIBM.SYSROUTINES
  * SYSIBM.SYSCOLUMNS
  * SYSIBM.SYSLGRNX
  * SYSIBM.SYSTABLEPART
* MONITOR2 能够启动 IFI 会话（仅更改数据捕获需要）

## 捕获数据更改

为了捕获 IBMDB2forz/OS 的更改，数据移动网关 使用一个特殊程序（作为外部例程调用），它是一个用户定义的表函数 (UDTF)。在捕获更改之前，需要在 z/OS 系统上安装和配置此程序（加载模块）以及 UDTF。[安装和配置 R4Z](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Global_Common/Content/SharedReplicateHDD/R4Z_Install_Config/concept-design.htm)中描述了应由 DBA 执行的安装过程。

此外，必须为要捕获其更改的每个表设置 DATA CAPTURE CHANGES 属性。您可以手动执行此操作，也可以通过在 连接器 设置中启用自动启用 DATA CAPTURE CHANGES（需要管理员权限）选项（默认设置）来允许 数据移动网关 执行此操作。