记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

Linux下db2V10.5命令行安装超详细图文教程(附下载地址)

下载地址:https://pan.baidu.com/s/1GtF03x1FMF3IsGdSiBJu-g 提取码:8vfj

 注意: openeuler2203已经安装好相关依赖,使用db2prereqcheck检查时,提示无法确定分发等级,可以不用管。

直接进行安装,可正常完成并远程连接使用。

一、db2prereqcheck预检查

首先进入到压缩包所在的目录,执行tar命令对.tar.gz压缩文件进行解压

# 解压到当前目录 tar -zxvf v10.5_linuxx64_expc.tar.gz
# 后面加 -C 目录  可以指定需要解压到的目录。
# 如:tar -zxvf v10.5_linuxx64_expc.tar.gz -C /home/wells/soft

第一次解压的时候失败了,删了重新从网盘下了一次再解压,解压完成!

解压完成后,进入当前目录下刚刚解压出来的expc文件夹,通过ll命令可以看到,有一个叫db2prereqcheck的文件,这个文件是用于db2安装预检查的,命令如下:

# 进入解压出来的文件夹
cd expc/
# 查看当前所在目录下的所有文件信息
ll
# 执行预检查程序
./db2prereqcheck

预检查程序显示未满足的条件,这里出现了4个问题。

  1. /lib/libpam.so*

    错误信息

    英文:
    	DBT3514W The db2prereqcheck utility failed to find the following 32-bit library file: "/lib/libpam.so*"
    中文:
    	DBT3514W db2prereqcheck 实用程序未能找到以下 32 位库文件:"/lib/libpam.so*"

    解决方案:

    yum install pam-devel.i686
    yum install pam.i686

    这里我只执行成功了yum install pam-devel.i686,执行yum install pam.i686时提示没有可以安装的依赖包。

  1. sg3_utils / sg_persist

    错误信息

    英文:
    	DBT3507E The db2prereqcheck utility failed to find the following package or file: "sg_persist".
    	DBT3507E The db2prereqcheck utility failed to find the following package or file: "sg3_utils".
    中文:
    	DBT3507E db2prereqcheck 实用程序未能找到以下程序包或文件:"sg_persist"
    	DBT3507E db2prereqcheck 实用程序未能找到以下程序包或文件:"sg3_utils"

    解决方案:

    yum install sg3_utils-*

    运行一行解决两个!nice!

sg_persist也解决了

  1. 关闭SELinux

    这里我使用永久关闭,百度有临时关闭的方法~

    使用vi命令编辑/etc/selinux/config

    vi /etc/selinux/config

    SELINUX=enforcing注释,新增一行SELINUX=disabled:wq保存退出

    设置完成后,记得使用reboot命令重启。

重启后再次执行预检查程序。

# 执行预检查程序
./db2prereqcheck

如下图所示,刚刚出现的问题已经解决了!

二、db_install安装

还是在刚刚的expc文件夹,运行db2_install进行安装:

./db2_install

这里有询问是否安装到缺省目录。我这里选择,当然,也可以输入 否 ,安装到指定的目录。

三、创建用户组和用户

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

# 创建两个组groupadd db2adm1
groupadd db2fen1# 创建两个用户,并将他们分配给刚刚创建好的用户组
# 在这里-d指定目录,-m 表示如果用户目录不存在,则创建, -g指定用户组
useradd -d /home/db2inst1 -m db2inst1 -g db2adm1
useradd -d /home/db2fenc1 -m db2fenc1 -g db2fen1

db2inst1db2fenc1两个账户设置密码,如果没有设置密码后面会出现问题。

tip: 密码不能小于8位,且不能与用户名相同

passwd db2inst1
passwd db2fenc1

现在可以创建实例啦~

首先进入我们前面的安装路径/opt/ibm/bd2/V10.5下的/instance/目录。在这个目录下,用lsll命令可以看到一个叫db2icrt的命令。他是db2 instance create 的缩写,我们用这个命令来创建一个实例。

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

验证是否创建成功

# 切换用户
su - db2inst1
# 启动数据库实例
db2start

# 在实例中创建数据库
db2sampl 
# 创建一个DB2SAMPL样板库
# 或
db2 create create db wellsdb 
# 用db2的命令来创建数据库,这里的wellsdb是数据库名,可改成自己的

# 查看当前实例下所存在的数据库
 db2 list db directory

# 连接到数据库

db2 connect to wellsdb

# 查看当前数据库下的表空间有哪些,可以看到,我的数据库中有3个表空间,id 分别为 0,1,2
db2 list tablespaces

执行sql语句

db2 "create table user(id int,name varchar(10))"
db2 "insert into user values(1,'wells')"
db2 "insert into user values(2,'974')"
db2 "select id,name from user"

关闭数据库

db2 terminate
db2stop

tip:

terminate 、db2stop、db2start三个命令的意义

db2 terminate

  1. 断开当前与数据库的连接

  2. 终止后台对应的db2bp进程

db2start/db2stop

启动/停止数据库服务器




转载请标明出处【Openeuler2203 Linux db2V10.5命令行安装超详细图文教程(附下载地址)】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论