编目DB2数据库(原创)

为什么要对数据库进行编目

在创建数据库时DB2会自动地对数据库进行编目。它在本地数据库目录中为数据库编写一个条目,在系统数据库目录中编写另一个条目。如果数据库是从远程客户机(或者是从同一台机器上另一个实例执行的客户机)创建的,那么也会在客户机实例上的系统数据库中创建一个条目。

那么,为什么必须对数据库进行编目?如果没有编目信息,应用程序就无法连接数据库!DB2 有多个用来访问数据库的目录。这些目录让DB2能够找到已知的数据库,无论它们是在本地系统上,还是在远程系统上。系统数据库目录包含一个列表和指针,它们指出可以找到每个已知数据库的地方。节点目录包含的信息指出如何以及在哪里能够找到远程系统或实例。要在这些目录中放进一个条目,需要使用CATALOG 命令。要删除条目,应该使用 UNCATALOG 命令。

CATALOG 命令

CATALOG 命令的语法图如下。
>-CATALOG--+-DATABASE-+--database-name--+-----------+---------->
           '-DB-------'                 '-AS--alias-'
 
>--+-------------------+---------------------------------------->
   +-ON--+-path--+-----+
   |     '-drive-'     |
   '-AT NODE--nodename-'
 
>--+--------------------------------------------------------------+-->
   '-AUTHENTICATION--+-SERVER-----------------------------------+-'
                     +-CLIENT-----------------------------------+
                     +-SERVER_ENCRYPT---------------------------+
                     +-KERBEROS TARGET PRINCIPAL--principalname-+
                     +-DATA_ENCRYPT-----------------------------+
                     '-GSSPLUGIN--------------------------------'
 
>--+------------------------+---------------------------------->
   '-WITH--"comment-string"-'

对数据库进行编目相当简单明了。在一般情况下,在创建数据库时不需要这个步骤。但是,如果以前没有对数据库进行过编目,希望为这个数据库设置一个 ALIAS(替代名),或者需要从客户机访问这个数据库,那么可能需要这么做。
在客户机上进行编目

需要连接 DB2 数据库的用户应该在本地工作站上对数据库进行编目。为此,用户要使用 CATALOG 命令或 DB2 Configuration Assistant(CA)。CA 允许维护应用程序可以连接的一个数据库列表。它对节点和数据库进行编目,而对用户隐藏了这些任务固有的复杂性。

在客户机上对数据库进行编目有三种方法:
使用发现的自动配置
使用访问配置文件的自动配置
手工配置

教程中将描述所有这些方法。从客户机的角度来看,使用配置文件或发现对数据库进行编目是最容易的方法。手工配置要求了解数据库的位置和特征才能成功地执行命令。

要使用自动配置,DBA 必须为他的用户生成配置文件,或者在 DB2 数据库中设置发现服务。
使用发现的自动配置

如果使用这种自动配置,那么不需要提供任何详细的通信信息,就能够让 DB2 客户机与 DB2 服务器进行联系。

要想使用发现特性将数据库添加到系统中,需要执行以下步骤。(注意,必须运行并启用 DB2 Administration Server,CA 的发现特性才能返回关于本地 DB2 系统的信息。)
启动 CA。启动 CA 的方法是在 Windows 上通过 Start 菜单,或者在 Windows 或 UNIX 上通过 db2ca 命令。
在 CA 菜单栏上在 Selected 下面,选择 Add Database Using Wizard。
选择 Search the Network 单选按钮并点击 Next。
双击 Known Systems 旁边的文件夹,列出客户机已知的所有系统。
点击一个系统旁边的加号( +),列出这个系统上的实例和数据库。选择要添加的数据库,然后点击 Next。
在 Database Alias 字段中输入本地数据库别名。如果愿意,还可以在 Comment 字段中输入描述这个数据库的注释。
如果计划使用 ODBC,那么将这个数据库注册为 ODBC 数据源。必须已经安装了 ODBC 才能执行这个操作。
点击 Finish

使用访问配置文件的自动配置

访问配置文件是另一种配置 DB2 客户机来远程访问DB2 服务器及其数据库的自动方法。访问配置文件包含客户机对 DB2 服务器上的数据库进行编目所需的信息。

与发现特性一样,在使用访问配置文件时,不需要提供任何详细的通信信息,就能够让 DB2 客户机与 DB2 服务器进行联系。

有两种访问配置文件:
服务器访问配置文件是从DB2服务器创建的。它们包含 DB2 服务器已经编目的所有实例和数据库的相关信息。
客户机访问配置文件用来在客户机之间复制编目的数据库和/或客户机设置(DBM CFG,CLI/ODBC)。
这两种配置文件都可以从一个 DB2 系统导出,然后导入另一个 DB2 系统。

通常会使用访问配置文件配置大量客户机。可以使用 DB2 Control Center 导出并导入服务器访问配置文件,使用 Configuration Assistant(CA)导出并导入客户机访问配置文件。

如果有大量需要配置的客户机,还应该考虑使用 LDAP(轻量目录访问协议)。可以使用 LDAP将编目信息存储在一个中心位置。每个客户机只需要知道这个中心位置,就能够连接网络上可用的任何数据库。关于 LDAP 的更多细节请参考 DB2 Administration Guide。
手工配置

还可以手工配置数据库连接。为此,需要知道在客户机和服务器之间设置通信的细节。

可以对主机数据库使用手工配置;使用发现特性通过DB2 Connect服务器进行连接;或者按照前面的描述使用来自客户机的间接连接的信息。手工配置连接有两种方法:
1、使用 CA 中的 Manual 选项。在这种情况下,会通过 GUI 界面提示您输入所需的所有值。
2、使用 CATALOG NODE/DB 命令。在这种情况下,必须知道命令的语法并从命令行界面输入命令。

在这两种情况下,都可以通过手工配置利用在使用自动方法时不可用的一些高级选项,例如可以选择在哪里执行身份验证。

命令行CATALOG NODE/DB方法是这两者中比较麻烦的,但是它有一个优点:可以将配置步骤保存成脚本,这样就可以在必要时重新进行配置。
使用 CA 对数据库进行编目

在下面几节中,您将看到使用 Configuration Assistant 对数据库进行手工编目所需的步骤。

在开始之前,需要知道以下信息:
包含数据库的服务器实例所支持的协议之一
配置服务器实例连接所需的协议连接信息
服务器名
远程服务器上数据库的名称

从 DB2 文件夹中选择 Configuration Assistant 来调出最初的 CA 屏幕。

选择这个程序之后,将显示以下屏幕。

这个屏幕的顶部显示系统上当前已经编目的数据库的列表。用户可以使用各种菜单项配置数据库连接,但是 DBA 感兴趣的选项是 Selected 菜单中的 Add Database Using Wizard 按钮:

选择 Add 启动 Add Database Wizard。

下面几节描述配置客户机所需的每个步骤。
CA:要使用哪种方法?

CA 向导的第一个面板询问您希望使用哪种方法来对数据库进行编目。

向导提供了三种对数据库进行编目的方法:
使用配置文件
搜索网络
手工配置连接

我们感兴趣的选项是手工配置。(正如前几节所描述的,对于希望在客户机上对数据库进行编目的用户,使用配置文件或搜索网络要容易得多。)

既然选择了手工配置选项,就需要选择希望使用的通信协议。
CA:通信协议

在下面的面板中,选择用来连接数据库的协议。根据协议修改 Protocol Parameters 框的内容。下面是可以选择的协议以及它们的一些参数:
TCP/IP:服务器主机名/IP 地址、端口号
NetBIOS:服务器工作站名、适配器号
Named Pipe:服务器计算机名、实例
APPC/APPN:服务器符号式的目的地名
LOCAL:这个机器上的本地数据库

这里列出了 DB2 支持的所有协议。如果选择 APPC,操作系统选择是 OS/390、z/OS、OS/400、VM 或 VSE。Windows 和 UNIX 上的 DB2 服务器不再接受使用 APPC 的客户机连接。但是,如果安装了 DB2 Connect,DB2 客户机仍然可以连接主机系统。

如果选择 TCP/IP,那么选择是基于 LAN 的、OS/390、z/OS、OS/400 或 VM。

在点击 Finish 之前,应该检查机器是否在网络上正确地配置了。
CA:通信细节

现在,输入要进行编目的数据库的通信细节。这个屏幕因通信协议而异。在下面的示例中,数据库与客户机在同一台机器上(本地)。
CA:数据库细节

现在,输入要进行编目的数据库的细节。在 Database Name 字段中输入数据库的名称(服务器上的名称)。可以接受同样的名称作为数据库的本地别名,或者将别名改为您选择的名称。如果愿意,还可以输入描述。
CA:ODBC 设置

可以将数据库注册为 ODBC 数据源。如下图所示,在默认情况下选中了这个选项。可以从 Optimize for Application 菜单选择某个应用程序,从而对这个应用程序的 ODBC 设置进行优化。

如果计划对这个数据库运行 Windows 应用程序,您应该熟悉这种环境中可用的各种优化设置。
CA:节点、系统和安全选项

Configuration Assistant 中还显示另外三个面板。Security Options 对于任何类型的数据库都会显示,但是 NodeSystem 面板只对于远程数据库才会显示。
节点信息:如果计划使用 Control Center,那么应该填写节点信息,因为这会影响这个工具的行为。通过服务器上的 DB2SYSTEM 和 DB2INSTANCE 值给出系统和实例名。还应该选择远程系统的操作系统。
系统信息:需要提供系统信息,包括数据库所在的远程系统的系统、主机和操作系统。
安全信息:可以指定对用户的身份验证在哪里执行(在服务器上,这是默认设置;在客户机上;或在主机或 OS/400 上)。还可以为 TCP/IP 连接选择 SOCKS 安全,这允许访问防火墙之外的远程数据库。
CA:成功的编目操作

在 CCA Catalog 屏幕上点击 Finish 之后,DB2 将尝试对数据库进行编目。如果成功了,就会显示以下窗口:

现在,可以测试连接,确保客户机可以与数据库进行通信。如果测试成功,现在就可以使用应用程序来访问 DB2 数据库。

编目小结

在创建 DB2 数据库的服务器上通常不需要对它进行编目。但是,要想从客户机访问数据库,客户机就必须先在本地对数据库进行编目,这样应用程序才能访问它。

可以使用 CATALOG 命令对数据库进行编目,但是 Configuration Assistant(CA)可以用来进行自动发现和对数据库进行编目,这要简单得多。

如果不愿意在每个客户机上对数据库进行编目,DBA 还可以使用 LDAP 服务创建一个存储数据库信息的中心存储库。


参考至:http://www.ibm.com/developerworks/cn/education/data/db2-cert7303/section4.html

本文原创,转载请注明出处、作者

如有错误,欢迎指正

邮箱:[email protected]

你可能感兴趣的:(db2)