CentOS 6.5安装DB2 10.5 EXPRESS C数据库, (斤儿个黑街出版)
1. 准备DB2安装文件
这个文件可以在网盘中搜,如果搜不到,请联系我,这个安装包是适合x86_64位的系统, (请注意)
2. 准备环境
需要依赖三个环境:
(1).libaio-0.3.110-7.el26.x86_64.rpm 原生异步IO接口
(2).libstdc++-7.2.1-6.el26.x86_64.rpm C++基础的lib库
(3).numactl-2.0.9-2.el6.x86_64.rpm 依赖动态共享库
3. 将文件放到服务器/tmp(临时文件)目录下
tar.gz类型的需要先用 gunzip解压, 再用tar解压
所以执行以下命令:
|
cd /tmp gunzip v10.5fp1_linuxx64_expc.tar.gz tar xvf v10.5fp1_linuxx64_expc.tar |
完成后会得到expc目录, 进入expc目录
cd expc |
4. 执行安装程序
/tmp/expc/db2_install
显示如下说明安装成功
5. 配置DB2
a> 创建用户组和用户
|
groupadd -g 2000 db2iadm1 useradd -m -g db2iadm1 -d /home/db2inst1 db2inst1 passwd db2inst1 密码设置 db2inst1 (或者其他) |
b> 创建实例
/opt/ibm/db2/V10.5/instance/db2icrt -a server -u db2inst1 db2inst1 |
如果报以下错误是主机名无效需要配置主机名
vi /etc/hosts |
添加127.0.0.1 主机名到hosts中
c> 引入许可license
/opt/ibm/db2/V10.5/adm/db2licm -a /tmp/expc/db2/license/db2expc_uw.lic |
d> 允许SMS的多页分配
/opt/ibm/db2/V10.5/cfg/db2ln |
e> 添加DB2端口
vi /etc/services |
在最后一行加入(shift+ g)切换到行尾,o新建一行,填入后,esc-> :wq保存退出(给小白看的, 大佬见谅)
db2inst 50000/tcp
f> DB2 配置
下面命令需要转到DB2实例用户执行
|
su - db2inst1 db2set DB2_EXTENDED_OPTIMIZATION=ON db2set DB2_DISABLE_FLUSH_LOG=ON db2set AUTOSTART=YES db2set DB2_STRIPED_CONTAINERS=ON db2set DB2_HASH_JOIN=Y db2set DB2COMM=tcpip db2set DB2_PARALLEL_IO=* db2set DB2CODEPAGE=819 |
配置databaseManagerconfig和TCP/IP服务名字
|
db2 update dbm cfg using SVCENAME db2inst db2 update dbm cfg using INDEXREC ACCESS |
6. 启动DB2服务
db2start |
! 这里有可能出现找不到library的问题, 是因为缺少了动态共享库
安装numactl-2.0.9-2.el6.x86_64.rpm 就可以解决了,
7. 测试
创建库 ----------- 连接比较慢,请大家耐心等待
db2 "CREATE DATABASE DCDDB1 ALIAS DCDDB1 USING CODESET ISO8859-1 TERRITORY US" |
连接到库
db2 connect to DCDDB1 |
创建表
db2 "CREATE table mytable ( col1 INTEGER NOT NULL, col2 VARCHAR(40), col3 DECIMAL(9,2))" |
执行查询语句
db2 "SELECT * FROM mytable FETCH FIRST 10 ROWS ONLY" |
到这一步说明已经成功了:
8. 配置框架DataSource
|
DataSource.driverClassName=com.ibm.db2.jcc.DB2Driver
DataSource.url=jdbc:db2://dbServer:50000/DCDDB1
DataSource.username=db2inst1
DataSource.password=db2inst1
DataSource.dialect=org.hibernate.dialect.DB2390Dialect
|