检查操作系统版本

# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

解压安装包文件

# tar -xzf v10.5_linuxx64_expc.tar.gz

db2prereqcheck预检查

执行预检查程序

# ./db2prereqcheck

存在以下问题:
Summary of prerequisites that are not met on the current system:
DBT3514W The db2prereqcheck utility failed to find the following 32-bit library file: “/lib/libpam.so*”.
Required minimum C++ library: “libstdc++.so.5”
Actual version is undetermined

中文解释:
当前系统上未满足的先决条件的摘要:
DBT3514W db2prereqcheck 实用程序未能找到以下 32 位库文件:“/lib/libpam.so*”。

要求的最低 C++ 库版本:“libstdc++.so.5”
未确定实际版本

修复libpam.so*

  • 错误信息:
    DBT3514W The db2prereqcheck utility failed to find the following 32-bit library file: “/lib/libpam.so*”.
  • 解决办法:
# yum install pam-devel.i686

修复libstdc++.so.5

  • 错误信息:
    Required minimum C++ library: “libstdc++.so.5”
  • 解决办法:
    经测试,此问题可以忽略;

db_install安装

# ./db2_install
是否安装到缺省目录 (/opt/ibm/db2/V10.5) 中?[是/否]
是

创建用户组和用户

创建实例前,需要先创建用户组和用户

# 创建两个组
groupadd db2adm1
groupadd db2fen1
# 创建两个用户
# 在这里-d指定目录,-m 表示如果用户目录不存在,则创建, -g指定用户组
useradd -d /home/db2inst1 -m db2inst1 -g db2adm1
useradd -d /home/db2fenc1 -m db2fenc1 -g db2fen1

设置账户密码
passwd db2inst1
passwd db2fenc1

默认密码:DB2_2021

创建实例

cd /opt/ibm/db2/V10.5/instance/
# 创建一个叫db2inst1的实例
./db2icrt -u db2fenc1 db2inst1

配置TCP/IP通信服务

在/etc/services中添加以下内容
# vi /etc/services
db2c_db2inst1   50000/tcp               # db2 connect service port

DB2服务管理配置

使用db2inst1 用户,为DB2服务管理配置SVCENAME赋值
# su - db2inst1
# db2 update dbm cfg using SVCENAME db2c_db2inst1

使用dbinst1用户,设置通信代理TCPIP
# db2set DB2COMM=TCPIP

配置防火墙

firewall-cmd --zone=public --add-port=50000/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports

创建数据库

# 切换用户
su - db2inst1
# 启动数据库实例
db2start
# 创建数据库
db2 create db test
# 查看当前实例下所存在的数据库
db2 list db directory
# 连接到数据库
db2 connect to test
# 查看当前数据库下的表空间
db2 list tablespaces

# 测试数据库
db2 "create table user(id int,name varchar(10))"
db2 "insert into user values(1,'a123')"
db2 "insert into user values(2,'b456')"
db2 "select id,name from user"

数据库编目

如果需要在开发服务器上使用sqldbx等客户端根据访问db2数据库,需要对进行数据库编目后才能访问,操作方式如下:

# 查找节点目录
db2 list node directory
# 查看数据库目录
db2 list db directory

# 编目节点
db2 catalog TCPIP  node n_131 remote 192.168.5.131 server 50000
# 编目数据库
db2 catalog db test as test at node n_131

# 取消数据库编目
db2 uncatalog db test
# 取消节点编目
db2 uncatalog db n_131

关闭数据库

db2 terminate
db2stop

数据库监控

db2top -d test
Logo

更多推荐