UNIX** 版快速入门

在客户机上配置 TCP/IP

本节假设 TCP/IP 在客户机和服务器工作站上起作用。参见软件需求, 以了解您的平台的通信协议需求。参见可能的客户机至服务器联网方案,以 了解您的客户机和服务器支持的通信协议。

要在 DB2 客户机上设置 TCP/IP 通信,执行下列步骤:

步骤  1.

标识并记录参数值。

步骤  2.

配置客户机:

  1. 解析服务器的主机地址。
  2. 更新 services 文件。
  3. 编目 TCP/IP 节点。
  4. 编目数据库。

步骤  3.

测试客户机与服务器之间的连接。



提示

由于 TCP/IP 协议的一些特性,TCP/IP 可能无法立即获知另一个主机上的伙伴的故障。 结果是, 使用 TCP/IP 存取远程 DB2 服务器的客户机应用程序, 或该服务器上相应的代理程序有时可能看起来好象挂起。DB2 使用TCP/IP SO_KEEPALIVE 套接字选项来检测何时发生了故障以致 TCP/IP 连接被中断。

若在进行 TCP/IP 连接时遇到问题, 则参考 Troubleshooting Guide 以获得有关如何调整此参数以及其他常见 TCP/IP 问题的信息。

步骤 1. 标识并记录参数值

当继续执行配置步骤时, 填写下表中您的值一列。在开始配置此协议之前,可填写其中一些值。

表 17. 客户机上必需的 TCP/IP 值
参数 说明 样本值 您的值

主机名

  • 主机名 (hostname) 或
  • IP 地址 (ip_address)

使用远程服务器工作站的 hostnameip_address

要解析此参数:

  • 在服务器上输入 hostname 命令以获得 hostname
  • 与网络管理员联系以获取 ip_address, 或输入 ping hostname 命令。
  • 在 UNIX 系统上,还可以使用 DB2/bin/hostlookup hostname 命令。

    其中, DB2 是安装了 DB2 的目录。


 serverhost

9.21.15.235

 

服务名

  • 连接服务名 (svcename) 或
  • 端口号/协议 (port_number/tcp)

services 文件中必需的值。

“连接服务”名是任意的本地名称, 表示服务器上的“连接端口号”(port_number)。

该端口号必须与服务器上 services 文件中 的 svcename 参数所映射至的端口号相同。(svcename 参数位于服务器上的数据库管理程序配置文件中)。此值不能被任何其他应用程序使用, 并且在 services 文件中必须是唯一的。

与数据库管理员联系以获取用来配置服务器的值。

 

server1

 

 

 

 

 

3700/tcp

 

 
节点名 (node_name)

描述正尝试连接的节点的本地别名。 可以选择想要的任何名称;然而,本地节点目录中的所有节点名值必须是唯一的。

db2node  

步骤 2. 配置客户机

下列步骤将客户机配置为使用 TCP/IP 来与服务器通信。用工作表值置换样本值。

步骤 A. 解析服务器的主机地址



快速路径

若您的网络有一个名称服务器, 或您正计划直接指定该服务器的 IP 地址 (ip_address), 则跳过此步骤并继续执行步骤 B. 更新 Services 文件

客户机必须知道它正试图与之建立通信的服务器的 IP 地址。若在网络上不存在名称服务器, 则可直接指定主机名,它映射至本地 hosts 文件中的服务器的 IP 地址 (ip_address)。参见表 18 以获取您的特定平台的 hosts 文件的位置。

若计划支持使用“网络信息服务”(NIS) 的 UNIX 客户机, 且在网络上没有使用名称服务器,则必须更新位于您的 NIS 主服务器上的 hosts 文件。

表 18. 本地 Hosts 文件和 Services 文件的位置
平台 位置
OS/2 etc 环境变量指定。输入 set etc 命令, 以确定您的本地 hostsservices 文件的位置。
Windows NT 或 Windows 2000 位于 winnt\system32\drivers\etc 目录中。
Windows 9x 位于 windows 目录中。
UNIX 位于 /etc 目录中。

编辑客户机的 hosts 文件,并为服务器的主机名添加一项。 例如:

   9.21.15.235     serverhost   # serverhost 的主机地址

其中:

9.21.15.235
表示 ip_address

serverhost
表示 hostname

#
表示描述该项的注解

若服务器与客户机不在相同的域中, 您必须提供一个全限定域名,如 serverhost.vnet.ibm.com,其中, vnet.ibm.com 是域名。

步骤 B. 更新 Services 文件



快速路径

若计划使用端口号 (port_number) 来编目 TCP/IP 节点, 则跳过此步骤并转至步骤 C. 编目 TCP/IP 节点

使用本地文本编辑器,将“连接服务名”和端口号添加至客户机的 services 文件中,以支持 TCP/IP。例如:

   server1  3700/tcp  # DB2 连接服务端口

其中:

server1
表示连接服务名

3700
表示连接端口号。在客户机上指定的端口号必须与在服务器上使用的端口号相匹配。

tcp
表示您使用的通信协议

#
表示描述该项的注解

若计划支持使用“网络信息服务”(NIS) 的 UNIX 客户机, 必须更新位于 NIS 主服务器上的 services 文件。

services 文件 与您可能在步骤 A. 解析服务器的主机地址中编辑过的本地 hosts 文件位于同一目录中。

有关特定平台上 services 文件的位置的信息,参见表 18

步骤 C. 编目 TCP/IP 节点

必须向客户机的节点目录添加用以描述远程节点的项。此项指定客户机将用于存取远程服务器的所选别名 (node_name)、 hostname(或 ip_address)和 svcename(或 port_number)。

要编目 TCP/IP 节点, 执行下列步骤:

步骤  1.

用有效的 DB2 用户 ID 向系统注册。有关详情,参见附录 E, 命名规则

提示

若正在将数据库添加至安装了 DB2 服务器或 DB2 Connect 服务器产品的系统, 则向此系统注册为对实例具有“系统管理”(SYSADM) 权限或“系统控制员”(SYSCTRL) 权限的用户。有关详情, 参见使用系统管理组

此限制由 catalog_noauth 数据库管理程序配置参数控制。有关详情,请参考管理指南

步骤  2.

若您正在使用 UNIX 客户机,则运行启动脚本,如下所示:

   . INSTHOME/sqllib/db2profile    (对于 bash、Bourne 或 Korn shell)
   source INSTHOME/sqllib/db2cshrc (对于 C shell)

其中 INSTHOME 是此实例的主目录。

步骤  3.

通过输入下列命令编目该节点:

   db2 "catalog tcpip node node_name remote [hostname|ip_address]
     server [svcename|port_number]"
   db2 terminate

例如, 要使用服务名 server1 来编目称为 db2node 的节点上的远程服务器 serverhost, 输入下列命令:

   db2 catalog tcpip node db2node remote serverhost server server1
   db2 terminate

要使用端口号 3700 来编目称为 db2node 的节点上具有 IP 地址 9.21.15.235 的远程服务器, 输入下列命令:

   db2 catalog tcpip node db2node remote 9.21.15.235 server 3700
   db2 terminate



提示

若需要更改使用 catalog node 命令设置的值,执行下列步骤:

步骤  1.

在命令行处理器中运行 uncatalog node 命令,如下所示:

    db2 uncatalog node node_name

步骤  2.

用希望使用的值重新编目该节点。

步骤D. 编目数据库

在客户机应用程序可以存取远程数据库之前, 必须在该服务器节点和任何将与其连接的客户机节点上编目该数据库。 缺省情况下,创建数据库时, 它是以与该数据库名 (database_name) 相同的数据库别名 (database_alias) 在服务器上自动编目的。在客户机上使用数据库目录中的信息及节点目录中的信息, 以建立至该远程数据库的连接。

要在客户机上编目数据库,执行下列步骤:

步骤  1.

用有效的 DB2 用户 ID 向系统注册。有关详情,参见附录 E, 命名规则

提示

若正在将数据库添加至安装了 DB2 服务器或 DB2 Connect 服务器产品的系统, 则向此系统注册为对实例具有“系统管理”(SYSADM) 权限或“系统控制员”(SYSCTRL) 权限的用户。有关详情, 参见使用系统管理组

此限制由 catalog_noauth 数据库管理程序配置参数控制。有关详情,请参考管理指南

步骤  2.

填写下列工作表中的您的值一列。

表 19. 工作表:用于编目数据库的参数值
参数 说明 样本值 您的值
数据库名 (database_name) 远程数据库的数据库别名 (database_alias)。 创建数据库时,该数据库将以与数据库名 (database_name) 相同的数据库别名 (database_alias) 在服务器上自动编目, 除非指定了其他名称。 sample  
数据库别名 (database_alias) 客户机上远程数据库的一个任意的本地别名。若未提供别名, 则缺省名称与数据库名(database_name)相同。 数据库别名是当您从客户机连接数据库时所使用的名称。 tor1  
认证 (auth_value) 您的企业所需要的认证值。有关此参数的详情, 请参考 DB2 Connect User's GuideDCS

这意味着仅在主机和 AS/400 上验证用户 ID 和口令。

 
节点名 (node_name) 数据库所在的节点目录名。对节点名 (node_name) 使用上一个步骤中编目该节点所用的相同节点名值。 db2node  

步骤  3.

若您正在使用 UNIX 客户机,则运行启动脚本,如下所示:

   . INSTHOME/sqllib/db2profile    (对于 bash、Bourne 或 Korn shell)
   source INSTHOME/sqllib/db2cshrc (对于 C shell)

其中,INSTHOME 表示实例的主目录。

步骤  4.

通过输入下列命令来编目数据库:

   db2 catalog database database_name as database_alias at node node_name
   db2 terminate

例如,要在节点 db2node 上编目远程数据库 sample, 以使它具有别名 tor1,则输入下列命令:

   db2 catalog database sample as tor1 at node db2node
   db2 terminate



提示

若需要更改使用 catalog database 命令设置的值,执行下列步骤:

步骤  a.

运行 uncatalog database 命令, 如下所示:

   db2 uncatalog database database_alias

步骤  b.

用希望使用的值重新编目该数据库。

步骤 3. 测试客户机至服务器的连接

在配置了用于通信的客户机后, 将需要连接至远程数据库,以测试该连接。

步骤  1.

在服务器上输入 db2start 命令来启动数据库管理程序(若它在引导时未自动启动)。

步骤  2.

若您正在使用 UNIX 客户机,则运行启动脚本,如下所示:

   . INSTHOME/sqllib/db2profile    (对于 Bash、Bourne 或 Korn shell)
   source INSTHOME/sqllib/db2cshrc (对于 C shell)

其中,INSTHOME 表示实例的主目录。

步骤  3.

在客户机上输入下列命令以将该客户机连接至远程数据库:

   db2 connect to database_alias user userid using password

对于在其上认证用户 ID 和口令的系统, 这些用户 ID 和口令的值必须有效。缺省情况下,对于 DB2 服务器,认证发生在服务器上;对于 DB2 Connect 服务器,认证发生在主机或 AS/400 机器上。

若连接成功,您将收到一个信息,它显示您连接的数据库的名称。现在, 可检索该数据库中的数据。例如,要检索系统目录表中列示的所有表名的列表, 在“命令中心”或 CLP 中输入以下 SQL 命令:

     "select tabname from syscat.tables"

当结束使用数据库连接时,输入 command reset 命令以结束数据库连接。

快速路径

现在准备开始使用 DB2。有关更高级的主题,参考管理指南安装和配置补遗

客户机至服务器连接疑难解答

若连接失败,检查下列项目:

服务器上:

  1. db2comm 注册表值包括值 tcpip



    提示

    输入 db2set DB2COMM 命令, 以检查 db2comm 注册表值的设置。有关详情,请参考管理指南

  2. services 文件被正确更新。
  3. 在数据库管理程序配置文件中正确地更新了服务名 (svcename) 参数。
  4. 正确地创建并编目了数据库。
  5. 数据库管理程序已停止并再次启动(在服务器上输入 db2stopdb2start 命令)。


提示

若在启动协议的连接管理程序时出现问题, 则出现警告信息,而错误信息将记录在 INSTHOME/sqllib/db2dump 目录的 db2diag.log 文件中。

有关 db2diag.log 文件的详情, 参考 Troubleshooting Guide

客户机上:

  1. 正确地更新了 serviceshosts 文件(若使用过的话)。
  2. 使用正确的主机名 (hostname) 或 IP 地址 (ip_address) 编目了此节点。
  3. 该端口号与在服务器上使用的端口号相匹配,或服务名映射至在服务器上使用的端口号。
  4. 在数据库目录中指定的节点名 (node_name) 是否指向节点目录中的正确项。
  5. 已正确地编目了数据库, 将服务器的数据库别名 (在服务器上创建该数据库时编目的 database_alias)  用作客户机上的数据库名 (database_name)。

验证这些项目后,若连接仍失败,则参考 Troubleshooting Guide


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]