db2set 命令和前一节中的 set 命令一样,等号(=)前后不该留有空格。
某些注册表变量为了使更改生效,要求您停止和启动实例( db2stop/db2start )。另一些注册表变量则没有这个需求。为了安全起见,建议您在对注册表变量作了更改后总是停止和启动实例。
配置参数
配置参数是在两个不同的级别(实例级和数据库级)上定义的。每个级别上的变量都是不同的(不象注册表变量那样可以在不同级别上定义相同的变量)。
在实例级上,变量被存储在数据库管理器配置文件(dbm cfg)中;对这些变量所作的更改会影响与该实例相关的“所有”数据库,这就是图中显示了 dbm cfg 框(每个实例定义了一个),并且该框都显示在数据库框外面的原因。以下是一些与配置参数相关的命令:
- 要从 CLP 查看 dbm cfg 的内容,请发出下面这个命令:
db2 get dbm cfg - 要更新特定变量的值,请发出下面这个命令:
db2 update dbm cfg using <parameter> <value>例如:
db2 update dbm cfg using INTRA_PARALLEL YES
V8 之前,对“所有”dbm cfg 变量所作的更改都要求您停止和启动实例( db2stop/db2start )。现在,V8 中有大约 40% 的参数是“可联机配置的”参数;也就是说,不再需要停止和启动实例了。请参考“DB2 V8 管理指南(DB2 V8 Administration Guide)”以获取更多详细信息。
在数据库级别上,变量被存储在数据库配置文件(db cfg)中;对这些变量所作的更改会影响特定的数据库。从 图 1中,您可以看到每个定义的数据库内部都有一个 db cfg 框。
- 要查看 db cfg 的内容,请从 CLP 发出下面这个命令:
db2 get db cfg for <dbname>例如:
db2 get db cfg for mydb1 - 要更新特定变量的值,请发出下面这个命令:
db2 update db cfg for <dbname> using <parameter> <value>
例如:
db2 update db cfg for mydb1 using MINCOMMIT 3
V8 之前,对“所有”db cfg 变量进行更改都要求您断开与该数据库的所有连接;然后,在进行第一个新连接时,这些更改将生效。V8 中有大约 50% 的参数可以进行联机配置;也就是说,无需为了使更改生效而断开到数据库的所有连接。请参考“DB2 V8 管理指南(DB2 V8 Administration Guide)”以获取更多详细信息。
在 DB2 中,目录是存储有关数据库及其连接信息的二进制文件。DB2 中有四个如下所描述的主目录。还包括了相应的建立连接的命令;但是,许多用户发现客户机配置助手 GUI 工具(Client Configuration Assistant GUI Tool)非常便于建立连通性。
系统数据库目录(或系统 db 目录)
系统数据库目录是主要的“目录(table of contents)”,它包含了有关可以从您的 DB2 系统进行连接的所有数据库的信息。正如您可以从 图 1看到的那样,系统 db 目录是在实例级上进行存储的;因此,如果您打算删除一个实例,那么您应当考虑备份其内容。
要列出系统 db 目录的内容,请从 CLP 发出下面这个命令:
db2 list db directory
该命令输出中的任何项都包含单词“indirect”,这意味着:该项适用于本地数据库(即,驻留在您当前正在使用的机器上的数据库)。该项还会指向由“Database drive”项(在 Windows 中)或“Local database directory”项(在 UNIX 中)所指示的本地数据库目录。
任何包含单词“Remote”的项都意味着:该项适用于远程数据库(即,驻留在其它机器上而非您当前正在使用的机器上的数据库)。该项还会指向由“Node name”项所指示的节点目录项。
要将信息输入系统 db 目录,您需要使用 catalog 命令:
db2 catalog db <db_name> as <alias> at node <nodename> 例如:db2 catalog db mydb as yourdb at node mynode
节点名是指向节点目录中某一项的指针。在发出这条命令之前该项必须已经存在。
通常只有在将信息添加到远程数据库的系统 db 目录时才使用 catalog 命令。对于本地数据库来说,在用 create database 命令创建数据库之后就自动创建 Catalog 项。
本地数据库目录(或本地 db 目录)
本地数据库目录包含了有关本地数据库(即,驻留在您目前正在使用的机器上的数据库)的信息。正如您可以从 图 1中看到的那样,本地数据库目录驻留在数据库结构内部。注意从该图还可以看到没有专门的命令用于将信息输入到该目录中。当您用 create database 命令创建数据库时,在该目录中会添加一项。
要列出本地数据库目录的内容,请发出以下命令:
db2 list db directory on <path>
其中,可以从系统 db 目录相应项中的“Database drive”项(Windows 中)或“Local database directory”项(UNIX 中)获取 <path>。
节点目录
节点目录用于存储远程数据库的所有连通性信息。V8 仅支持 TCPIP 协议;因此,该目录中的大多数项将显示 TCPIP 信息,比如机器(其中包含了您想连接的数据库)的主机名或 IP 地址,还有相关的 DB2 实例的端口号。下面是一些与节点目录相关的命令:
- 要列出节点目录的内容,请从 CLP 发出下面这个命令:
db2 list node directory - 要将信息输入节点目录,请从 CLP 发出
catalog命令:db2 catalog tcpip node <node_name> remote <hostname or IP_address> server <port_name or port_number>例如:
db2 catalog tcpip node mynode remote 9.26.138.35 server 60000
要想得到您想要连接的远程实例的端口号,可以查看该实例的 dbm cfg 中的 svcename 参数来实现。该值通常对应于 TCP/IP services 文件中的某一项。
DCS 目录
DCS 目录包含了通常驻留在 zSeries™(S/390®)或 iSeries™(AS/400®)机器上的主机数据库的连通性信息。您需要安装 DB2 Connect 软件。下面是一些命令:
- 要列出 DCS 目录的内容,请从 CLP 发出下面这个命令:
db2 list dcs directory - 要将信息输入 DCS 目录,请从 CLP 发出 catalog 命令:
db2 catalog dcs db as <location name>例如:






