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

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

失效了发邮件:wells974@163.com

一、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

image-20200528234445605

image-20200528234507228

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

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

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

image-20200528234934522

image-20200528235917162

预检查程序显示未满足的条件,这里出现了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时提示没有可以安装的依赖包。

image-20200529000805420

  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也解决了

image-20200529000940950

  1. 关闭SELinux

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

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

    vi /etc/selinux/config
    

    image-20200529001512208

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

    image-20200529001611397

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

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

# 执行预检查程序
./db2prereqcheck

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

image-20200529001908459

二、db_install安装

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

./db2_install

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

image-20200529002028964

image-20200529002304763

三、创建用户组和用户

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

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

image-20200529003006221

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

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

passwd db2inst1
passwd db2fenc1

image-20200529003134784

image-20200529003201052

现在可以创建实例啦~

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

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

image-20200529003447677

image-20200529010040840

验证是否创建成功

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

image-20200529010213574

image-20200529010442288

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

image-20200529010522444

# 连接到数据库
db2 connect to wellsdb

image-20200529010611931

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

image-20200529010803613

执行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"

image-20200530120103686

image-20200530120426020

image-20200530120515158

关闭数据库

db2 terminate
db2stop

image-20200530120813456

tip:

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

db2 terminate

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

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

db2start/db2stop

​ 启动/停止数据库服务器

搞定,债见~

posted @ 2020-05-30 12:17  詹庆豪  阅读(6578)  评论(0编辑  收藏  举报