DB2快速入门—DB2 11的安装与使用

原创 2016年08月29日 19:59:00

DB2快速入门—DB2 11的安装与使用

1.准备

DB2是IBM开发的关系型数据库,目前在银行等领域使用较多。
DB2 11是最新版本数据库,Express C是提供的免费版本,提供了大部分功能和特性。

DB2 11 Express C For Linux免费版官网下载地址:
http://www.ibm.com/analytics/us/en/technology/db2/db2-trials.html#db2-trials

SUSE Linux 11 SP4 操作系统:本文采用虚拟机方式安装和实验,DB2 11支持Ubuntu、Redhat等多种发行版,建议下载最新的版本,SUSE必须11 SP4以上版本才能安装DB2 11.

VMware Workstation 11.1.0版本

2.DB2安装方式选择

DB2 11安装支持:图形界面向导方式安装(最简单,但是需要图形界面支持)、响应文件静默安装(也就是命令+配置文件方式)、有效文件安装(拷贝有效的安装文件、手动设置,该方式仅支持部分DB2组件的安装)、db2_install命令行方式(该方式从V10开始淘汰,暂时仍然附带)

考虑到一般环境的安装情况,采用响应文件方式安装,该方式限制少,支持各种DB2组件安装。
linux上采用root用户安装,非root用户安装对DB2功能限制较多,暂不考虑。

3.具体安装过程

SUSE Linux采用默认安装即可,安装完成以后(注意安装光盘仍然需要挂载到虚拟机上),需要安装VMware Tool,以方便进行使用共享文件夹、文件鼠标自由移动拖拽、全屏等高级功能;

安装VMware Tools出现错误:

Before you can compile modules, you need to have the following installed...
make
gcc
kernel headers of the running kernel
Searching for GCC...
The path "" is not valid path to the gcc binary.
Would you like to change it? [yes]

Searching for a valid kernel header path...
The path "" is not a valid path to the 3.0.101-63-default kernel headers.
Would you like to change it? [yes]

原因:没有安装GCC和kernel header,这是由于采用了本地解压tar编译安装,需要这些工具和头文件;如果采用便宜好的rpm包就不需要这些了

解决:

#zypper install gcc    
#gcc  -v  

显示gcc版本号,即为gcc安装成功

#zypper se  kernel

发现:kernel-default*包、kernel-firmware程序包都已经安装,但是源码包没有安装;
这里误导了我,以为自己已经安装好了kernel headers相关的包,始终在寻找其他原因,但是其实头文件是在源码包中,必须安装源码包

#yast2 -i  kernel-source

或者

#zypper install  kernel-source

安装完成生成该目录:/lib/modules/3.0.101-63-default/build/include

重新安装vmware tools并重启:
注意有时候需要考虑linux操作系统内核版本和vm-tools版本,这里没有,(尝试过将vmware workstation 11.1.0升级到11.1.4,vmware tools也从9.9.2升级到9.9.5,无法解决上述问题)

#cd /media/VMware Tools
#cp VMwareTools-9.9.5-3735633.tar.gz /root
#cd /root
#tar xvfz VMwareTools-9.9.5-3735633.tar.gz
#cd  vmware-tools-distrib
#./vmware-install.pl  -d   这里加上参数,采用默认安装,不需要一步步交互确认
#reboot  安装完重启即可

DB2 11安装:
设置虚拟机共享目录,将windows主机存放的DB2 11安装包的目录设置为共享目录:E:\软件库\,并连接;登录SUSE虚拟机,拷贝安装包,进行安装
共享目录挂载在linux系统的/mnt/hgfs目录下。

#cd /mnt/hgfs/软件库
#cp v11.1_linuxx64_expc.tar.gz  /root
#cd /root
#tar xvfz  v11.1_linuxx64_expc.tar.gz 
#cd expc

检查安装先决条件满足:

#./db2prereqcheck -v 11.1.0.0

提示:
DBT3507E db2prereqcheck 实用程序未能找到以下程序包或文件:”gcc-c++”。

需要安装gcc++组件,挂载上suse linux sp4的安装光盘:

#zypper se gcc
#zypper install gcc-c++
#./db2prereqcheck -v 11.1.0.0

所有添加都满足,检查完成

编译配置样本响应文件

#cp /root/expc/db2/linuxamd64/samples/db2expc.rsp .
#vim db2expec.rsp

重点配置内容如下:开启配置项(去掉前面的星号)以及设置合适的值:(以下选项必须开启,注意前面的星号,否则可能提示 用户名等错误)
【一般配置】

LIC_AGREEMENT  = ACCEPT

【实例创建配置】
很多选项,例如实例名、实例用户名和组、目录都采用默认的即可
配置实例用户的密码:

DB2_INST.NAME = db2inst1
DB2_INST.GROUP = db2iadm1
DB2_INST.PASSWORD  =  password1
DB2_INST.PORT_NUMBER = 50000
DB2_INST.AUTHENTICATION = SERVER

【受保护的用户创建设置】

DB2_INST.FENCED_USERNAME = db2sdfe1
DB2_INST.FENCED_GROUP_NAME = db2fsdm1
DB2_INST.FENCED_PASSWORD = password2

【管理服务器创建设置】

DAS_USERNAME = dasusr1
DAS_GROUP_NAME = dasadm1
DAS_PASSWORD = password3

保存好响应文件,检查其有效性:

#cd /root/expc
#./db2setup -c -r db2expc.rsp

出错:

The host name "linux-suse11-sp4" is invalid. Specify a valid host name.
DBI1463E The response file validation failed. Log file:

本来以为主机名过长或者有特殊字符,#hostname suse11 以后仍然不行,经查:
在/etc/hosts里面添加主机DNS映射即可:

127.0.0.1          localhost suse11

DBI1702E The specified service name or port number conflicts with
existing values in the TCP/IP services file.

这个问题很明显,是因为实例端口已经被用,查看/etc/services文件可以看见50000端口被占用:

#vim db2expc.rsp

设置:

DB2_INST.PORT_NUMBER = 50001

修改后检查,提示成功:

#./db2setup -c -r db2expc.rsp

设置英文安装环境:

#export  LANG=en_US.UTF-8
#./db2setup -r db2expc.rsp

等安装成功,估计2-3分钟,提示:The execution completed successfully.

4.安装完成以后进行验证:

查看相关db2进程:

# ps -ef | grep db2

查看当前机器db2安装路径:

#db2ls 

【备注】以下所有操作都是使用linux用户:db2inst1

数据库实例操作:(数据库实例是创建和管理数据库的逻辑容器,进行数据库相关操作是在实例中)
数据库实例必须用创建时配置的实例用户名进行登录:在上述响应文件中,我们创建了db2inst1,因此DB2安装完成后自动创建了db2inst1的数据库实例和db2inst1的linux用户,密码是password1,默认的实例目录是在/home/db2inst1

切换root用户到实例用户db2inst1

#su - db2inst1

查看db2实例进程:

~ps -ef | grep db2
~db2

查询当前实例名

~db get instance 

启动当前实例:

~db2start

查询当前实例下所有的数据库:因为没有创建,查询为空

~db2 list db directory

创建一个数据库(在默认位置创建默认配置的数据库):

~db2 create database testdb

查询当前实例下的数据库:

~db2 list db database testdb

连接到testdb数据库:

~db2  connect to testdb

查看当前数据库的配置信息(例如编码等):

~db2 get db cfg | more

创建示例的表:求职简历表 job_resume,保存求职者的简历文件信息

字段名 解释 数据类型
joberno 求职者编号 唯一, char(6) not null
resume_format 简历格式标识 varchar(10) not null
resume 简历文件 clob(1m)

~db2 connect to testdb

查看当前连接的活动数据库:

~db2 list active databases

进入命令行操作:

~db2

进入db2命令行:(反斜杠\前面必须空一格,否则无法起到换行作用)

db2 => create table job_resume(joberno char(6) not null primary key,  \
resume_format varchar(10) not null,  \
resume clob(1m)) 

查看当前数据库的表格:

db2=>list tables

查看表格的模式定义:

db2=>describe table job_resume

退出命令行操作:

db2=>quit

删除测试数据库:需要先停止数据库连接和应用

~db2 drop database testdb

出错:

SQL1035N The operation failed because the specified database cannot be
connected to in the mode requested. SQLSTATE=57019

删除测试数据库:需要先停止数据库连接和应用

~db2 list applications
~db2 force applications  all
~db2 drop database testdb
~db2 list db directory

5.卸载DB2数据库

卸载脚本在:/opt/ibm/db2/V11.1/install/db2_deinstall

以root用户登录:执行
卸载数据库:

#/opt/ibm/db2/V11.1/install/db2_deinstall -a

出错:提示必须先卸载或者移除该安装副本所管理的所有实例
The deinstallation process cannot continue while there are DB2 instances related to the current DB2 copy.

解决:卸载实例
查询当前副本管理的所有实例列表:

#/opt/ibm/db2/V11.1/instance/db2ilist

逐一删除实例:本文只有db2inst1一个实例,删除

#/opt/ibm/db2/V11.1/instance/db2idrop db2inst1

出错:提示该实例仍然是活动状态,也就是有应用连接,必须先停止
The DB2 installer detects that one or more DB2 instances "db2inst1" are still active. Stop the active instances and rerun the command again.

停止实例再删除实例:

#su - db2inst1
~db2stop  force
~su - root
#/opt/ibm/db2/V11.1/instance/db2idrop db2inst1

再次执行卸载脚本:
卸载数据库:

#/opt/ibm/db2/V11.1/install/db2_deinstall -a

再次提示das服务开启,需要关闭并删除:
The DB2 installer detects the DAS is using the current DB2 copy to be uninstalled.

切换到dasusr1用户:

# su - dasusr1
~db2admin stop
#su - root
~/opt/ibm/db2/V11.1/instance/dasdrop 

再次执行卸载脚本:
卸载数据库:

#/opt/ibm/db2/V11.1/install/db2_deinstall -a
版权声明:本文为博主原创文章,未经博主允许不得转载。

最新版db2 express c 10.1安装图解

注意:安装路径中一定不能含有任何中文及空格!!!否则安装一定失败!!! 请到官网下载相应版本的软件,这里下载的是db2_v101_winx64_expc.exe 64位的免费版。 用管理员...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

DB2入门(1)--安装、启动、连接

1.安装数据库windows下的安装软件下载直接是从官网下载的, 下载免费试用版学习一下: 1. 进入官网,点击“Free DB2 trials” 2. 然后选择自己要下载的版本,我选择的是社...

DB2 完整安装过程

DB2安装 本节其我们开始学习DB2相关的管理技术,还是从安装开始讲起,本例以AIX平台为基础,由于版面字数限制,刚开始很全面的发表失败,由于未备份只能重新开始来,本讲就简化,注重安装过程,至于为什...

DB2 11基础:概述

DB2 11基础:概述DB2 11基础概述 写在前面 产品概述 1 DB2 11各种版本说明 2 DB2 组件 数据库基础 1 安装DB2 2 许可证设置 3 多文化支持与字符集 4 安全性模型 数据...

DB2 Express c for linux 安装

DB2 for linux 安装

DB2的安装与初次使用

一 DB2安装过程1 新建3个组,分别为管理组件das组,实例inst组,守护def组。随后在三个组中分别加入对应的用户:das,inst,和def。注意的是inst用户>同时属于das组。为各个用户...
  • zzulp
  • zzulp
  • 2010年01月12日 23:19
  • 2817

用db2_install命令行安装DB2数据库

安装过程: 一、上传安装文件DB2_WSE_V95_Linux_x32_C1HR4EN.tar   二、解压安装文件: # tar –xfv DB2_WSE_V95_Linux_x32_C1H...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DB2快速入门—DB2 11的安装与使用
举报原因:
原因补充:

(最多只允许输入30个字)