最近因工作需要在Linux机器中安装DB2数据库,故将安装过程记录下。
Linux版本:
Linux版本下的DB2数据库采用的官方免费版本,操作系统用的CentOS7。
安装过程:
1、下载:db2_v101_linuxia32_expc.tar.gz
2、解压,解压完成后会在当前目录下有一个 ./expc 文件夹
[root@localhost opt]# tar -zxvf db2_v101_linuxia32_expc.tar.gz
3、进入这个目录
[root@localhost opt]# cd expc/
4、执行安装
[root@localhost expc]# ./db2_install
5、添加组和用户:
组(用户名)
db2iadm1(db2inst1)
db2fadm1( db2fenc1)
[root@localhost expc]# groupadd -g 2000 db2iadm1
[root@localhost expc]# groupadd -g 2001 db2fadm1
[root@localhost expc]# useradd -m -g db2iadm1 -d /home/db2inst1 db2inst1
[root@localhost expc]# useradd -m -g db2fadm1 -d /home/db2fenc1 db2fenc1
[root@localhost expc]# passwd db2inst1
[root@localhost expc]# passwd db2fenc1
6、安装 license(产品许可证) PS:如果是ExpressC版本就不用做
[root@localhost adm]# pwd
/opt/ibm/db2/V10.1/adm
[root@localhost adm]# chmod -R 775 *
[db2inst1@localhost adm]$ ./db2licm -a /tmp/seagull/db2v10/license/db2ese_c.lic
7、创建实例和样本数据库
[root@localhost instance]# pwd
/opt/ibm/db2/V10.1/instance
[root@localhost instance]# chmod -R 775 *
[root@localhost instance]# ./db2icrt -p 50000 -u db2fenc1 db2inst1
[root@localhost instance]# su db2inst1
[db2inst1@localhost ~]$ db2sampl
Creating database "SAMPLE"...
Connecting to database "SAMPLE"...
Creating tables and data in schema "DB2INST1"...
Creating tables with XML columns and XML data in schema "DB2INST1"...
'db2sampl' processing complete.
[db2inst1@localhost ~]$ db2start
SQL1026N The database manager is already active.
[db2inst1@localhost ~]$ db2 connect to sample
Database Connection Information
Database server = DB2/LINUX 10.1.2
SQL authorization ID = DB2INST1
Local database alias = SAMPLE
[db2inst1@localhost ~]$ db2 "select * from staff"
8、设置端口号
vim /etc/services
在最后增加一行 # PS:VIM快捷键,在命令模式下输入“G”跳刀最后一行。
db2inst1 50000/tcp
9、db2 配置,要切换到用户 db2inst1
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 # PS:这个地方比较重要
10、设置服务,开机自启动
脚本内容如下:
#!/bin/sh
# chkconfig: 2345 99 01
# processname:IBMDB2
# description:db2 start
DB2_HOME="/home/db2inst1/sqllib" #安装db2用户的sqllib
DB2_OWNER="db2inst1" #db2用户名
case "$1" in
start )
echo -n "starting IBM db2"
su - $DB2_OWNER -c $DB2_HOME/adm/db2start
touch /var/lock/db2
echo "ok"
;;
stop )
echo -n "shutdown IBM db2"
su - $DB2_OWNER -c $DB2_HOME/adm/db2stop
rm -f /var/lock/db2
echo "ok"
;;
restart|reload)
$0 stop
$0 start
;;
*)
echo "usage:$0 start|stop|restart|reload"
exit 1
esac
exit 0
# PS: Linux与Window下的换行符不一样,可以在Linux中编辑下换行重新保存
将以上脚本命名为db2autostart文件
将db2autostart拷贝到/etc/init.d/下,运行 chmod -R 777 db2autostart; chkconfig --add db2autostart