前提环境介绍: DB2 9.7, centos, 已创建了单节点db sample
1.配置端口
db2 update dbm cfg using SVCENAME DB2_db2inst1
[db2inst1@localhost ~]$ grep DB2_db2inst1 /etc/services
DB2_db2inst1 60000/tcp
DB2_db2inst1_1 60001/tcp
DB2_db2inst1_2 60002/tcp
DB2_db2inst1_END 60003/tcp
端口号为60000
可以通过netstat -an|grep 600查看是否启动
如果配置了db2nodes.cfg之后, 启动db 那么/etc/services会自动把多个分区都加上?。形式为:
DB2_<inst_name>1
DB2_<inst_name>1_1
DB2_<inst_name>1_2
......
DB2_<inst_name>1_END
2. 配置通信方式:
db2set DB2RSHCMD=ssh
DB2COMM=tcpip #默认已经存在
3.配置本机ssh的免密登录:
(1) cd ~ #进入实例路径/home/db2inst1
(2) ssh-keygen #产生公钥私钥对
会在当前实例路径下产生一个文件夹.ssh,下面会有两个文件--公钥秘钥对:
[db2inst1@localhost .ssh]$ pwd
/home/db2inst1/.ssh
[db2inst1@localhost .ssh]$ ls -lrt
total 8
-rw-r--r--. 1 db2inst1 db2iadm1 412 May 8 23:36 id_rsa.pub
-rw-------. 1 db2inst1 db2iadm1 1675 May 8 23:36 id_rsa
(3)把本地公钥复制到需要免密的另一台机器上(这里还是本机)
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
执行该命令时需要输入密码,成功后再次通过ssh [email protected] 就不需要密码了。
测试:
rah date
db2_all date
(4). root创建 /etc/hosts.equiv , 内容为: --不用
localhost.localdomain db2inst1
db2inst创建 ~/.rhosts ,内容为: ---不用
+
或者只创建 ~/.rhosts 内容为:
localhost.localdomain db2inst1
步骤(4)仅当db2set DB2RSHCMD=rsh的时候才需要配置,这里是ssh,所以可以不配。
4.修改host
/etc/hosts 修改后的内容为:
[db2inst1@test ~]$ more /etc/hosts
127.0.0.1 localhost
192.168.232.130 test
这里可以把原来的内容留着,也可以删掉,然后加上以上这两行。这里删掉了。
127.0.0.1 localhost #用于对外展示,IP和主机名
192.168.232.130 test #用于内部局域网,IP和本地主机名(hostname可以显示)
5.添加分区
db2start dbpartitionnum 1 add dbpartitionnum hostname localhost.localdomain port 1
db2start dbpartitionnum 1 add dbpartitionnum hostname localhost.localdomain port 1
db2start dbpartitionnum 1 add dbpartitionnum hostname localhost.localdomain port 1
db2start dbpartitionnum 1 add dbpartitionnum hostname localhost.localdomain port 1
直接修改~/sqllib下db2nodes.cfg也行。内容为:
0 localhost 0
1 localhost 1
2 localhost 2
3 localhost 3
但是启动时发现报错,我发启动:
[db2inst1@localhost sqllib]$ db2start
05/09/2019 01:29:06 0 0 SQL6048N A communication error occurred during START or STOP DATABASE MANAGER processing.
05/09/2019 01:29:07 1 0 SQL6048N A communication error occurred during START or STOP DATABASE MANAGER processing.
SQL1032N No start database manager command was issued. SQLSTATE=57019
实在没找到原因,对实例进行了更新:
cd /opt/ibm/db2/V9.7/instance
./db2iupdt db2inst1 #root执行
更新之后,就可以启动了。(猜测是db2哪里没配置好)
注意:
/etc/service下的节点个数要和db2nodes.cfg一样。
----------------------后续fix的一些记录:
touch .profile --应该没用
查看端口: netstat -an |grep 6000
hostname test
重新更新实例
yum install sysstat
rpm -aql | grep sysstat
vi /etc/networks
uname -a
root: service network restart 重启网络
[db2inst1@test db2dump]$ more /etc/hosts
127.0.0.1 localhost
192.168.232.130 test