先决条件
在登陆或复制数据之前,请确保达成以下先决条件:
-
在 数据移动网关 服务器上安装所需的 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,请运行 update 命令。
下载并更新 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,请运行 uninstall 命令。
卸载 driver:
-
停止所有配置为使用此连接器的任务。
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./uninstall oracle
将卸载 driver。
手动安装驱动程序
只有在自动驱动程序安装未成功完成的情况下,才应尝试手动安装 driver。
安装 数据移动网关 后,下载 oracle-instantclient-basiclite-<版本>.x86_64.rpm 驱动程序。您可以在此路径下面找到受支持版本的直接下载链接:binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/oracle.yaml。下载完成后,将 RPM 复制到 数据移动网关 机器上。
然后,在 数据移动网关 服务器上,打开 shell 提示符并执行以下操作:
-
停止 数据移动网关 服务:
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
-
将工作目录更改为 <数据移动网关-Install-Dir>/bin,并通过将驱动程序位置复制到e site_arep_login.sh 文件中,将 LD_LIBRARY_PATH 环境变量附加到 Oracle 即时客户端目录和 数据移动网关lib 目录:
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
-
启动 数据移动网关 服务:
sudo systemctl start repagent
-
可选择确认服务已启动:
sudo systemctl status repagent
状态应如下所示:
Active: active (running) since <timestamp> ago
状态应如下所示:
Active: inactive (dead) since <timestamp> ago
提供 Oracle 帐户访问权限
您必须向 数据移动网关 用户提供 Oracle 帐户访问权限。此用户必须具有 Oracle 数据库的读/写权限。有关设置对 Oracle 帐户的访问权限的信息,请参阅所需的权限。
确保 ARCHIVELOG 模式打开
Oracle 可以在两种不同的模式下运行:ARCHIVELOG 模式和 NOARCHIVELOG 模式。要将 Oracle 日志与 数据移动网关 一起使用,请在 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;
另请参见: 所需的权限