创建 Db2 Data Gate 实例

Db2 Data Gate 实例是描述服务器处理资源,数据库和数据库表的集合的概要文件。 要使表中的数据可供连接目标应用程序访问,必须首先创建 Db2 Data Gate 实例。

准备工作

创建 IBM® Db2IBM Db2 Warehouse 实例
必须存在 IBM Db2IBM Db2 Warehouse 数据库,因为您必须将目标数据库与 Db2 Data Gate 实例相关联。
配置网络访问
如果您 (或您的网络管理员) 尚未配置 Db2 for z/OS®Db2 Data Gate 实例之间的网络访问权, 遵循 配置 Db2 Data Gate 与 IBM Z之间的网络访问权中指定的过程。
  • 对于 IBM Z®上的配置,请记录此 Db2 Data Gate 实例的主机名和端口号。 您还需要此实例的 IP 地址,该地址可使用 ping 命令确定。
  • 如果在创建此 Db2 Data Gate 实例时指定了非缺省端口 443 的端口,请配置 iptables 规则以将访问从指定端口重定向到 OpenShift® 路径中使用的端口:
    1. 使用 ssh 登录到 Cloud Pak for Data 机器。
    2. 如果尚未对此 IBM Cloud Pak for Data 系统上的任何其他 Db2 Data Gate 实例运行,请发出以下命令:
      iptables -t nat -A POSTROUTING -j MASQUERADE
    3. 通过发出以下命令来配置此 Db2 Data Gate 实例的 iptables 规则,其中 PortNum 是创建实例时指定的端口:
      iptables -t nat -A PREROUTING -p tcp --dport PortNum -j REDIRECT --to-port 443
    注: 请考虑使 iptables 配置具有持久性,因为如果 OpenShift 环境重新引导,那么可以重置该配置。 下列命令(使用 SSH 发出)显示一种以持久方式配置 iptable 的方法:
    yum install iptables-services
    chkconfig iptables on
    iptables -t nat -A PREROUTING -p tcp --dport PortNum -j REDIRECT --to-port 443
    service iptables save

过程

  1. 在 Web 浏览器中打开 IBM Cloud Pak for Data 登录页面,并使用您的用户标识和密码登录。
  2. 单击 Cloud Pak for Data 主菜单 以打开主菜单。
  3. 选择 服务 > 服务目录
  4. 在左侧的导航器中,单击 类别 下拉列表。
  5. 选择 数据源
  6. 在右侧,选择标注为 Db2 Data Gate的磁贴。 您可能必须向下滚动才能找到该磁贴。
    这样会打开 Db2 Data Gate 登录页面。 您将看到 Db2 Data Gate 仪表板的截屏。
  7. 如果这是您正在创建的第一个实例,请单击右上角的 供应实例 按钮。 如果已有其他实例,那么不会显示此按钮。 相反,您会看到 三点菜单 菜单图标。 单击该图标以显示选项,然后选择新建实例
    标题为“创建 Data Gate 实例”的页面将打开。

目标数据库:

  1. 目标数据库 部分中,选择实例的工作负载类型:
    事务性
    简单,但是大量的数据检索(例如,点查询)。
    分析
    涉及到的访问许多不同表的查询。
    重要信息: Db2 Data GateOracle 兼容性 方式下不支持目标 Db2 实例。 因此,在对 Db2 实例进行验证时,请使此选项保持未选中状态。
    仅当存在适当的目标数据库时,单选按钮才会处于活动状态。 如果情况如此,那么目标数据库下拉菜单会提供可供选择的选项。 根据选定的单选按钮,在目标数据库下拉列表中,适当的数据库实例会预先选定。

    选择目标数据库时,系统会 "尝试" 使用 Cloud Pak for Data 凭证 (平台凭证) 来访问所选数据库。 如果当前用户在该数据库上具有管理员角色,那么将授予访问权。 如果要使用的标识缺少此角色,那么现有 Cloud Pak for Data 管理员可以通过执行以下步骤来添加该标识:

    1. 单击 Cloud Pak for Data 主菜单图标 以打开 Cloud Pak for Data 主菜单。
    2. 选择 数据 > 数据库。 您会看到表示现有数据库实例的磁贴。
    3. 在要访问的数据库磁贴上,单击 数据库磁贴上的下拉菜单 ,然后选择 管理访问权。 您将看到对该数据库具有访问权的用户的列表。
    4. 在该列表中,请将鼠标指针移到您要为其授予管理员访问权的用户的条目上。
    5. 在该列表的服务角色列中,找到该用户的当前角色。 单击该角色旁边的 下拉图标 图标以打开相关菜单。
    6. 从下拉菜单中,选择管理员

    如果选定工作负载类型没有适当的数据库,那么一个或两个单选按钮会显示为灰色。 在这种情况下,您会看到一个或两个链接,它们可用来创建缺失的数据库实例:

    创建事务性数据库
    此链接可将您转至 Cloud Pak for Data 页面,以创建 Db2 数据库。 这是适用于事务性工作负载的数据库类型。 在该页面上,请单击供应实例,并按指示信息进行操作。
    创建分析数据库
    此链接可将您转至 Cloud Pak for Data 页面,以创建 Db2 Warehouse 数据库。 这是适用于分析工作负载的数据库类型。 在该页面上,请单击供应实例,并按指示信息进行操作。
    重要信息: 遵循 安装 Db2 实例 for Db2 Data Gate on Cloud Pak for Data中的要求和建议。
  2. 如果希望两个实例在单个节点上共存,请选择 将此 Db2 Data Gate 实例部署在目标数据库的同一节点上 。 缺省情况下, Db2 Data Gate 实例部署在另一个节点上。 如果两个实例位于同一节点上,那么性能可能更好。
  3. 如果在步骤 8中选择了 分析 ,那么您将看到另一个复选框 使用此 Db2 Data Gate 实例进行查询路由
    选中时,针对 Db2 for z/OS 源表的查询将路由到您正在创建的 Db2 Data Gate 实例,并在目标数据库中的原始表的副本上执行。 查询结果将返回到 Db2 for z/OS。 通过这种方式,您可以将某些查询工作负载转移到其他环境,并保存有价值的 z/OS 处理资源。
    重要信息: 该功能部件当前处于 Beta 状态。 如果要使用它,请与 IBM 支持人员联系。

计算资源:

  1. 计算资源下,指定要分配给实例的处理核心数 (CPU) 和内存量。
    您可在 CPU 滑块条右侧的输入字段中输入整数,或者调整滑块,直到该字段中显示正确的数字为止。
  2. 以相同的方式,指定要分配给实例的内存量。 请使用内存旁边的输入字段或滑块。

名称空间:

  1. 名称空间下,选择现有名称空间。
    名称空间是物理集群中运行实例所在的虚拟集群。 它用来在多个用户之间组织和划分资源。

存储器:

  1. 存储器下,选择下列其中一个选项:
    • 创建新存储器
    • 使用现有存储器
  2. 请从下方的下拉列表中选择文件系统类型。
    您所选择的文件系统必须与最终访问实例数据的客户机应用程序兼容。
  3. 大小 字段中,指定实例所使用的存储器的大小。
    必须指定整数。 它表示以 GB 计的存储器大小。

路径:

  1. 主机 字段中,指定路由主机名的第一部分或前缀。
    生成的路径主机名会自动插入。 您可以更改前缀,即,第一个点之前的部分。 请勿更改主机名的部分,即,第一个点或前缀后面的部分。 选择的名称用于创建唯一的 URL,以供客户机应用程序用来访问实例数据。
  2. 端口 字段中,指定路由所使用的网络端口。
    端口 443 是您的第一个实例的缺省值。 每增加一个实例,该数字会递增 1。 即使您指定不同的端口号,也是如此。 假设您指定了端口号 44443。 系统会将 44444 作为下一个实例的端口。

    除非 Cloud Pak for Data 系统中有多个 Db2 数据门 实例连接到同一 Db2 for z/OS 子系统,否则请使用缺省设置。 在这种情况下,请为每个 Db2 Data Gate 实例指定不同的端口号。 在 IBM Z上,需要配置 PAGENT 规则以使用相同的 IP 地址和不同的端口号连接到多个 Db2 Data Gate 实例。

    每个 Db2 Data Gate 实例都会创建 OpenShift 路由,即主机名和端口 ( OpenShift 路由端口始终为 443)。 如果对 Db2 Data Gate使用非缺省端口 443 的端口,那么需要配置 iptables 规则以将访问权从指定端口重定向到 OpenShift 路由端口。 有关配置 iptables 规则的信息,请参阅 配置网络访问权

    提示: 稍后,当您完成实例创建时,可以通过显示实例的详细信息页面来查看您输入的值。 有关更多信息,请参阅 查看 Db2 Data Gate 实例详细信息
  3. 单击页面右下角的 复审
  4. 名称 字段中,输入实例的名称。
  5. 复查设置。 准备就绪后,请单击右下方的确认
    您会看到进度窗口。 该过程需要 10 分钟才能完成。 在此期间,请勿关闭浏览器页面。 该过程完成后,“配置”页面随即打开,您可以继续配置实例。

在标题 源数据库下的部分中,指定应该充当 Db2 Data Gate 实例的数据源的 Db2 子系统或数据共享组的详细信息。

  1. 主机 字段中,输入可通过 TCP/IP 网络联系 Db2 子系统或数据共享组的 IP 地址或 TCP/IP 主机名。
  2. 安全 DDF 端口 字段中,输入 Db2 for z/OS 数据服务器使用的已配置安全 DDF 端口号。
  3. 位置 字段中,输入要由 Db2 Data Gate访问的 Db2 子系统或数据共享组的位置名。
    位置名是通信数据库的 SYSIBM.LOCATIONS 表中 Db2 for z/OS 数据服务器的名称。
  4. 用户名 字段中,输入将访问数据源的用户的标识。
    这是在 创建 Db2 Data Gate 用户并授予 z/OS上的特权时创建或指定的其中一个 特权用户 用户标识。
  5. 密码 字段中,输入步骤 25中指定的用户的密码。

在下一部分中,输入与日志阅读器相关的信息。 日志阅读器通过网络访问已连接的源数据库 (Db2 子系统或数据共享组) 的日志。

  1. 日志阅读器下,选择是要对也用于访问数据源 (在步骤 25中指定的用户) 的日志阅读器使用相同的用户凭证,还是使用不同的用户凭证。 即,您可能想要为日志阅读器指定不同的用户标识和密码,不同的主机 IP 地址或不同的安全 DDF 端口 (比较步骤 2223)。

    这在与 Db2 for z/OS 数据共享组连接时特别有用,因为它允许您为日志阅读器配置专用安全端口和位置别名。

    对日志阅读器使用源数据库连接信息
    用户标识、密码、主机 IP 地址和安全 DDF 端口与源数据库相同
    对日志阅读器使用不同的连接信息
    一个或多个访问信息与用于访问源数据库的信息不同: 用户标识和密码,主机 IP 地址或安全 DDF 端口。
    日志阅读者用户就是启动日志阅读者任务的用户。 您必须使用在网络设置期间授予其 MONITOR2 权限的用户标识(在示例中,用户标识为 USRT001)。 请参阅 向日志阅读器用户授予特权。 仅当该用户与步骤 25中的用户相同时,才选择 将源数据库连接信息用于日志阅读器

    如果选择 对日志阅读器使用不同的连接信息,那么您将看到一些额外的控件:

    1. 主机 字段中,输入配置为日志阅读器的单个 Db2 子系统或 Db2 数据共享组的主机名或 IP 地址。
    2. 安全 DDF 端口 字段中,输入已配置的 DDF 端口号。 请参阅 定义安全网络端口以连接到 Db2 Data Gate 以获取更多信息,
    3. 用户名 字段中,输入日志阅读器用户的标识,如 创建 Db2 Data Gate 用户和授予 z/OS上的特权中所配置。
    4. 密码 字段中,输入该用户的密码。
  2. TLS 证书下,您将看到一个区域,您可以在该区域中从本地计算机拖放证书文件。 另外,您还可以单击该区域中的链接。 它允许您选择要上载的文件。 您需要的证书是您在设置期间为出站网络流量创建和导出的证书。 请参阅 生成并导出 Db2 Data Gate的密钥对和证书。
    注: 如果针对网络设置运行了 DEGUSSLA 样本作业,请注意 DEGUSSLA 会创建两个证书。 第一个是用于 Db2 for z/OSDb2 Data Gate之间的加密网络流量。 二是针对出站网络流量。 这里需要的是第二个。
  3. 密钥库密码 字段中,输入证书的密码。
  4. Data Gate 配对名称 字段中,可以输入 Db2 Data Gate 实例的备用名称 (别名)。 然后,可以在查询或存储过程调用中使用此名称,而不是通常尴尬的全名或原始名称。 在此字段中建议使用缺省值,因此如果未指定您自己选择的名称,那么建议的缺省名称可用作别名。
  5. 单击继续
    此时会显示几条确认消息。 完成此步骤后,您会看到选择表选项卡已选中,并显示在前面。

现在,您有权访问已连接的 Db2 子系统或数据共享组中的表。 下一步是选择 Db2 Data Gate的部分或全部这些表。 然后,所选表的副本将放置在 Db2 Data Gate 服务器上,并可用于连接应用程序。

要点: 如果 Db2 for z/OS 表要与 Db2 Data Gate同步,请考虑以下事项:
  • 这些表必须具有唯一约束(主键或主索引)。 如果在表中不存在或无法确定这样的键,您必须重新定义该表,并指定一个这样的键。 您为该键选择的列必须包含唯一的值,或者在组合后形成这样的值。
  • 如果通过运行 LOAD 实用程序来更新 Db2 for z/OS 表,那么必须为 LOAD 实用程序设置以下关键字:
    • SHRLEVEL CHANGE
    • LOG YES
    否则,同步功能不会检测到 LOAD 实用程序所做的更改,因此不会反映在复制的 Db2 Data Gate 表中。
  • Db2 for z/OS中应用 ALTER TABLE 或 ALTER TABLESPACE 语句之后,可能必须从 Db2 Data Gate 重新装入甚至除去表。
  • Db2 Data Gate 副本的 Db2 源表具有名为 DATA CAPTURE 的属性。 该属性可以包含值 Y 或 N (缺省值) ,对于 yes 或 no。 对表启用增量更新时,该表的 DATA CAPTURE 属性将设置为值 Y。 设置后,此属性值将持续存在,即使稍后禁用表也是如此。 请记住这一点,尤其是在您运行使用 DATA CAPTURE 属性的应用程序时。

    DATA CAPTURE 属性由 ALTER TABLE 语句设置,该语句作为 SYSPROC.ACCEL_SET_TABLES_REPLICATION 存储过程的一部分来运行。 但是,仅当运行该存储过程的用户的标识具有 ALTER TABLE 权限时,才能成功设置该属性。 如果情况并非如此,那么数据库管理员必须为所有表设置属性 Db2 for z/OS

  1. 如果模式或表的列表较长,那么可以使用 搜索并选择要同步的表标题下的搜索字段。 该字段可用来搜索特定的模式名或表名。 搜索字段左侧的下拉列表可用来选择是要搜索模式还是表。 缺省情况下,已选中模式。 如有需要,您可更改此设置。 然后,在该字段中输入搜索字符串,以搜索以搜索字符串开头或包含该字符串的模式名或表名。 该搜索始终会在左侧列出模式名。 如果您已选择搜索表,您会看到包含所搜索表的模式。 选定模式或表的名称显示有黑色的勾选标记。
  2. 选择模式。 在左侧,您会看到已连接的 Db2 子系统或数据共享组中的表模式列表。 请选中模式名前面的一个或多个复选框。 选中某个模式时,就会自动选中该模式中所有的表。 要选中所有的模式,您可选中列标题(模式)左侧的复选框。
    选定模式的表随即列示在页面右侧。
  3. 现在,您已选择一个或多个模式,可以通过清除表名称前面的复选框来减少可供 Db2 Data Gate 实例使用的表数。
    注: 如果在 Db2 Data Gate 连接到 Db2 子系统之后创建了 Db2 源表,那么您可能无法在列表中找到此表。 在这种情况下,请刷新浏览器中的 Web 页面。
  4. 单击继续
    完成选项卡随即选中并显示在前面。 您可以看到表选择摘要:
    主机
    Db2 for z/OS 数据源的主机名。
    端口
    用于连接到 Db2 for z/OS 数据源的安全 DDF 端口。
    位置
    Db2 for z/OS 数据源的位置名。
    模式总数
    您的选择中涉及的模式总数。
    表总数
    选定表的总数。
    估算的表总大小
    根据最新的 RUNSTAT 实用程序结果,估算的选定表总大小(以字节计)。 如果尚未针对该表空间运行 RUNSTAT 实用程序,那么此值将是
  5. 在摘要下,您将看到标记为 启用同步和装入表的交换机。 该开关已启用。
    这项设置会针对所有选定的表触发装入进程。 只有已装入的表会包含数据;如果这些表都已卸载,那么该实例对于建立连接的应用程序来说没有价值。 此设置还确保同步功能持续更新 Db2 Data Gate 实例中的所选表。 请保持该开关启用。 如果将其禁用,那么稍后需要在一个单独的步骤中完成这些任务(即,首先启用同步,然后装入表)。
  6. 单击 完成 以完成 Db2 Data Gate 实例的配置过程。
    重要信息: 配置过程可能需要几分钟才能完成。 在此期间,请勿关闭“配置”页面。

结果

您会看到新实例的仪表板。 另请注意,供应过程会对所选目标数据库 (Db2Db2 Warehouse) 进行更改:
  1. Db2 注册表变量已更新:
    Db2 Db2 Warehouse
    • DB2_WORKLOAD=ANALYTICS_ACCELERATOR
    • DB2_SELECTIVITY=ALL
    • DB2_APPENDERS_PER_PAGE=1
    • DB2LOCK_TO_RB=STATEMENT
    • DB2_WORKLOAD=ANALYTICS_ACCELERATOR
    • DB2CODEPAGE=1208
    • DB2_RUNTIME_DEBUG_FLAGS=SECTION_LEVEL_LOB
    • DB2_SECTION_SCRATCH_BUFFER_SIZE=512K
    • DB2LOCK_TO_RB=STATEMENT
    • DB2_SELECTIVITY=ALL,AJSEL
    • DB2COMPOPT=CDE_NEQN_ENABLE
    • DB2_ATM_CMD_LINE_ARGS="-include-manual-tables -low-priority-update-systables"
    • DB2_OBJECT_TABLE_ENTRIES=65532
    • DB2_EXT_TABLE_SETTINGS=COMM_BUFFER_SIZE:1113840
    • DB2_CDE_DICTIONARY_CACHE_CLEANUP_SCAN_LIST_INTERVAL=30
    • DB2_CDE_DICTIONARY_CACHE_CLEANUP_INTERVAL=60
    • DB2_APPENDERS_PER_PAGE=1
    • DB2_EXTENDED_OPTIMIZATION="COL_RTABLE_UD_THR 0,XGBPART ON FULL NONHDIR,ENABLE_OLAP2AGG ON,NI2NE_WITH_NULLS OUTER"
    • DB2_REDUCED_OPTIMIZATION=
    • DB2_CDE_DATA_SETTINGS=VECTORIZED_INSERT:YES
    • DB2_WLM_SETTINGS=
    • DB2_CDE_AUTO_REORG_RECOMPRESS=
    • DB2_CDE_COMPRESSION_SETTINGS="ENABLE_VECT_ADC:YES"
    • DB2_CDE_DCC=no
    • DB2_STATISTICS="USCC:0;DISCOVER:ON;CGS_SAMPLE_RATE_ADJUST:0"
    • DB2_TCG_DEFAULT_OPTIONS="set percentile_cont_spill on"
    • DB2_CORRELATED_PREDICATES="CGS_CARD_BOUND ON"
    • DB2_SQB_EXTENTMOVEMENT_BUFFER_SIZE=16384
  2. 对于 Db2 Warehouse,将设置或更改以下数据库管理器配置参数:
    • DIAGSIZE 500
    • START_STOP_TIME 5
    • MAX_QUERYDEGREE 6
  3. 对于目标数据库,配置更改为如下所示:
    Db2 Db2 Warehouse
    • PAGE_AGE_TRGT_MCR 1
    • MAXLOCKS 10
    • PCKCACHESZ 65536
    • LOGARCHMETH1 OFF
    • LOGARCHMETH2 OFF
    • SECTION_ACTUALS NONE
    • AUTO_MAINT ON
    • AUTO_TBL_MAINT ON
    • AUTO_REORG ON
    • AUTO_STMT_STATS ON
    • AUTO_RUNSTATS ON
    • EXTBL_LOCATION /
    • AUTO_SAMPLING ON
    • MON_LOCKTIMEOUT HIST_AND_VALUES
    • MON_LOCKWAIT NONE
    • AUTO_CG_STATS ON
    • AUTO_DEL_REC_OBJ ON
    • NUM_DB_BACKUPS 16
    • REC_HIS_RETENTN 91
    • TRACKMOD YES
    • MON_LCK_MSG_LVL 3
    • WLM_AGENT_LOAD_TRGT 24
  4. 该数据库实例会重新启动,以使更改生效。
  5. 以下 SQL 语句会安装一个内存表函数:
    CALL SYSINSTALLOBJECTS('ANACC','C','','')
  6. 添加以下标记文件:
    /mnt/blumeta0/home/db2inst1/dg_config_done.XXX

    其中,XXX 是目标数据库的实例标识。