db2数据库的安装

501 阅读2分钟

DB2数据库在linux下的安装步骤。需要去官网下载,同时要注册才行。

安装过程:

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
 ​
 运行后选择产品为: SERVER, 其余选项选: yes
可能出现问题:linux提示缺少依赖库
 # 安装依赖库
 # 安装PAM库 32和64位都要安装
 ​
 yum -y install pam-devel.i686 pam-devel.x86_64
 ​
 # 安装libstdc++库 32和64位都要安装
 ​
 yum -y install libstdc++-devel.i686 libstdc++-devel.x86_64
5、添加组和用户:

组(用户名)

 [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
 ​
 mkdir /data/db2/iplat
 chown db2inst1:db2inst1  /data/db2/iplat
 su db2inst1  
 create db iplat on /data/db2/iplat  using codeset utf-8 territory CN
 ​
 默认生成
 [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"
 ​
 如果想建iplat数据库
 ​
 db2 create db iplat using codeset utf-8 territory CN
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 。

PS:参考链接如下

www.db2china.net/home/space.…

blog.csdn.net/xiaolang85/…

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

\