下载Db2 Linux:
https://www-01.ibm.com/support/docview.wss?uid=swg27007053 选择 DB2 9.7的Fix Pack 11,进入下一个页面:
https://www-01.ibm.com/support/docview.wss?uid=swg24038641
Linux 64-bit, x86-64 on AMD64 and Intel EM64T-->DB2 Server Fix Pack
这里下载Server版而非universal版,因为universal只可以用作升级,而server版不但可以用作升级而且可以用作安装。
1. 将下载的镜像安装文件v9.7fp11_linuxx64_server.tar.gz 上传到server上的路径/work_DB2下,然后解压,解包:
gzip -d v9.7fp11_linuxx64_server.tar.gz
tar -xf v9.7fp11_linuxx64_server.tar
或者直接:
tar -zxvf v9.7fp11_linuxx64_server.tar.gz
2. 会解压出一个server文件, cd server
[2.1] 安装之前可以检查安装先决条件是否符合: ./db2prereqcheck -v 10.5.0.0
这里是9.7的版本,应该是: ./db2prereqcheck -v 9.7.0.0
3. 安装数据库:
./db2_install -b /opt/ibm/db2/V9.7
效果和 ./db2_install一样,默认安装在 /opt/ibm/db2/<版本号> 下
[3.1] 如果有license需要注册:
cd /opt/ibm/db2/V9.7/adm
./db2licm -a /tmp/db2ese_c.lic
4. 创建相关的用户和组:
创建组:
groupadd -g 2000 db2iadm1 #实例用户所在组
groupadd -g 2001 db2fadm1 #fence用户所在组
groupadd -g 2002 db2asgrp #das用户所在组
groupadd -g 2003 db2imon1 #监控用户所在的组(参考8)
创建用户:
useradd -g db2iadm1 -m -d /home/db2inst1 db2inst1 #实例用户
useradd -g db2fadm1 -m -d /home/db2fenc1 db2fenc1 #fence用户, 实例在fence用户下创建(参考5)
useradd -g db2asgrp -m -d /home/db2as db2as #用于das管理服务器
useradd -g db2imon1 -m -d /home/dbmonusr db2mon #监控用户(参考8)
useradd -m -d /home/devdba devdba #DBA用户(参考10)
修改用户密码:
passwd db2inst1
passwd db2fenc1
passwd db2as
passwd db2mon
passwd devdba
5. 创建实例:
cd /opt/ibm/db2/V9.7/instance
chmod -R 775 *
./db2icrt -u db2fenc1 db2inst1
这里也可以用-p 50000选项直接指定端口号(不推荐,建议在/etc/services里配置):
./db2icrt -p 50000 -u db2fenc1 db2inst1 #这样就会把dbm的SVCENAME设置成50000
6.设置端口号(若db2icrt的时候已经创建了50000,也可以不配置),可以在这里用root修改:
vi /etc/services
在里面加上: DB2_db2inst1 60000/tcp
对于db210.5建过实例之后/etc/services中就会自动添加以下类似配置:
DB2_db2inst1 60000/tcp
DB2_db2inst1_1 60001/tcp
DB2_db2inst1_2 60002/tcp
DB2_db2inst1_3 60003/tcp
DB2_db2inst1_4 60004/tcp
DB2_db2inst1_END 60005/tcp
7.创建 das 管理服务器
为了远程客户端能够用控制中心来控制数据库服务器,需要在数据库服务器上安装 das,当然,如果只是远程连接而不是远程管理,可以不用装。
su - root
cd /opt/ibm/db2/V9.7/instance
./dascrt -u db2as
8. su - db2inst1,然后db2start 启动实例。
修改SVCENAME,使其指向配置的服务名DB2_db2inst1:
db2 update dbm cfg using SVCENAME DB2_db2inst1
修改dbm cfg的SYSMON_GROUP,其值设置为监控组名db2imon1
db2 update dbm cfg using SYSMON_GROUP db2imon1
重启实例: db2stop / db2start
9.修改下db2set
安装好DB2软件和创建好实例以及das之后,db2set一般会自动生成以下几个配置选项:
[g] DB2SYSTEM=localhost.localdomain
[g] DB2INSTDEF=db2inst1
[g] DB2ADMINSERVER=db2as
可以先添加几个有必要的选项,如:
db2set DB2COMM=TCPIP
db2set DB2CODEPAGE=1208
db2set AUTOSTART=YES
DB2FCMCOMM=TCPIP4
修改DB2SYSTEM:
su root
db2set -g DB2SYSTEM=<hostname>
也可以额外再添加一些有用的选项,如:
db2set DB2_LOAD_COPY_NO_OVERRIDE=NONRECOVERABLE
db2set DB2_PARALLEL_IO=*
db2set DB2_CAPTURE_LOCKTIMEOUT=ON
db2set DB2_EXTENDED_OPTIMIZATION=ON
db2set DB2_DISABLE_FLUSH_LOG=ON
db2set DB2_STRIPED_CONTAINERS=ON
db2set DB2_HASH_JOIN=Y
10.创建sample
db2sampl
db2 connect to sample
db2 grant dbadm on database to user devdba
或手工新建一个库:
db2 "CREATE DATABASE testdb AUTOMATIC STORAGE YES ON /dbauto USING CODESET GBK TERRITORY CN "
注意,UTF-8对应codepage 的1208, GBK对应db2的codepage 1386, 要和db2set里的DB2CODEPAGE对应,建库之后CODESET不能改,而db2set可以改。