Redhat安装db2数据库(服务器)

博主的安装包是IBM_DB2_SERVER_11.1_LNX_64.tar.gz,使用命令行安装,以下为教程(1~6均是使用root用户):
1、在/home目录下创建文件夹db2install,将安装包拷到该文件夹中。
2、以root用户登录,解压该安装包,命令为:
tar -zxvf IBM_DB2_SERVER_11.1_LNX_64.tar.gz
3、解压后会在该目录下生成一个server文件夹,进入该文件夹下,执行安装脚本:
./db2_install
途中让我选择是否安装到默认目录(/opt/ibm/db2/V11.1,我的版本是11.1),选择安装版本,我选的SERVER(可能低版本的需要选择ESE),以及是否需要安装pureScale Feature,我因为感觉用不到所以选择了否,大家自行决定。选完后就是需要等待了,如果最后弹出安装失败,可以看安装日志,如果安装成功后,发现有些小错误也不影响(就像64位的系统缺少一些包也不会影响安装和使用,最多就是安装的时候会有些提示)。
4、安装licen,命令如下:

cd /opt/ibm/db2/V11.1/adm
./db2licm –a/home/db2install/server/db2/license/db2ese_c.lic

其中,db2ese_c.lic是你的license文件,自带的db2ese.lic并不能成功,我这个db2ese_c.lic是公司给我的。
5、创建用户组和用户:
db2需要三种用户:

DAS用户(管理服务器)
fence用户
实例用户

具体资料大家可以上网搜,博主也不是很清楚。
因此,我们可以创建三个用户组和三个用户,命令为:

groupadd db2grp
groupadd db2fgrp
groupadd dasadm
useradd -m -g db2grp -d /home/db2inst1 -s /bin/bash db2inst1
useradd -m -g db2fgrp -d /home/db2fenc -s /bin/bash db2fenc
useradd -m -g dasadm -d /home/dasusr -s /bin/bash dasusr

设置密码:

passwd db2inst1
passwd db2fenc
passwd dasusr

其中,创建db2inst1用户,是因为db2好像有默认db2inst这个实例,因此博主第一次创建db2inst时,执行到后面的操作总是报错,因此改成了db2inst1这个用户。
6、创建DAS和数据库实例:
进入目录/opt/ibm/db2/V11.1/instance:

cd /opt/ibm/db2/V11.1/instance

创建DAS:

./dascrt -u dasusr

-u dasusr表示指定DAS用户名,dasusr为之前创建的dasusr用户。
创建数据库实例:

./db2icrt -p 50000 -u db2fenc db2inst1

-p 50000参数表示指定DB2实例对外服务端口
-u db2fenc表示指定此实例使用的fence用户名
db2inst1表示指定此实例名和所有者名(二者相同)

7、设置数据库实例自动启动:
切换至db2inst1用户:

su - db2inst1

执行命令:

db2iauto –on db2inst

8、验证DB2数据库的安装:
以db2inst1用户ID登录系统,启动数据库DB2:

db2start

连接db2:

db2

创建sample数据库:

create database sample

连接sample数据库

connect to sample

创建表空间TS_TEST:

create tablespace TS_TEST

创建表test(含有一个id字段):

create table test(id varchar(32)) in TS_TEST

接下你就可以操作这个表了,自行操作即可。
退出db2命令是:Ctrl+c,再按回车即可。

停掉db2命令:

db2stop

或者是:

db2stop force

9、查看并修改db2连接协议:
以db2inst1登录,执行命令:

db2set -all

其中,DB2COMM决定了连接协议,如果不是TCPIP的话就无法在其他电脑上远程连接数据库了,此时可以通过命令:

db2set DB2COMM=tcpip
db2stop
db2start

10、查看并修改db2的端口号:
以db2inst1登录,执行命令:

db2 get dbm cfg | grep -i service

如果(SVCENAEM) =后面直接是数字的号,即为db2的端口号,如果是另一个名称话(例如db2c_db2inst1),再执行命令:

grep db2c_db2inst1 /etc/services 

输出结果即为端口号。
如果想更改,例如更改到50001,先查看该端口号是否被占用。
在root用户下执行命令:

netstat -ntlp | grep 50001

没有返回结果证明该端口号没有被占用。
再登录db2inst1,执行命令:

db2 update dbm cfg using SVCENAME 50001
db2stop
db2start

修改成功。

11、其他机器连接不成功问题:
参考我写的关于Redhat linux安装WebSphere(命令行静默安装)最后关于无法访问的解决策略,如果发现是防火墙的问题,并且没有iptables的话,可以参考我写的关于linux 使用firewalld添加开放端口

希望大家都能够顺利安装,如果有什么疑问,也欢迎留言,虽然博主在这方面也是小白,但也可以帮大家参考参考。

猜你喜欢

转载自blog.csdn.net/death05/article/details/79122644