DB2 10.1 DBA for Linux, UNIX, and Windows 认证准备(611 考试),第 8 部分 : 连接性和网络化

本教程将介绍有关编目数据库、远程服务器(节点)和 Database Connection Services (DCS) 数据库的通信及流程配置的内容。您还将获得有关 DB2® Discovery 的介绍,了解如何管理到 System z® 和 System i® 主机数据库的连接。另外,本教程还将介绍轻量级目录访问协议 (LDAP)。本教程帮助您为 DB2® 10.1 DBA for Linux®, UNIX®, and Windows® 认证考试 611 的第 8 部分做准备。

Darliene Hopes, DB2 解决方案迁移顾问, IBM

Darliene HopesDarliene Hopes 是 IBM 的 DB2 解决方案迁移顾问。她从业以来一直潜心于 DB2 for Linux, UNIX, and Windows 的研究。她是 IBM 认证的 DB2 数据库管理员,最近一直为 DB2 社区投稿。



2013 年 8 月 19 日

开始之前

关于本系列

您是否想通过 IBM® DB2 10.1 DBA for Linux, UNIX, and Windows 认证?如果是的话,那么您将非常适合学习本系列教程。“DB2 10.1 DBA 认证考试 611” 系列教程将提供一些主题来帮助您更好地做准备,从而顺利通过考试。即使您并不参加考试,而只是想熟悉和了解 DB2 10.1 for Linux, UNIX, and Windows 提供的许多新特性和功能,那么本教程也十分值得一读。

关于本教程

在 DB2 10.1 DBA for Linux, UNIX, and Windows(考试 611)中,6.5% 的内容是考察您配置客户端/服务器连接的能力以及展示您对 DB2 发现和 LDAP 知识的掌握程度。构成这部分考试内容的问题旨在评估以下方面:

  • 对本地和远程 DB2 数据库进行编目的能力
  • 对 DB2 服务器进行编目的能力
  • 对 DB2 Discovery 的了解程度
  • 对 LDAP 概念的掌握程度

目标

本教程内容涵盖了 DB2 10.1 DBA for Linux, UNIX, and Windows 考试 611 第 8 部分的目标(参见 Test 000-611: DB2 10.1 DBA for Linux, UNIX, and Windows)。完成本教程后,您应当掌握以下内容:

  • 对 DB2 数据库进行编目
  • 对远程服务器进行编目
  • 了解访问 DB2 for z/OS® 或 DB2 for i5/OS™ 数据库中所存储数据的步骤
  • 了解 DB2 锁的特征(所有平台上共享的常见锁)
  • 了解配置参数如何控制 DB2 Discovery 的行为
  • 对数据库/服务器注册 LDAP

先决条件

要理解这里介绍的一些内容,您应当熟悉以下术语:

  • 身份验证 (Authentication) 是指系统对用户身份进行验证的过程。用户身份验证是通过 DB2 数据库系统以外的一个安全设施完成的,即身份验证安全插件模块。
  • 实例 (Instance) 是一个逻辑数据库管理环境,您在其中对数据库编目并设置配置参数。
  • 配置 (Configuration) 是指对系统的排列和选项进行设置,从而改变系统的性能和功能。
  • 客户端 (Client) 指需要服务器提供服务的系统或应用程序。
  • 服务器 (Server) 是向其他计算机和程序提供数据库服务的程序。
  • 远程数据库 (Remote) 指位于另一台服务器上的数据库。

系统需求

您不需要 DB2 副本就可完成本教程。然而,如果您曾访问过 DB2 数据库服务器,那么您将能够测试本文给出的一些命令和概念。您可以从 IBM 下载 DB2 Express-C 的免费副本。


配置通信

在客户端/服务器环境中,存储在一个服务器中的数据库通常可以通过一个分布式连接由远程保存的应用程序访问。这个分布式连接还允许管理员远程管理数据库和服务器。要实现与服务器的这种通信,必须使用服务器所识别出的特定类型的通信协议。在相同的情况下,每个服务器必须使用某种通信协议来检测来自客户端的入站请求。通常,这是通过使用每一台机器上的操作系统提供所需的通信协议支持得以实现的。但在某些情况下,您可以使用一个单独的附加产品所提供的支持。无论通过哪种方式,都必须配置客户端和服务器,以便使用 DB2 可识别的通信协议,

DB2 10 可识别以下几种通信协议:

  • NetBios
  • TCP/IP(在大多数情况下使用的协议)
  • 命名管道 (Named pipe)

在客户端或服务器上安装 DB2 后,如果 DB2 可以识别协议,该协议将自动进行配置以使用为特定机器设置的通信协议。然后,在创建 DAS 实例和默认实例时,将收集有关所有受支持通信协议的信息并保存在实例的配置文件中。对这些信息的更改(包括新协议激活或对现有协议的重新配置),都必须对每个实例进行手动配置,之后这些更改才能生效,因为这些更改不是自动更新的。

手动配置通信

要手动配置通信或对通信配置进行更改,使用 Data Studio 内的 Setup 通信对话框是最简单的方式。另一种配置通信的方式是:

  1. 将值 TCPIP 分配给 DB2COMM 注册表变量。必须在所需的通信协议可用之前始终更新 DB2COMM 注册表变量值。执行下面的命令将把注册表值设置为 TCPIP:db2set DB2COMM=TCPIP
  2. 将数据库服务器用于从远程客户机接收通信的 TCP/IP 端口的名称设置为 DB2 Database Manager 配置文件的 svcename 参数。执行 UPDATE DATABASE MANAGER CONFIGURATION 命令将设置该参数。下面是进行设置的一个命令示例:UPDATE DBM CFG USING SVCENAME db2c_serv1
  3. 如果需要,在数据库服务器上更新服务文件。TCP/IP 服务文件将识别一些端口,服务器应用程序将在这些端口上侦听来自客户端的请求,因此,如果您在 Database Manager 配置文件的 svceneame 参数中指定了一个服务名称,那么正确的服务名称到端口号/协议的映射将必须添加到服务文件中。如果将端口号放到了 svcename 参数中,则不需要对服务文件进行更新。下面是 DB2 服务文件中的一个条目示例:db2c_serv1 50001/tcp

DB2 目录文件

DB2 使用目录文件跟踪数据库在网络上的位置。这些文件还告诉 DB2 实例如何根据用户和应用程序建立与这些数据库的连接。

有四种类型的目录:

  • 系统数据库目录:包含的信息包括此实例类别下的每个数据库的名称和位置。
  • 本地数据库目录:包含的信息包括从该位置可访问到的数据库的名称和位置。
  • 节点目录:包含的信息包括识别可以找到远程系统或实例的方式和位置。
  • Database Connection Services (DCS) 目录:包含用于连接到 DRDA 主机数据库的信息。

对远程服务器和数据库进行编目

当对一台服务器进行通信配置后,所有希望访问该服务器上的数据库的客户端都必须进行相应配置,以实现与该服务器的通信。之后,来自服务器和远程数据库的条目必须添加到系统数据库和客户端上的节点目录中。如果客户端打算通过 DB2 Connect 连接到 System z 和 System i 数据库,也必须将条目添加到 DCS 目录中。这是通过一个称为编目 的流程实现的,在该流程中,条目都添加到 DB2 的目录中。

对 DB2 数据库编目

大多数用户永远都不需要关心编目过程,因为数据库在创建后将隐式进行编目。但是,如果准备访问某个远程服务器上存储的数据库,则需要熟悉 DB2 数据库编目过程。这可以通过使用 Data Studio 或执行 CATALOG DATABASE 命令完成。

清单 1. 编目数据库语法
CATALOG [DATABASE | DB] [DatabaseName]
<AS [Alias]>
<ON [Path] | AT NODE [NodeName]>
<AUTHENTICATION [AuthenticationType]>
<WITH "[Description]">
表 1. 编目数据库属性
DatabaseNameAliasPathNodeNameAuthenticationTypeDescription
分配给将进行编目的数据库的名称在编目时分配给数据库的别名位置(驱动程序或目录),将在其中以物理方式存储与所编目数据库相关联的目录层次结构和文件将要编目的数据库所在的节点;应当匹配节点目录文件中的信息在用户尝试访问数据库时识别出进行身份验证的位置和方式描述将在编目数据库的数据库目录中创建的数据库条目的注释(必须使用引号括起)

示例:要对 /home/db2info 目录中的数据库 DUMMY_DB 进行编目,执行下面的 CATALOG DATABASE 命令:

CATALOG DATABASE dummy_db AS test
ON /home/db2info
AUTHENTICATION SERVER

对远程服务器(节点)编目

对节点(服务器)编目的过程与对数据库进行编目的过程不一样。通常,节点是隐式编目的,而远程数据库是通过 Data Studio 编目。要显式地对节点(服务器)编目,可以执行 CATALOG … NODE 命令,该命令对应于访问所编目服务器时使用的通信协议。该命令有以下四种形式:

  • CATALOG LOCAL NODE
  • CATALOG LDAP NODE
  • CATALOG NAMED PIPE NODE
  • CATALOG TCPIP NODE

这些命令的语法是相似的,惟一不同的是许多选项特定于与这些命令相关的通信协议。由于 TCP/IP 是最常用的通信协议,因此我们将研究 CATALOG … NODE 形式的命令的语法。

清单 2. 编目远程服务器语法
CATALOG <ADMIN> [TCPIP | TCPIP4 | TCPIP6] NODE [NodeName]
REMOTE [IPAddress | HostName]
SERVER [ServiceName | PortNumber]
<SECURITY SOCKS>
<REMOTE INSTANCE [InstanceName]>
<SYSTEM [SystemName]>
<OSTYPE [SystemType]>
<WITH "[Description]">
表 2. 编目远程服务器属性
NodeNameIPAddressHostNameServiceNamePortNumberInstanceNameSystemNameSystemNameDescription
分配给将要进行编目的节点的别名将要与之通信的远程数据库所在的服务器 IP 地址 (IPv4/IPv6)对 TCP/IP 网络已知的主机名(将要与之通信的远程数据库所在的服务器名称)服务器上的 DB2 Database Manger 实例用于通信的服务名称服务器上的 DB2 Database Manger 实例用于通信的端口号将要与之建立连接的服务器实例的名称用于识别服务器工作站的 DB2 系统名服务器工作站上使用的 OS 类型(AIX®、Windows®、HP-UX、Sun、OS/390®、OS/400®、VM、VSE 和 Linux®)描述将在编目节点的节点目录中创建的节点条目的注释(必须使用引号括起)

无论是远程 TCP/IP 主机名还是远程 IP 地址都可用于对节点进行编目。类似地,远程 TCP/IP 服务名或远程 TCP/IP 端口号也都可用于节点编目。

示例 1:要对名为 DB2HOST 的 AIX 服务器编目节点,该服务器拥有一个名为 DB2INST1 的 DB2 实例,该实例在端口 60001 上侦听,且为其分配别名 REMOTE_SV,那么执行以下命令:

CATALOG TCPIP NODE remote_sv
REMOTE db2host
SERVER 60001
OSTYPE AIX
WITH "A remote AIX TCP/IP node"

示例 2:要对一个 Linux 服务器编目节点,该服务器的 IPv4 地址为 192.0.32.71,在端口 50001 上侦听一个名为 DB2INST1 的 DB2 实例,并为其分配别名 SERVER1,那么可以按如下所示执行命令:

CATALOG TCPIP4 NODE server1
REMOTE 192.0.32.71
SERVER 50001
OSTYPE LINUX

您可以在 使用命令行处理器配置客户端到服务器的连接 中找到更多示例。

对 DCS 数据库编目

对 Database Connection Services (DCS) 数据库的编目类似于常规 DB2 数据库的编目过程。要对这种数据库进行编目,可以通过以下语法使用 CATALOG DCS DATABASE 命令:

清单 3. CATALOG DCS DATABASE 命令语法
CATALOG DCS [DATABASE | DB] [ALIAS]
<AS [TargetName]>
<AR [LibraryName]>
<PARMS "[ParameterString]">
<WITH "[Description]">
表 3. CATALOG DCS DATABASE 属性
AliasTargetNameLibraryNameParameterStringDescription
将要进行编目的目标数据库的别名将要进行编目的目标主机数据库的名称将要进行加载并用于访问 DCS 目录中列出的远程数据库的应用程序发起者库的名称(必须用引号括起)将要在调用时传递给应用程序发起者的参数字符串描述将在编目数据库的 DCS 目录中创建的数据库条目的注释(必须使用引号括起)

示例:要对 z/OS 服务器(名称为 INFO,别名为 DATA_SYS)上的 TEST_DB 子系统中的 DB2 for z/OS 数据库进行编目,可以通过执行 CATALOG DCS DATABASE 命令实现:

CATALOG DCS DATABASE data_sys
AS test_db
WITH "DB2 for z/OS LOCATION NAME TEST_DB"

有关更多信息,请参阅 使用命令行处理器配置客户端到服务器的连接


配置与 System z 和 System I 数据库服务器的通信

System z 和 System i 通信

要访问 DB2 for z/OS 或 DB2 for i5/OS 数据库中存储的数据:

  1. 在 DB2 Connect 服务器上配置 TCP/IP 通信。
  2. 编目 TCP/IP 节点。
  3. 将 System z 或 System i 数据库编目为 DCS 数据库。
  4. 编目 System z 或 System i 数据库。
  5. 将实用程序和应用程序绑定到 System z 或 System i 数据库服务器。

建立 DB2 Connect 和 System z 或 System i 主机数据库连接的过程与配置客户端以访问远程服务器上存储的数据库的过程大致相同。区别在于主机数据库必须编目为 DCS 数据库,并且 DB2 实用程序和应用程序必须绑定到 System z 或 System i 主机数据库。

绑定实用程序和应用程序

要绑定实用程序和应用程序,必须从 DB2 Connect 服务器上执行下面的步骤:

  1. 访问 DB2 Connect 服务器上存放 DB2 实用程序和应用程序绑定文件的目录(Linux/UNIX - sqllib/bnd,Windows - sqllib 目录的 bnd 子目录,sqllib 是安装 DB2 的目录)
  2. 执行 CONNECT TO [DatabaseAlias] 命令,建立与 System z 或 System i 服务器上的数据库的连接。

    DatabaseAlias:在进行数据库编目时分配给 System z 或 System i 服务器上的数据库的别名。

    有关 db2schema.bnd 绑定文件的注意事项

    当创建数据库并迁移到 Linux、UNIX 或 Windows DB2 服务器时,在创建和迁移过程中,db2schema.bnd 文件将自动绑定到数据库。该文件只存在于这类服务器中,用于创建一个提供系统编目功能支持的软件包。如果这个包由于某些原因而遗失,那么该文件必须重新绑定到数据库。

    该文件可以在 Linux/UNIX 的 sqllib/bnd 子目录中找到,或在 Windows 操作系统下 DB2 的安装目录 sqllib 的 bnd 子目录下找到。该文件可以通过执行 BIND db2schema.bnd BLOCKING ALL GRANT PUBLIC 命令绑定到数据库。

  3. 执行以下命令,将 DB2 实用程序和应用程序绑定到 System z 或 System i 服务器上的数据库; BIND @db2ubind.lst MESSAGES ubind.msg GRANT PUBLIC; BIND @db2cli.lst MESSAGES clibind.msg GRANT PUBLIC;

    db2ubind:用于为 DB2 数据库实用程序创建包的绑定文件的列表。
    db2cli.lst:用于为 DB2 Call-Level Interface (CLI) 和 DB2 ODBC 驱动程序创建包的绑定文件的列表。

  4. 执行 CONNECT RESET; 命令,中断与 System z 或 System i 服务器上的存储数据库的连接。

DB2 discovery

DB2 discovery 提供了对远程服务器和数据库进行编目的简单方式,不需要了解详细的特定于通信的信息。在由客户端调用时,DB2 将通过网络广播一个 discovery 请求。网络上的每个 DB2 服务器都进行了配置,以支持 discovery 过程提供服务器上发现的实例列表形式的响应、有关每个实例支持的通信协议的信息,以及每个实例内发现的数据库的列表。

DB2 discovery 使用以下两种方法之一处理 discovery 请求:search 和 known。在使用 search discovery 方法时,将在网络中搜索有效的 DB2 服务器和数据库,并向客户端返回找到的所有服务器、实例和数据库的列表,以及进行编目和连接所需的通信信息。在使用 known discovery 方法时,将在网络中搜索使用特定通信协议的特定服务器。与使用 search 方法一样,在找到特定服务器时,将向客户端返回服务器上找到的所有实例和数据库的列表,以及进行编目和连接所需的信息。

DAS 实例配置文件中的参数值、(客户端和服务器上)每个实例的 DB2 Database Manager 配置文件,以及实例内每个数据库的数据库配置文件将决定客户端是否可以发出 DB2 discovery 请求,如何完成该请求,以及某个特定服务器是否会进行响应。这些参数控制以下内容:

  • 客户端是否可以发出 DB2 discovery 请求。
  • 某个服务器是否可以通过 DB2 discovery 定位,该服务器是否仅在使用 search discovery 方法时可以定位,或者在使用 search 或 known discovery 方法时都可以定位。
  • 实例是否可以通过一个 discovery 请求定位。
  • 数据库是否可以通过一个 discovery 请求定位。

表 1 描述了用于控制 DB2 discovery 行为的配置参数。

表 4. 控制 DB2 discovery 行为的配置参数
参数值/默认值描述
客户端实例 (DB2 数据库管理器配置文件)
discoverDISABLE、KNOWN 或 SEARCH确定客户端实例将要采取的 DB2 discovery 操作。
如果该参数被设置为 SEARCH,那么客户端实例可以发出 search 或 known discovery 请求。如果设置为 KNOWN,那么客户端实例只能发出 known discovery 请求。如果设置为 DISABLE,客户端实例将无法发出 discover 请求。
discover_instENABLE 或 DISABLE
默认值:ENABLE
指定该实例是否可由其他 DB2 discovery 请求检测到。
服务器 DAS 实例 (DAS 配置文件)
discoverDISABLE、KNOWN 或 SEARCH
默认值:SEARCH
确定客户端实例将要采取的 DB2 discovery 操作。
如果该参数设置为 SEARCH,服务器将响应 search 和 known discovery 请求。如果设置为 KNOWN,服务器将只响应 known discovery 请求。如果设置为 DISABLE,服务器将不会响应 discovery 请求。
服务器实例 (DB2 数据库管理器配置文件)
discoverDISABLE、KNOWN 或 SEARCH
默认值:SEARCH
确定服务器实例将要采取的 DB2 discovery 操作。
如果该参数设置为 SEARCH,服务器实例将发出 search 或 known discovery 请求。如果设置为 KNOWN,服务器实例将只发出 known discovery 请求。如果设置为 DISABLE,服务器实例无法发出 discovery 请求。
discover_instENABLE 或 DISABLE
默认值:ENABLE
确定在某个服务器上找到的特定实例的信息是否将包含在该服务器对 discovery 请求的响应中。
如果该参数设置为 ENABLE,那么服务器将在其对 search 和 known discovery 请求的响应中包含有关该实例的信息。如果设置为 DISABLE,那么服务器将不会在其 discovery 请求的响应中包含实例信息(因此也不会包含受该实例控制的任何数据库的信息)。
该参数提供了一种向 DB2 discovery 隐藏某个实例及其所有数据库的方式。
服务器数据库 (数据库配置文件)
discover_dbENABLE 或 DISABLE
默认值:ENABLE
确定在某个服务器上找到的特定数据库的信息是否将包含在该服务器对 discovery 请求的响应中。
如果该参数设置为 ENABLE,那么服务器将在其对 search 和 known discovery 请求的响应中包含数据库的信息。如果设置为 DISABLE,服务器将不会在其对 discovery 请求的响应中包含该数据库的信息。
该参数提供了一种向 DB2 discovery 隐藏单个数据库的方式。

在服务器层面、实例层面和数据库层面,您可以启用或禁用 DB2 discovery 并控制 discovery 请求的发起方式。您还可以配置服务器,使 DB2 discovery 在生成 discovery 请求时无法发现服务器的一个或多个实例或数据库。从图 1 中可以看到,使用配置参数控制 DB2 discovery 的行为可以阻止其查看服务器上的特定实例和数据库。

图 1. 配置参数影响 DB2 discovery 行为的示例
配置参数影响 DB2 discovery 行为的示例

点击查看大图

图 1. 配置参数影响 DB2 discovery 行为的示例

配置参数影响 DB2 discovery 行为的示例

轻量级目录访问协议

什么是 LDAP?

LDAP 是一种对目录服务进行访问的行业标准方法。一个目录服务 就是一个有关分布式环境内多个系统和服务的资源信息的存储库。目录服务还为客户端和服务器提供了对这些资源的访问权限。在创建数据库时,每个数据库服务器向 LDAP 目录提供数据库信息。当客户端连接到一个数据库时,可以从 LDAP 目录检索到服务器的编目信息。因此,每个客户端不必在本地的每台计算机中存储编目信息。客户端应用程序在 LDAP 目录中搜索连接到数据库所需的信息。从 LDAP 目录服务器检索到信息后,信息将根据 dir_cache 数据库管理器配置参数和 DB2LDAPCACHE 注册表变量进行保存或缓存到计算机。dir_chache 数据库管理器配置参数用于将数据库、节点和 DCS 目录文件保存到内存缓存中。目录缓存将一直由应用程序使用,直到该应用程序关闭为止。DB2LDAPCACHE 注册表变量用于将数据库、节点、DCS 目录文件存储到一个本地磁盘缓存中。

在访问 LDAP 目录中的信息之前,应用程序或用户首先需要通过 LDAP 服务器的身份验证。身份验证过程被称为 LDAP 服务器绑定。必须对 LDAP 目录中的信息应用访问控制,从而防止匿名用户添加、删除或修改信息。默认情况下,访问控制允许任何人对 LDAP 中的数据库和节点条目进行读访问。读和写访问只授权给目录管理员,以及数据库、节点条目和用户配置文件的对象所有者或创建者。如果用户不具备目录管理员访问权限,那么将无法访问另一名用户的配置文件。

DB2 提供 AIX、Solaris、HP-UX 11.11、Windows 和 Linux 上的 IBM LDAP 客户端支持。下表显示了 DB2 所支持的 LDAP 客户端和服务器配置。

表 5. 受支持的 LDAP 客户端和服务器
受支持的 LDAP 客户端和服务器配置IBM Tivoli® Directory 服务器Microsoft® Active Directory 服务器Sun One LDAP 服务器
IBM LDAP Client支持支持支持
Microsoft LDAP/ADSI Client支持支持支持
根据表 1 进行修改,可在 “Supported LDAP client and server configurations in the IBM DB2 10.1 Information Center for Linux, UNIX, and Windows (http://pic.dhe.ibm.com/infocenter/db2luw/v10r1/topic/com.ibm.db2.luw.admin.dbobj.doc/doc/r0006009.html)” 下找到。

对 DB2 服务器注册 LDAP

必须对 DB2 服务器实例注册 LDAP,从而发布客户端应用程序使用的协议配置信息,并连接到 DB2 服务器实例。在注册数据库服务器实例时,必须指定一个节点名。节点名将在客户端应用程序连接到(或附加到)服务器时使用。您可以通过使用 CATALOG LDAP NODE 命令为 LDAP 节点编目另一个别名。

下面所示的 REGISTER 命令用于注册服务器:

db2 register db2 server in ldap
as ldap_node_name
protocol tcpip

协议条款指的是在连接到该数据库服务器时使用的通信协议。每个计算机在 LDAP 中的 ldap_node_name 必须具有惟一性。

REGISTER 命令可以向远程 DB2 服务器发出。为此,您必须在注册远程服务器时指定远程计算机名称、实例名称和协议配置参数。该命令的用法如下:

db2 register db2 server in ldap
as ldap_node_name
protocol tcpip
hostname host_name
svcename tcpip_service_name
remote remote_computer_name
instance instance_name

在对远程 DB2 服务器注册 LDAP 时,如果已配置了 TCP/IP,那么计算机名称必须与 TCP/IP 主机名相同。

对 DB2 数据库注册 LDAP

在实例内部创建数据库的过程中,将自动对数据库注册 LDAP。实现注册后,远程客户端将连接到数据库,而不必对客户端计算机上的数据库和节点编目。当客户端尝试连接到数据库时,如果数据库不存在于本地计算机上的数据库目录中,那么将对 LDAP 目录进行搜索。

如果 LDAP 目录中存在数据库的名称,那么仍将在本地计算机上创建数据库,但是将返回一条警告消息,表示 LDAP 目录中存在命名冲突。因此,您可以手动对 LDAP 目录中的数据库编目。用户可以在 LDAP 中的远程服务器上注册数据库,方法是使用 CATALOG LDAP DATABASE 命令。在注册远程数据库时,您需要指定表示远程数据库服务器的 LDAP 节点的名称。在注册数据库之前,您必须使用 REGISTER DB2 SERVER IN LDAP 命令在 LDAP 中注册远程数据库服务器。

要在 LDAP 中手动注册数据库,使用 CATALOG LDAP DATABASE 命令。

db2 catalog ldap database dbname
at node node_name
with "My LDAP database"

要从客户端应用程序中对数据库注册 LDAP,可调用 db2LdapCatalogDatabase API。

创建 LDAP 用户

在使用 IBM Tivoli 目录时,在 LDAP 中存储用户级信息之前必须定义 LDAP 用户。您可以创建一个 LDAP 用户,方法是创建一个 LDIF 文件来包含有关该用户对象的所有属性,然后运行 LDIF 导入实用程序将对象导入到 LDAP 目录中。IBM Tivoli Directory Server 提供的 LDIF 实用程序为 LDIF2DB。

下面的示例使用 LDIF 命令导入了 LDIF 文件,其中使用了 IBM LDIF 导入实用程序: LDIF2DB -i newuser.ldif

配置 LDAP 用户

在使用 Microsoft LDAP 客户端时,LDAP 用户与操作系统用户帐户一致。然而,当使用 IBM LDAP 客户端时,在使用 DB2 数据库管理器之前,必须为当前已的登录用户配置 LDAP 用户识别名 (DN) 和密码。

要配置 LDAP 用户识别名 (DN) 和密码,使用 db2ldcfg 实用程序:

db2ldcfg -u userDN -w password --> set the user's DN and password
         -r                    --> clear the user's DN and password

结束语

存储在服务器上的数据库由远程存储的应用程序通过分布式连接访问,这允许管理员远程管理数据库和服务器。为了实现这个过程,必须使用可识别的通信协议。以下协议为 DB2 可识别的协议:

  • NetBios
  • TCP/IP(最常用协议)
  • 命名管道

要访问远程服务器上存储的数据库,您必须对数据库编目。还必须对包含该数据库的本地服务器上的节点编目。

要访问 DB2 for z/OS 或 DB2 for i5/OS 数据库中存储的数据:

  1. 在 DB2 Connect 服务器上配置 TCP/IP 通信
  2. 对 TCP/IP 节点编目
  3. 将 System z 或 System i 数据库编目为 DCS 数据库
  4. 编目 System z 或 System i 数据库
  5. 向 System z 或 System i 数据库服务器绑定实用程序和应用程序

DB2 discovery 提供了对远程服务器和数据库进行编目的简单方式,而不需要了解详细的特定于通信的信息。DB2 discovery 使用以下两种方法之一处理 discovery 请求:search 和 known。在服务器、实例和数据库层面,您可以启用或禁用 DB2 discovery,并以此控制 discovery 请求的发出方式。

LDAP 是一种对目录服务进行访问的行业标准方法。在创建数据库时,每个数据库服务器向 LDAP 目录提供数据库信息。DB2 提供 AIX、Solaris、HP-UX 11.11、Windows 和 Linux 上的 IBM LDAP 客户端支持。

本教程的目的是向您介绍配置通信和对数据库/服务器编目的流程,以及介绍 DB2 discovery 和 LDAP 的概念。本教程旨在帮助您准备 DB2 10.1 DBA for Linux, UNIX, and Windows 认证考试(考试 611)。您现在应当对 DBW 连接性和网络化功能有了较好的了解,并掌握了以下知识:

  • 对本地和远程 DB2 数据库进行编目
  • 对远程服务器进行编目
  • 了解访问 DB2 for z/OS® 或 DB2 for i5/OS™ 数据库中所存储数据的步骤
  • 了解 DB2 锁的特征(所有平台共享的常见锁)
  • 了解配置参数如何控制 DB2 Discovery 的行为
  • 对数据库/服务器注册 LDAP

参考资料

学习

获得产品和技术

  • 使用 IBM 试用软件 构建您的下一个开发项目,可直接从 developerWorks 下载获得。
  • 您现在可以免费试用 DB2。下载 DB2 Express-C,这是为社区提供的 DB2 Express Edition 的免费版本,它具有与 DB2 Express Edition 相同的核心数据特性,为构建和部署应用程序提供了坚实的基础。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=941354
ArticleTitle=DB2 10.1 DBA for Linux, UNIX, and Windows 认证准备(611 考试),第 8 部分 : 连接性和网络化
publish-date=08192013