首页 > 代码库 > DB2的安装过程

DB2的安装过程

1、DB2安装

   本次安装的服务器系统是Linux,版本是Redhat6.3[uname -a 结果:Linux pss-seat2 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux]。安装的DB2版本是V10.1,采用的是使用命令行安装,即使用db2_install命令,而非使用db2setup的界面安装。
具体安装步骤如下:

《1》查看并设置系统语言

在linux系统中使用root账户输入命令:locale进行查看,结果如下:

LANG=zh_CN.GB18030

LC_CTYPE="zh_CN.GB18030"

LC_NUMERIC="zh_CN.GB18030"

LC_TIME="zh_CN.GB18030"

LC_COLLATE="zh_CN.GB18030"

LC_MONETARY="zh_CN.GB18030"

LC_MESSAGES="zh_CN.GB18030"

LC_PAPER="zh_CN.GB18030"

LC_NAME="zh_CN.GB18030"

LC_ADDRESS="zh_CN.GB18030"

LC_TELEPHONE="zh_CN.GB18030"

LC_MEASUREMENT="zh_CN.GB18030"

LC_IDENTIFICATION="zh_CN.GB18030"

LC_ALL=

 

设置LC_ALL的值:export LC_ALL=en_US,export LANG=en_US在进行查看结果如下:

LANG=zh_CN.GB18030

LC_CTYPE="en_US"

LC_NUMERIC="en_US"

LC_TIME="en_US"

LC_COLLATE="en_US"

LC_MONETARY="en_US"

LC_MESSAGES="en_US"

LC_PAPER="en_US"

LC_NAME="en_US"

LC_ADDRESS="en_US"

LC_TELEPHONE="en_US"

LC_MEASUREMENT="en_US"

LC_IDENTIFICATION="en_US"

LC_ALL=en_US

 

注意:上面操作的目的是为了便于输入英文。因为要是中文在安装选择时容易陷入死循环。
重复出现:Do you want to install the Application Cluster Transparency Feature? [yes/no]

《2》查看Redhat的SELinux值

系统初始安装时,该值设置为enforcing,此时安装时会出现错误编号为1的错误,设置其为disabled。
具体设置步骤:进入/etc/selinux下更改config文件的内容[cd /etc/selinux,vi config]
注意:该值要是设置为enforcing会出现错误1的错误。
碰到的错误:

 

错误编号
1
错误描述
技术分享
解决方案
1、cd /etc/selinux;2、vi config;3、将该文件中的SELINUX=enforcing改为SELINUX=disabled。
错误编号
2
错误描述
技术分享
解决方案
这个警告不影响DB2的安装,是C++编译时使用的包

 

《3》安装DB2

这里仅是安装DB2数据库,不含数据库实例。安装文件名为:v10.1_linuxx64_ese.tar。
将安装文件拷贝到合适的目录,确定该目录的空间大于10G。这里拷入/opt/db2(自己创建的)。
解压:tar -xvf v10.1_linuxx64_ese.tar,会在当前目录生出ese目录,里面含有安装文件。
进行安装:cd /ese;执行安装命令: ./db2_install 若无错误则出现下面的信息,并根据提示输入相应的信息。

DBI1324W  Support of the db2_install command is deprecated. For more information, see the DB2 Information Center.

Default directory for installation of products - /opt/ibm/db2/V10.1

***********************************************************

Install into default directory (/opt/ibm/db2/V10.1) ? [yes/no] (作者注:输入yes)

yes

Specify one of the following keywords to install DB2 products.

  ESE

  CLIENT

  RTCL 

Enter "help" to redisplay product names.

Enter "quit" to exit.(作者注:输入ESE---单机版)

***********************************************************

ESE

***********************************************************

Do you want to install the Application Cluster Transparency Feature? [yes/no](作者注:输入no)

no

DB2 installation is being initialized.

 Total number of tasks to be performed: 45

之后会出现45个task开始和结束的信息,知道看到

The execution completed successfully.

 

说明DB2数据库已经安装完毕。

 二、实例的创建

《1》查看hosts中的值

这个问题很隐蔽,一定要注意,之前安装时总是报错误1。更改该文件之前执行命令:cat /etc/hosts结果如下:
技术分享
而我们安装的服务器IP是:172.27.18.30,hostname:pss-seat1。
更改后[注意最后一行]:
技术分享
更改步骤:
cd /etc; vi hosts;在最后一行加上安装机器的ip地址,空格,hostname。

《2》创建实例

创建用户组
/usr/sbin/groupadd db2iadm1
/usr/sbin/groupadd db2fadm1
/usr/sbin/groupadd dasadm1(没有要求,一般不建)
创建用户,并设置组。
/usr/sbin/useradd -m -g db2iadm1 -d /home/db2inst1 db2inst1 -s /bin/bash[实例用户]
/usr/sbin/useradd -m -g db2fadm1 -d /home/db2fenc1 db2fenc1 -s /bin/bash[受防护用户]
以上语句也可以分步骤执行

 

cat /etc/group [查看db2iadm1的GID]
/usr/sbin/useradd -d /home/db2inst1 db2inst1 -s /bin/bash
usermod -g 1000 db2inst1[这里1000是db2iadm1的GID]
/usr/sbin/useradd -d /home/db2fenc1 db2fenc1 -s /bin/bash
usermod -g 999 db2fenc1 [这里999是db2fadm1 的GID]

 

 

若是创建第二个实例,则1>就不用再建,直接执行第二步即可。
/usr/sbin/useradd -m -g db2iadm1 -d /home/db2inst2 db2inst2[实例用户]
/usr/sbin/useradd -m -g db2fadm1 -d /home/db2fenc2 db2fenc2[受防护用户]

 

更改目录权限并为用户设置密码
chown db2inst1 /home/db2inst1
chown db2fenc1 /home/db2fenc1
passwd db2inst1 设置密码,以便使用DATASTUDIO连接数据库
passwd db2fenc1
创建用户的.profile文件
su - db2inst1
cd ~
touch  .profile
创建实例
su - root
cd /opt/ibm/db2/V10.1/instance[进入DB2安装目录]
./db2icrt -u db2fenc1 db2inst1[./db2icrt -a server -u db2fenc1 db2inst1]
当然这里也可以指定端口,不用DB2自己寻找的端口,命令如下:
./db2icrt -p 60000 -u db2fenc1 db2inst1[此时默认-a SERVER]
进入/etc下可以在文件services中最下面看到类似下面的字样说明创建成功!
技术分享
启动db2实例(这里登录到系统后首先执行su – db2inst1
db2start[启动成功会出现下面的字符串]
技术分享
配置实例
配置连接方式为tcpip:
su - db2inst1 (修改TCP/IP变量)
db2set db2comm=tcpip
db2 update dbm cfg using SVCENAME DB2_db2test [注意: DB2_db2ins1是db2实例创建的时候自动写在/etc/services的映射,这里也可以直接更改成你想要的端口]
其他设置
设置Oracle兼容性开关
db2set DB2_COMPATIBILITY_VECTOR=ORA
启动db2实例(这里登录到系统后首先执行su – db2inst1)
db2start
若能启动说明创建成功!且进入/etc下可以在文件services中最下面看到类似下面的字样。
技术分享
碰见的问题:

 

错误编号
1
错误描述
Operating system information: Linux 2.6.32-279.el6.x86_64.#1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64
ERROR: DBI1702E  The specified service name or port number conflicts with existing values in the TCP/IP services file.
Explanation:
The service name or port number conflicts with existing values in the
services file. The service name might already be used with a different
port number, or the port number might already be used with a different
service name.
解决方案
1、cd /etc;2、vi hosts ;3、添加一行:IP地址+空格+hostname
备注
若出现该错误说明找不到合适的端口,陷入无限循环监听可用端口。

 

三、数据库的创建(承接上面,仍是db2inst1用户下)

db2 "CREATE db seatmap USING CODESET UTF-8 TERRITORY CN";
db2 connect to seatmap;
执行创建的sql语句,其中包括缓冲池、表空间、schema、序列、表结构以及索引、约束等。在命令行中输入db2 -tvf seatmap.sql 。
插入必要的静态数据 db2 -tvf seatmap_staticData.sql 。

DB2的安装过程