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快速入门—DB2 11的安装与使用相关推荐

  1. DB2快速入门的捷径pdf

    下载地址:网盘下载  DB2 快速入门的捷径 DB2 Express C 9.7 3rd本书面向与那些从事数据库相关工作的读者,比如数据库管理员(dba).数据库相关的开发人员.咨询人员.软件架构设计 ...

  2. metasploit快速入门(一)安装部署

    目录 简介 1 在Windows上安装Metasploit 2 在Linux和MacOS上安装Metasploit 3 在Kali Linux上使用Metasploit 4 升级Kali Linux ...

  3. postergresql mysql_PosttgreSQL快速入门:PostgreSQL的安装和配置

    一.在CentOS上安装PostgreSQL数据库 下面我们就以CentOS系统为例,给大家讲解一下PostgreSQL的安装过程. 1.使用yum安装postgresql [pengchengxia ...

  4. selenium安装_Selenium快速入门知识1-环境安装

    Selenium可以通过Python开发,也可以通过Java.JavaScript等各种语言进行开发,本节仅对Python进行讲解. 如前面所属Selenium3.X对于2.X而言一个最基本的变化在于 ...

  5. 【数字IC验证快速入门】11、Verilog TestBench(VTB)入门

    导读:作者有幸在中国电子信息领域的排头兵院校"电子科技大学"攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思.清华紫光.联发科技等业界顶尖集成电路相关企业面授课程, ...

  6. 001-ant design安装及快速入门【基于纯antd的基本项目搭建】

    一.安装使用 1.1.安装 推荐使用 npm 或 yarn 的方式进行开发 npm install antd --save yarn add antd 1.2.浏览器引入 在浏览器中使用 script ...

  7. Qt 快速入门学习笔记

    Qt 快速入门学习笔记 环境安装 环境配置以及安装 安装包下载地址 1.windows安装 msvc编译器模块需要安装Windows软件开发工具包. MinGW是Windows平台使用GNU工具导入库 ...

  8. Three.js快速入门

    ThreeJS快速入门 ThreeJS开发 学习准备 安装 基本使用 效果图 控制器 物体移动 效果图 物体缩放与旋转 Clock跟踪时间 Gsap动画 自适应 Gui 效果图 BufferGeome ...

  9. 大数据技术之Flume(一)Flume概述、Flume快速入门

    文章目录 1 Flume 概述 1.1 Flume 定义 1.2 Flume 基础架构 1.2.1 Agent 1.2.2 Source 1.2.3 Sink 1.2.4 Channel 1.2.5 ...

最新文章

  1. linux查看系统版本信息命令
  2. RAC rac_liftSelector
  3. 判断Java 对象实例是否死亡
  4. Cookie、session、token对比
  5. 机器学习笔记(六):正则化
  6. java properties用法_java中Properties文件加载和使用方法
  7. mysql 4.0手工注入_手工注入——MySQL手工注入实战和分析
  8. Java异常处理: 缺包 ClassNotFound javax/xml/bind/JAXBException
  9. PyChram使用技巧
  10. 激光slam_激光SLAM与视觉SLAM的特点
  11. RecyclerListView的使用
  12. 探索 Rust 异步简化编程
  13. 实习笔试题,源代码编译
  14. linux 版本信息 64位,Centos查看版本信息
  15. Windows live Writer的安装配置
  16. 【Algorithm】逆序数的分治求解
  17. win7 、2008 提示Error 1606 Could Not Access Network Location %SystemDrive%/inetpub/wwwroot/ 的错误解决方法...
  18. opencv3编程入门毛星云(第五章节5.2)
  19. oracle中sql查询
  20. 文件分隔符和转义字符

热门文章

  1. Android Framework 窗口子系统 (08)窗口动画之动画系统框架
  2. java 摩尔斯电码_使用Java进行摩尔斯电码转换
  3. 463--计算岛屿的周长
  4. CKEditor和CKFinder及CKEditor配置属性说明
  5. Python爬取哔哩哔哩(bilibili)视频
  6. c:\Windows\system32\ regsvr32.exe Windows无法访问指定设备、路径或文件,你可能没有适当的权限访问该项目
  7. java将异常写到text,java捕获异常信息存入txt文件示例
  8. 验证身份证号码是否合法以及信息提取
  9. 【它山之玉】人生的自然法则-科学网马臻
  10. 【mba项目管理论文】S 公司项目管理绩效评价现状与问题(节选)