欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

CentOS下DB2数据库安装过程详解

程序员文章站 2022-06-17 19:28:30
最近因为工作需要在学习db2数据库,本教程讲解db2数据库在inux下的安装步骤。安装前请查看db2版本和许可证说明来增加了解,先弄明白改安装什么版本,这里我用的是最新的express-c版本,这个版...

最近因为工作需要在学习db2数据库,本教程讲解db2数据库在inux下的安装步骤。

安装前请查看db2版本和许可证说明来增加了解,先弄明白改安装什么版本,这里我用的是最新的express-c版本,这个版本是提供给个人学习用的版本。

管理客户端从v9.7版本之后就不再带有控制中心了,而是使用 data studio client。

linux版本:

linux版本下的db2数据库采用的官方免费版本,操作系统用的centos6.2。

安装过程:

1、下载:db2_v101_linuxia32_expc.tar.gz

2、解压,解压完成后会在当前目录下有一个 ./expc 文件夹

复制代码 代码如下:

[root@localhost opt]# tar -zxvf db2_v101_linuxia32_expc.tar.gz

3、进入这个目录

复制代码 代码如下:

[root@localhost opt]# cd expc/

4、执行安装

复制代码 代码如下:

[root@localhost expc]# ./db2_install

5、添加组和用户:

组(用户名)
db2iadm1(db2inst1)
db2fadm1( db2fenc1)

复制代码 代码如下:

[root@localhost expc]# groupadd -g 2000 db2iadm1
[root@localhost expc]# groupadd -g 2001 db2fadm1
[root@localhost expc]# useradd -m -g db2iadm1 -d /home/db2inst1 db2inst1
[root@localhost expc]# useradd -m -g db2fadm1 -d /home/db2fenc1 db2fenc1
[root@localhost expc]# passwd db2inst1
[root@localhost expc]# passwd db2fenc1

6、安装 license(产品许可证) ps:如果是expressc版本就不用做

复制代码 代码如下:

[root@localhost adm]# pwd
/opt/ibm/db2/v10.1/adm
[root@localhost adm]# chmod -r 775 *
[db2inst1@localhost adm]$ ./db2licm -a /tmp/seagull/db2v10/license/db2ese_c.lic

7、创建实例和样本数据库

复制代码 代码如下:

[root@localhost instance]# pwd
/opt/ibm/db2/v10.1/instance
[root@localhost instance]# chmod -r 775 *
[root@localhost instance]# ./db2icrt -p 50000 -u db2fenc1 db2inst1
[root@localhost instance]# su - db2inst1
[db2inst1@localhost ~]$ db2sampl
creating database "sample"...
connecting to database "sample"...
creating tables and data in schema "db2inst1"...
creating tables with xml columns and xml data in schema "db2inst1"...
'db2sampl' processing complete.
[db2inst1@localhost ~]$ db2start
sql1026n the database manager is already active.
[db2inst1@localhost ~]$ db2 connect to sample
database connection information
database server = db2/linux 10.1.2
sql authorization id = db2inst1
local database alias = sample
[db2inst1@localhost ~]$ db2 "select * from staff"

8、创建 das 管理服务器

为了远程客户端能够用控制中心来控制数据库服务器,需要在数据库服务器上安装 das,当然,如果只是远程连接而不是远程管理,可以不用装,这里我安装了一下。

复制代码 代码如下:

[root@localhost expc]# groupadd -g 2002 db2asgrp
[root@localhost expc]# useradd -m -g db2asgrp -d /home/db2as db2as
[root@localhost expc]# passwd db2as
[db2as@localhost ~]$ su - db2as # 这里测试新建用户
[db2as@localhost ~]$ su # 这里进入root权限
[root@localhost ~]# cd /opt/ibm/db2/v10.1/instance/
[root@localhost instance]# ./dascrt -u db2as
dbi1070i program dascrt completed successfully.
[root@localhost instance]# su - db2as
[db2as@localhost ~]$ db2admin start
sql4409w the db2 administration server is already active.

9、设置端口号

复制代码 代码如下:

vim /etc/services

在最后增加一行 # ps:vim快捷键,在命令模式下输入“g”跳到最后一行。
复制代码 代码如下:

db2inst1 50000/tcp

10、db2 配置,要切换到用户 db2inst1

复制代码 代码如下:

su – db2inst1
db2set db2_extended_optimization=on
db2set db2_disable_flush_log=on
db2set autostart=yes
db2set db2_striped_containers=on
db2set db2_hash_join=y
db2set db2comm=tcpip
db2set db2_parallel_io=*
db2set db2codepage=819 # ps:这个地方比较重要
# db2 update database manager configuration using svcename db2inst1

11.将svcename设置成/etc/services中的端口号或者服务名了吗?

复制代码 代码如下:

[db2inst1@localhost ~]$ db2 get dbm cfg|grep svcename
tcp/ip service name (svcename) =
ssl service name (ssl_svcename) =

找到svcename,如果当前值不是服务器端的端口号或者服务名,进行更新设置。
复制代码 代码如下:

[db2inst1@localhost ~]$ db2 update dbm cfg using svcename db2inst1
# db2 update dbm cfg using indexrec access
[db2inst1@localhost ~]$ db2 get dbm cfg|grep svcename
tcp/ip service name (svcename) = 50000
ssl service name (ssl_svcename) =

# ps:svcename 在客户端连接时需要用到

12.在启动db2之前需要先关闭防火墙,不然的话根本就不能连接(这个地方的疏忽纠结了好久),在root用户下执行:service iptables stop

13.开启db2,执行:db2start ,如果已经开启状态,那就先停止,执行:db2stop 。

设置查看:

CentOS下DB2数据库安装过程详解

ps:重启机器后遇到了一个问题,就是关闭防火墙无反应,开启关闭数据库无反应,远程不能连接到数据库,解决办法是重启了服务器,然后按照顺序关闭了防火墙,然后重启了db2数据库。