oracle
本节介绍如何在数据任务中设置 Oracle 源。在开始数据任务之前,请确保已完成 先决条件,设置 所需的权限,并熟悉 限制和考虑事项。
从以下任何数据库登陆数据时,需要配置与 Oracle 的连接:
- Oracle 内部
-
Amazon RDS for Oracle
-
Oracle Cloud
设置连接属性
本节介绍可用的连接属性。除非另有说明,否则所有属性都是必需的。
要打开连接器,请执行以下操作:
-
在连接中单击创建连接。
-
选择 Oracle 源连接器,然后提供以下设置:
数据源
-
数据网关
-
云提供商:如果您的 Oracle 数据库位于云中,请选择提供商:
-
无(默认)
-
Amazon RDS
-
Oracle Cloud
-
-
连接字符串:源数据库的 Oracle 连接字符串。您可以用任何 Oracle 格式键入连接字符串,例如:
//host:port/service name
其中:
host
: 这是您正在使用的具有 Oracle 数据库的计算机的名称或 IP 地址。例如:johnboy_W7
或255.255.255.0
.port
:(可选)这是您正在使用的具有 Oracle 数据库的计算机的 TNS Listener 端口号。如果未输入端口号,则使用默认的 Oracle TNS Listener 端口。service name
:(可选)这是使用 Oracle 数据库的计算机的服务名称。如果未输入服务名称,则使用默认服务名称。
您还可以输入 Oracle Net 关键字值对。例如:
"(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=dlsun242) (PORT=5521))
(CONNECT_DATA=(SERVICE_NAME=bjava21)))"
选择用于移动数据的 数据移动网关。
帐户属性
用户名称和密码:经授权可访问 Oracle 数据库的用户的用户名和密码。
数据库属性
-
保留数字为:选择以下项之一:
- 精度-比例组合
- FLOAT
-
VARCHAR
信息注释- 如果精度为 39 或更高,请选择 VARCHAR
- 默认情况下,NUMBER 数据类型转换为精度 38,比例 10
- Oracle 数据库中的“Expose NUMBER”定义仅用于 NUMBER 数据类型(没有明确的精度和小数位数定义)
- 支持嵌套表:如果需要 land Oracle 表,其包含属于嵌套表或定义类型的列,请选择此选项。有关此功能及其先决条件的详细信息,请参阅移动 嵌套表。
-
支持不可见列:选择此选项以land不可见的列。
CDC 属性
- 重试间隔:使用计数器或键入系统在重新发送查询之前等待的秒数。
-
存档重做日志目标 ID:存档重做日志的目标。该值应与 V$archived_log 表中的 DEST_ID 数字相同。
使用多个日志目标 (DEST_ID) 时,应指定一个存档的重做日志位置标识符,该标识符表示 Qlik Replication 服务器可以访问的存档日志。如果未指定存档的重做日志位置标识符,则 Qlik Replication 服务器将使用在备用存档重做日志目标 ID 字段中指定的 ID。如果未指定备用 ID,则 Qlik Replication 服务器将使用最小的现有 DEST_ID。
-
备用存档重做日志目标 ID:从主目标读取失败时的存档目标。
- 仅使用已存档的重做日志:选择此选项后,Qlik Replication 服务器将仅访问已存档的返工日志。如果存档的重做日志仅存储在 ASM 上,需要向连接器设置中指定的用户授予 需要 ASM 权限 中所述的 ASM 权限。
- 通过以下方式访问重做日志:选择是使用日志读取器(默认)还是 LogMiner 访问重做日志。当云提供商是 Oracle Cloud 时,将始终使用日志读取器访问重做日志。未选中时,将使用 LogMiner 访问重做日志。有关何时应使用 LogMiner 而不是日志读取器的指南,请参阅重做日志文件 - 访问方法指南。
ASM 属性
-
如果使用的 Oracle 重做日志是使用自动存储管理 (ASM) 存储的,请在指定字段中输入所需的访问信息。
- ASM 连接字符串:Oracle 数据库正在使用 ASM 时,指向 ASM 实例的连接字符串。
- ASM 用户名:ASM 用户的用户名。
-
ASM 密码:ASM 用户的密码。
-
并发 ASM 读取线程数:从 ASM 读取重做日志时要使用的线程数。当存在大量更改时,增加此数字可能会提高性能。
CDC 的密钥存储加密条目
Secret Store 加密条目:当某些源表列被加密时,您需要指定 Oracle Wallet 加密名称和值。 有关更多信息,请参见下面的查找钱包条目。
内部属性
内部属性用于特殊用例,因此不会在对话框中公开。只有在 Qlik 支持部门的指示下,您才应该使用它们。
使用字段右侧的 和 按钮可以根据需要添加或删除特性。
名称
安全连接的显示名称。
查找钱包条目
查找用于 TDE 列加密的钱包条目
为了指定用于 TDE 表空间加密或 TDE 列加密的正确加密密钥,您首先需要在包含加密密钥的 Oracle Wallet 中找到相关条目(或多个密钥情况下的条目)。找到相关条目后,将条目及其值(或条目和值,如果不止一个)分别复制到名称和值字段中。
要输入多个值,首先将每个条目复制到文本编辑器(如记事本)中,确保用逗号分隔这些值。然后,从文本编辑器复制包含值和逗号的字符串,并将其粘贴到 值 字段。没有必要为条目执行此操作。您可以将条目直接粘贴到条目字段中,记住用逗号分隔每个条目。
- 如果在 sqlnet.ora 文件中定义了 ENCRYPTION_WALLET_LOCATION 参数,使用此参数定义的目录中的钱包。
- 如果在 sqlnet.ora 文件中定义了 WALLET_LOCATION 参数,使用此参数定义的目录中的钱包。
-
在其他情况下,请在默认数据库位置使用钱包。
信息注释钱包的名称应为 ewallet.p12
-
使用 Oracle mkstore 实用程序中的“类别”选项确定 ORACLE.SECURITY.DB/TS.ENCRYPTION.<SUFFIX> 条目名称,如下所示:
mkstore –wrl <full wallet name> -list
-
如果您知道哪些条目用于加密重做日志,请选择条目名称并使用 Oracle mkstore 实用程序中的“viewEntry”选项确定条目值,如下所示:
mkstore –wrl <full wallet name> -viewEntry <entry name>
信息注释如果您不知道哪个条目用于加密重做日志,可以选择多个 DB 或 TS 条目并如上所述确定其值(然后将条目名称和值复制并粘贴到名称和值字段中)。如果指定的条目不正确,任务将失败,错误消息将包含正确的条目名称。
信息注释如果 DBA 在任务运行时更改了条目,则任务将失败,错误消息将包含新的条目名称。将新条目(名称和值)添加到已指定的条目中,然后继续执行任务。
在特定表中查找用于 TDE 列加密的钱包条目
本部分介绍如何在特定表中找到用于TDE列加密的正确加密密钥。
要查找 Oracle Wallet 条目:
-
在 Oracle 数据库上,根据给定的所有者和表名运行以下查询以返回 object_id(例如表格 ID):
Select object_id from all_objects where owner='<table owner>' and object_name='<table name>' and object_type='TABLE';
-
使用以下查询中检索到的 object_id 返回相关主密钥:
select mkeyid from sys.enc$ where obj#=OBJECT_ID;
-
从 Oracle Wallet 中选择键值,如下所示:
mkstore –wrl <full_wallet_name> -viewEntry <entry_name>
-
将主密钥条目及其值分别复制到名称和值字段中。