目录
一、安装DB2 V10.5
1、执行命令
#首先执行
cd /home
mkdir db2
cd db2
#上传v10.5_linuxx64_expc.tar.gz至当前目录并执行解压
tar -zxvf v10.5_linuxx64_expc.tar.gz
#此时会的得到一个/expc的文件夹
cd /expc
#先执行
./db2prereqcheck 检查看下是否缺少一些依赖
#本次执行得到如下图所示问题
2、碰到的一些问题
DBT3507E The db2prereqcheck utility failed to find the following package or file: "kernel-devel".
DBT3507E The db2prereqcheck utility failed to find the following package or file: "gcc-c++".
DBT3507E The db2prereqcheck utility failed to find the following package or file: "cpp".
DBT3507E The db2prereqcheck utility failed to find the following package or file: "gcc".
DBT3520E The db2prereqcheck utility could not find the library file libaio.so.1.
3、先解决问题,才能往下走
#先安装kernel-devel包
yum install kernel-devel
#再安装gcc-c++包,此包会包含其他的依赖
yum install gcc-c++ -y
#安装完成后再执行
yum install libaio.so.1.
#最后再次检查一下
./db2prereqcheck
#还是有问题,执行以下命令安装相应的32位,64位库
yum whatprovides libstdc++.so.5
yum install libstdc++.so.5
yum install compat-libstdc++-33
yum install pam-devel.i686
echo 'multilib_policy=all' >> /etc/yum.conf
yum install -y glibc* libstdc*
yum install libaio
走到这步之后看到还有一个错误
DBT3563E The db2prereqcheck utility determined that SELinux is enabled, which is not supported with GPFS.
解决方案:
vi /etc/selinux/config
#将里面的SELINUX=enforcing注释掉
#然后加上
SELINUX=disabled
如图所示:
然后再次执行
./db2prereqcheck
得到如图所示结果,说明检查通过 :
二、开始安装DB2
1、安装
#执行安装
./db2_install
得到如图所示:yes
耐心等待几分钟后得到如下图:
说明安装完成。
2、配置用户
#先注册,如果是expc版可忽略
cd /opt/ibm/db2/V11.1/adm/
chmod 775 *
./db2licm -a /opt/db2v11.1/expc/db2/license/db2expc_uw.lic
创建用户组
groupadd -g 601 db2iadm1
groupadd -g 602 db2fadm1
groupadd -g 603 db2dadm1
(分别是拥有实例的用户,受防护的用户,DAS用户)且指定对应的用户组
useradd -g db2iadm1 -u 601 -d /home/db2inst1 -m db2inst1
useradd -g db2fadm1 -u 602 -d /home/db2fenc1 -m db2fenc1
useradd -g db2dadm1 -u 603 -d /home/db2dasusr1 -m db2dasusr1
#参数说明:
#-u uid 使用者的ID值,必须为唯一的ID值,除非用-o选项可以不唯一,数字不可为负值,0~999传统上是保#留给系统帐号使用。
#-d path 使用者目录
#-m 使用者目录如不存在则自动建立
#-s shell 使用者登入后使用shell名称作为提示符,如果不写系统会帮你指定预设的登入shell
3、DB2数据库操作
3.1 创建新的数据库
#切换至db2inst1用户下
su - db2inst1
#创建数据库文件夹 可以与数据库名保持一致tableName
mkdir /home/db2inst1/tableName
#创建数据库,命令如下:tableName--为自定义名称
db2 "create database tableName automatic storAge no on /home/db2inst1/dbdata USING CODESET utf-8 TERRITORY CN restrictive autoconfigure apply none";
#创建表空间,先新建文件夹
cd /home/db2inst1/
mkdir tablespace
#连接到刚创建的数据库中
db2 connect to tableName
#先创建bufferPool
db2 "create bufferpool BP_32K all dbpartitionnums size 2560 pagesize 32k"
#再创建表空间,根据项目需要可以创建多个表空间
db2 "create large tablespace TBS_ODS_DATA pagesize 32k managed by database using(file '/home/db2inst1/tablespace/TBS_ODS_DATA' 10g) extentsize 128k prefetchsize automatic bufferpool BP_32K no file system caching"
db2 "create large tablespace TBS_IBI_DATA pagesize 32k managed by database using(file '/home/db2inst1/tablespace/TBS_IBI_DATA' 50g) extentsize 128k prefetchsize automatic bufferpool BP_32K no file system caching "
db2 "create large tablespace TBS_MBI_DATA pagesize 32k managed by database using(file '/home/db2inst1/tablespace/TBS_MBI_DATA' 50g) extentsize 128k prefetchsize automatic bufferpool BP_32K no file system caching"
db2 "create large tablespace TBS_ODS_IDX pagesize 32k managed by database using(file '/home/db2inst1/tablespace/TBS_ODS_IDX' 1g) extentsize 128k prefetchsize automatic bufferpool BP_32K no file system caching "
db2 "create large tablespace TBS_IBI_IDX pagesize 32k managed by database using(file '/home/db2inst1/tablespace/TBS_IBI_IDX' 5g) extentsize 128k prefetchsize automatic bufferpool BP_32K no file system caching "
db2 "create large tablespace TBS_MBI_IDX pagesize 32k managed by database using(file '/home/db2inst1/tablespace/TBS_MBI_IDX' 5g) extentsize 128k prefetchsize automatic bufferpool BP_32K no file system caching "
db2 "create user temporary tablespace TBS_TEMP_32K pagesize 32k managed by database using(file '/home/db2inst1/tablespace/TBS_TEMP_32K ' 10g) extentsize 128k prefetchsize automatic bufferpool BP_32K no file system caching "
db2 "create large tablespace TBS_MBIPRO_DATA pagesize 32k managed by database using(file '/home/db2inst1/tablespace/TBS_MBIPRO_DATA' 200m) extentsize 128k prefetchsize automatic bufferpool BP_32K no file system caching"
db2 "create large tablespace TBS_MBIPRO_IDX pagesize 32k managed by database using(file '/home/db2inst1/tablespace/TBS_MBIPRO_IDX' 10m) extentsize 128k prefetchsize automatic bufferpool BP_32K no file system caching "
3.2修改DB2inst1等密码
#进入root用户下执行
passwd db2inst1
passwd db2fenc1
passwd db2dasusr1