此任务描述了验证参与的计算机上的可用端口范围时需要执行的步骤。端口范围由“快速通信管理器”(FCM)使用。FCM 是 DB2 用来处理数据库分区服务器之间的通信的功能部件。当在主机器上安装实例拥有的数据库分区服务器时,DB2 根据指定的参与分区数据库环境的数据库分区服务器数目保留端口范围。缺省范围为四个端口。当在参与的计算机上安装数据库分区服务器时,“DB2 安装”向导必须能够保留相同的端口范围;端口范围必须在每个数据库分区服务器上都是可用的。应该在安装实例拥有的数据库分区服务器之后,并在安装任何参与的数据库分区服务器之前执行此任务。
要更改 services 文件,需要具有 root 用户权限。
要验证参与的计算机上的可用端口范围:
打开位于 /etc/services 目录中的 services 文件。
查找为 DB2 的“快速通信管理器”(FCM)保留的端口。这些条目应类似如下:
DB2_db2inst1 60000/tcp
DB2_db2inst1_1 60001/tcp
DB2_db2inst1_2 60002/tcp
DB2_db2inst1_END 60003/tcp
DB2 将保留 60000 之后的前四个可用端口。
在参与的每台计算机上,打开 services 文件,并验证在主计算机的 services 文件中为 DB2 FCM 保留的端口是否未使用。如果参与的某台计算机正在使用需要的端口,则应确定所有计算机的可用端口范围,并更新每个 services 文件(包括主计算机上的 services 文件)。
必须在单一分区数据库环境和分区数据库环境中都更新 .rhosts 文件以执行远程命令。
在分区数据库中,每个数据库分区服务器必须具有对参与实例的所有其他数据库分区服务器执行远程命令的权限。可以通过更新实例的主目录中的 .rhosts 文件来授予此权限。因为实例的主目录在共享 DB2主文件系统上,所以只需要一个 .rhosts 文件。
必须具有 root 用户权限。 必须知道每台参与计算机的主机名 必须知道实例所有者的用户名。- 作为具有 root 用户权限的用户登录主计算机。
- 在实例主目录中创建 .rhosts 文件。例如,如果实例主目录是 /db2home/db2inst1,则可以通过输入以下命令来使用文本编辑器创建 .rhosts 文件:
清单 18
vi /db2home/db2inst1/.rhosts
- 为每台计算机(包括主计算机)向 .rhosts 文件添加条目。.rhosts 文件具有以下格式:
hostname instance_owner_user_name
一些系统可能需要指定长主机名,例如:ServerA.yourdomain.com。在将主机名条目添加至 .rhosts 文件之前,确保能够解析 /etc/hosts 和 /etc/resolv.conf 文件中的主机名。
$INSTHOME/.rhosts 文件应该包含类似如下的条目:
ServerA.yourdomain.com db2inst1
ServerB.yourdomain.com db2inst1
ServerC.yourdomain.com db2inst1
ServerD.yourdomain.com db2inst1
可以在 .rhosts 文件中指定以下条目,而不是分别指定每个主机名,但是此操作可能会产生安全风险,仅应在测试环境中这样做。
+ db2inst1
如果在 db2nodes.cfg 文件中指定了高速交换机(网络名),则还应将每台计算机的网络名条目添加至 .rhosts 文件。网络名值是在 db2nodes.cfg 文件的第四列中指定的。带有高速交换机(网络名)条目的 .rhosts 文件可能类似如下:
ServerA.yourdomain.com db2inst1
ServerB.yourdomain.com db2inst1
ServerC.yourdomain.com db2inst1
ServerD.yourdomain.com db2inst1
Switch1.yourdomain.com db2inst1
Switch2.yourdomain.com db2inst1
Switch3.yourdomain.com db2inst1
Switch4.yourdomain.com db2inst1
如果不使用 .rhosts 文件,也可以使用 /etc/hosts.equiv 文件。/etc/hosts.equiv 文件将包含与 .rhosts 文件完全相同的条目,但是必须在每台计算机上创建它。
在参与分区安装的任何一台机器上运行下面命令创建 DB2 实例:
清单 19
/opt/IBM/db2/V9.1/instance#./db2icrt -a server -p 50000 -s ese -u db2fenc1 db2inst1 |
节点配置文件(db2nodes.cfg)位于实例所有者的主目录中,它包含一些配置信息,告诉 DB2 有哪些服务器参与分区数据库环境的实例。分区数据库环境中的每个实例都有一个 db2nodes.cfg 文件。对于每个参与实例的服务器,db2nodes.cfg 文件必须包含一个条目。当创建实例时,会自动创建 db2nodes.cfg 文件并对拥有实例的服务器添加条目。
例如,在拥有实例的服务器 ServerA 上使用“DB2 安装”向导创建了 DB2 实例时,db2nodes.cfg 文件将被更新为如下所示:
0 ServerA 0此任务提供了一些步骤,以将 db2nodes.cfg 文件更新为包括参与的计算机的条目。
- 必须在所有参与的计算机上安装 DB2 应用程序。
- DB2 实例必须存在于主计算机上。
- 您必须是具有 SYSADM 权限的用户。
- 如果您打算将高速交换机用于数据库分区服务器之间的通信,或者如果分区配置将具有多个逻辑分区,则复查『DB2 节点配置文件』主题以获取配置示例和有关 db2nodes.cfg 的文件格式的信息。
在“过程”部分的步骤中使用的主机名必须是标准主机名。
要更新 db2nodes.cfg 文件:
- 作为实例所有者登录(在本示例,db2inst1 是实例所有者)。
- 通过输入以下命令确保已停止 DB2 实例:
清单 20
$INSTHOME/sqllib/adm/db2stop
其中 $INSTHOME 是实例所有者的主目录(db2nodes.cfg 文件在实例运行时被锁定,并且仅当实例停止时才可以编辑该文件)。
例如,如果实例主目录为 /db2home/db2inst1,则输入以下命令:
清单 21
/db2home/db2inst1/sqllib/adm/db2stop
- 对于每个 DB2 实例,向 .rhosts 文件添加一个条目。通过添加以下项来更新文件:
<hostname> <db2instance>
其中 <hostname> 是数据库服务器的 TCP/IP 主机名,<db2instance> 是用来访问数据库服务器的实例的名称。 - 向每个参与的服务器的 db2nodes.cfg 文件添加一个条目。当第一次查看 db2nodes.cfg 文件时,它应该包含类似于以下内容的条目:
0 ServerA 0
此条目包括数据库分区服务器号(节点号)、数据库分区服务器驻留的服务器的 TCP/IP 主机名以及数据库分区服务器的逻辑端口号。
如果正在对安装概述中所描述的分区配置(有四台计算机,每台计算机上安装一个数据库分区服务器)进行安装,则应该出现类似如下的更新 db2nodes.cfg:
0 ServerA 0
1 ServerB 0
2 ServerC 0
3 ServerD 0 - 当完成更新 db2nodes.cfg 文件时,输入 INSTHOME/sqllib/adm/db2start 命令,其中 INSTHOME 是实例所有者的主目录。例如,如果实例主目录为 /db2home/db2inst1,则输入以下命令:
清单 22
/db2home/db2inst1/sqllib/adm/db2start
- 注销。
修改/etc/services,使 TCP/IP 的通讯成为可能
修改/etc/servcies,增加下面的信息:db2_conn 50000/tcp
用 db2inst1 用户登录,运行 su – db2inst1
运行db2start
运行 db2set DB2COMM=tcpip”
运行 db2 terminate”
运行 db2 update dbm cfg using svcename db2_conn”
运行 db2stop force;db2start”
使用 db2licm 命令注册 DB2 产品或功能部件许可证密钥
在安装了 DB2产品或功能部件的每一台机器上,应该注册一个 DB2 产品或功能部件许可证密钥。有关这些产品选项的更多信息,请参阅 Web 上的 DB2 版本 9 包装信息。如果要在安装期间自动添加产品或功能部件许可证密钥,则需要在启动“DB2 安装”向导之前将许可证密钥复制到安装映像的 /db2/license 目录。
要注册 DB2 许可证密钥,输入:db2licm -a filename
其中 filename 是和产品或功能部件对应的许可证文件的完整路径名和文件名。许可证文件位于和 DB2 产品或功能部件关联的激活 CD 的 /db2/license 目录中。
要将 DB2 产品或功能部件许可证密钥注册为实例所有者:
- 创建实例环境并成为实例所有者。
- 使用相应的命令注册 DB2 许可证:
- 对于 Linux 和 UNIX 操作系统:
db2instance_path/adm/db2licm -a filename.lic - 对于 Windows 操作系统:
db2instance_path\adm\db2licm -a filename.lic 其中 db2instance_path 是创建 DB2 实例的位置,而 filename 是与已购买的产品相对应的许可证文件的完整路径名和文件名。许可证文件位于产品或功能部件的激活 CD 的根目录的 /db2/license 目录中。
- 对于 Linux 和 UNIX 操作系统:
要验证是否成功安装了 DB2 服务器,创建样本数据库并运行 SQL 命令来检索样本数据并验证数据是否已分发至所有参与的数据库分区服务器。
已完成所有安装步骤。
要创建 SAMPLE 数据库:
- 作为拥有实例的用户登录主计算机(ServerA)。在本安装示例中,db2inst1 是拥有实例的用户。
- 输入 db2sampl 命令来创建 SAMPLE 数据库。
缺省情况下,将在实例所有者的主目录中创建样本数据库。在本示例中,/db2home/db2inst1/ 是实例所有者的主目录。实例所有者的主目录是缺省数据库路径。
处理此命令可能要花几分钟。没有完成消息;当返回命令提示符时,该过程完成。
创建 SAMPLE 数据库时,该数据库自动以数据库别名 SAMPLE 进行编目。 - 输入 db2start 命令来启动数据库管理器。
- 在 DB2 命令窗口中输入下列 DB2 命令来连接至 SAMPLE 数据库,并检索在部门 20 工作的所有职员的列表:
清单 23
db2 connect to sample db2 select * from staff where dept = 20
- 要验证是否已将数据分发至数据库分区服务器,在 DB2 命令窗口中输入下列命令:
清单 24
db2 select distinct dbpartitionnum(empno) from employee;
输出将列示 employee 表使用的数据库分区。
至此,恭喜你的 DB2 分区环境已经安装成功了,接下了你可以创建用户数据库、database partition group、缓冲池、用户表空间以及带有 partition key 的用户表,进入开发阶段或导入用户数据了。