本文详细介绍一下DB2数据库在Linux环境下的安装过程。所使用的Linux发行版是Ubuntu 12.04。DB2版本是DB2 Express-C V10.1 Linux 32位版,即DB2 V10的社区版(免费版本)。
装前准备
获取DB2
1.到IBM官网:http://www-01.ibm.com/software/data/db2/express/download.html下载DB2 Express-C Linux版(你需要注册一个IBM免费帐号)。
2.下载页面一共有5个文件:
第一个文件是DB2 Express-C light,一个轻量级的版本;
第二个文件是DB2 Express-C 的完整版,所以建议不用第一个,下第二个就行了;
第三个文件是Data Studio Administation Client,这个是一个单独的数据库管理软件,由于从DB2 V10开始,DB2数据库已经不再集成控制中心(Control Centre)了(意味着默认只能用命令行方式管理数据库),对DB2的GUI方式的管理由单独的Data Studio工具完成。所以为了便于管理DB2数据库,建议Data Studio也要下载安装。这里提供的只是Data Studio的管理客户端版,也可以选择下载Data Studio完整版。Data Studio是免费提供的。
第四个文件是Accessories Suit Text Search。这是DB2的一个全文本搜索组件,一个很强大的搜索组件。可装可不装。
第五个文件是National Language Pack for DB2,即本地化语言包。里面包含了DB2支持的全部语言。要注意:由于DB2安装时会自动根据操作系统的语言来选择DB2安装语言(当然,英文语言总是被安装的),如果你使用的Linux环境是中文的,那么安装过程中会要求提供语言包的地址(不知道如果不提供语言包是不是就安装成英文的了)。所以,建议下载这个语言包。
另外,IBM支持使用HTTP下载或者用它自己的Download Director下载。后者需要Java运行时环境。
安装必要软件
1.由于DB2的安装包是基于RPM的,所以需要安装一个rpm兼容的安装器。IBM推荐使用alien。安装命令为:
sudo apt-get install alien
2.由于DB2的安装过程需要依赖gcc,所以还需要安装libstdc++5和libaio-dev。安装命令为:
sudo apt-get install libstdc++5
sudo apt-get install libaio-dev
正式安装
1.下载得到的db2_v101_linuxia32_expc.tar.gz就是DB2安装包了。你可以在图形化界面上直接将其解压,得到expc目录。也可以在终端下,运行 $tar xzvf db2exc_91_LNX_x86.tar.gz 命令完成解压。这里以直接解压得到expc目录为例。
2.双击expc目录下的db2setup文件运行。或者终端下跳转到expc目录,然后键入sudo ./db2setup 开始安装。这里要注意:如果当前的Ubuntu用户不是root用户,那么直接双击db2setupyunx安装程序的话就是以非root方式安装。而终端下键入sudo ./db2setup则是进行root安装(当然如果没有sudo则同样是非root安装)。推荐root安装。所以这里使用后者。
3.稍后弹出安装页面,正式开始DB2安装。注意一定不要将上面的终端关闭了!
4.直接点击“安装产品”,接受许可协议,安装类型默认(典型),安装操作默认(响应文件),安装目录默认(root安装会安装到root目录下,非root安装会安装到当前用户的home目录下)。然后是DAS用户设置。DAS是数据库管理服务器,这里可以默认创建新用户,也可以使用现有用户。
使用新用户可以自己指定用户名,UID,组名,GID和用户主目录。这些都可以使用默认值,只需要设置一个密码就可以了。
使用现有用户则需要注意:指定的用户必须具有最低特权集。即不要使用root账户。还有,DAS用户不能和后面指定的实例所有者用户相同。
由于这个用户并不需要去特别管理,使用默认方式,创建一个新用户就行了。
5.然后进入实例设置页面,DB2必须至少要有一个实例才行,可以选择安装时创建DB2实例或者安装完成后再创建。选择安装后创建则后面就没有实例用户和受防护用户的设置内容了,但是需要安装完成后立即在终端中手动创建实例和实例用户等,要麻烦一些。所以这里选择安装时创建。
6.然后进入实例设置页面。这是DB2安装过程中最重要的一环了,和DAS用户设置一样,DB2实例所有者可以是创建的新用户,也可以直接使用现有用户。
如果创建新用户,则可自己指定用户名,组名,用户主目录等。DB2默认实例名和该实例的所有者用户名是一样的,比如默认创建一个用户名为db2inst1的用户,则实例名为db2inst1。
如果直接使用现有用户,则可以指定一个已存在的用户,比如直接指定为当前用户。使用现有用户主要是基于方便上的考虑。当然,创建的实例名也会和指定的现有用户的用户名一样。
要注意:Linux环境下,DB2实例直接是和用户相关联的,一个实例必须对应于一个实例所有者用户和一个受防护用户(当然实例所有者用户和受防护用户可以是同一个用户),一个用户也最多只能有一个DB2实例。想要创建多个实例就需要先创建多个用户。为了使用的方便,这里直接使用当前用户作为实例所有者用户,即为当前用户创建DB2实例。(如果使用别的用户创建实例,则使用当前用户登录后还要进行用户切换才能使用DB2数据库)
7.设置受防护的用户。上面介绍过,一个实例对应一个所有者用户和一个受防护用户。受防护用户的作用是以该用户执行不稳定的存储过程或函数,出错时不会影响到实例本身。(类似沙盒)
受防护用户的设置和所有者用户的设置一样,这里依然是设置为当前用户(会出现警告,无视)。
8.一切配置就绪,开始安装。安装过程中可能要求提供语言包镜像。将之前下载的语言包解压后,指定镜像目录为解压得到的目录就行了。
9.安装完成!
后续配置
启动/切换实例:
如果是创建了新的实例所有者,如db2inst1,而当前登录用户为maple,要启动db2inst1实例,则终端下需要输入以下命令启动(实例切换也是下述命令,因为同时只允许一个实例是活动的):
su db2inst1 (切换到db2inst1用户)
. ~/sqllib/db2profile (调入该用户配置脚本,设置db2inst1实例为当前实例)
db2start (启动当前实例)
如果当前登录用户为maple,而maple用户拥有实例maple,则要启动maple实例,终端下需要输入的命令为:
db2start (直接启动当前用户的实例)
如果我们希望一个实例在每次系统启动后自动启动,可以使用以下命令:
db2iauto -on <实例名>
如:希望实例db2inst1自动启动,命令为:db2iauto -on db2inst1
如果希望关闭实例的自动启动,则可使用以下命令:
db2iauto -off <实例名>
##################################################################################
以上实例的启动是以实例已经存在为前提的,如果安装DB2时选择在DB2安装完成后设置实例,则需要在安装完成后先创建实例。当然,如果需要创建多个实例,同样是执行下面的操作。注意下面的操作需要root方式执行。
1.创建用户组(DAS组,实例所有者组,受防护用户组):
sudo groupadd -g 999 db2iadm1
sudo groupadd -g 998 db2fadm1
sudo groupadd -g 997 dasadm1
2.创建用户(DAS用户,实例所有者,受防护用户):
sudo useradd -u 1002 -g dasadm1 -m -d /home/dasusr1 dasusr1 -p password2
sudo useradd -u 1003 -g db2fadm1 -m -d /home/db2fenc1 db2fenc1 -ppassword3
sudo useradd -u 1004 -g db2iadm1 -m -d /home/db2inst1db2inst1 -p password4
[3.创建DAS管理服务器:] (如果创建过DAS管理服务器,就不用再行创建了,一台计算机只能有一个DAS服务器,它能管理所有DB2实例)
sudo /opt/ibm/db2/V10.1/instance/dascrt -u dasusr1 (这里的dascrt命令的位置为DB2的安装目录,dasusr1为刚才创建的DAS用户)
另外:DAS服务器的关闭和开启需要切换到DAS用户下执行
/opt/ibm/db2/V10.1/das/bin/db2admin stop 或 /opt/ibm/db2/V10.1/das/bin/db2admin start
4.创建实例:
sudo /opt/ibm/db2/V10.1/instance/db2icrt-u db2fenc1 db2inst1 (db2icrt命令的位置为DB2的安装目录,db2fenc1为刚才创建的受防护用户,db2inst1为刚才创建的所有者用户)
5.按照上面启动实例的方法启动实例.
##################################################################################
创建样本数据库
DB2 V10安装完成后默认是不会创建Sample数据库的,创建Sample数据库的命令为:
db2sampl
注意:创建Sample数据库前请确认当前实例名,避免将数据库创建到别的实例上,显示所有数据库实例的命令是db2ilist。显示当前数据库实例的命令是
db2 get instance
如果需要将数据库创建到别的实例上,则参考前面实例启动/切换的内容先就行实例切换。
最后贴上Linux中的DB2用户组的介绍:
来自:http://www.lupaworld.com/home-space-uid-263754-do-blog-id-242455.html
1、DB2 Administration Server(DAS)用户帐户
2、DB2 UDB 实例所有者用户帐户
3、DB2 UDB 受防护用户帐户
默认情况下,DB2 安装向导在DB2 UDB服务器安装过程中将自动创建这些用户和组帐户。也可以在安装过程中指定已有的用户帐户。
[DB2 Universal Database:DB2通用数据库,指运行于LUW三种系统上的DB2数据库,缩写DB2 UDB。]
Instance Owner(实例所有者)用户帐户:
在实例所有者的主目录中创建DB2 UDB实例。该用户帐户控制所有的DB2 UDB进程,拥有该实例所含数据库使用的全部文件系统和设备。在DB2 UDB安装过程中DB2 UDB实例所有者使用的默认用户ID是 db2inst1,默认组是db2iadm1。如果该用户名已经存在,DB2安装向导就会在默认的名称后面增加一个 1-99 的数字,直到遇到一个不存在的用户 ID。
一种好的办法是将实例所有者用户帐户限制在实例所有者组中,不在其他任何组中包含它。这样有助于控制可以修改实例或者实例中任何对象的用户帐户和组的数量。
DB2 Administration Server(DAS) 用户帐户:
DB2 Administration Server(DAS)用户帐户用于在系统上运行DAS进程。默认安装过程中创建的默认用户ID是 dasusr1,默认组是 dasadm1。DB2 UDBGUI 工具还使用 DAS 帐户对本地服务器实例和数据库执行管理任务。每台机器上只需要一个 DAS。它可以管理服务器上定义的所有实例。DAS用户帐户必须不同于实例所有者用户帐户。
一旦使用该帐户启动DAS进程,也必须使用该帐户停止。因此在Linux或UNIX上,必须使用su - 命令切换到 DAS 用户帐户以便启动和结束 DAS 进程。
Fenced(受防护)用户帐户:
受防护用户帐户用于在DB2 UDB引擎使用的地址空间(内存)之外运行用户定义函数(UDF)和存储过程。有时候,如果一个过程或函数不稳定或者在测试中,那么应该将其定义为 FENCED,这样就可以在自己的进程地址空间中运行。这样,如果该函数或过程崩溃或者异常终止,也不会对其他实例进程产生任何影响。为受防护用户创建的默认用户帐户是db2fenc1,默认的组是db2fadm1。由于安全的原因,我们建议不要使用实例所有者帐户作为受防护用户帐户。如果不 需要这个层次的安全,比方说是在测试环境中运行,或者不准备使用fenced
UDF或存储过程,可以直接使用实例所有者帐户而不必创建其他用户帐户。在创 建新的实例时,必须在实例创建命令中指定受防护用户帐户(db2icrt ... -u )。
安装Data Studio
IBM Data Studio是IBM提供的一款基于Eclipse的集数据库管理和数据库应用程序开发的集成开发平台,致力于提供一体化的开发解决方案。自DB2 V10开始替代DB2控制中心成为DB2官方数据库管理工具。安装DB2 V10后强烈建议安装Data Studio。另外,和RSA等IBM其他集成开发平台一样,Data Studio能够通过切换透视图支持诸如Java,Java EE,Web,Javascript,XML,UML建模等等各种类型的开发需求。甚至通过安装插件支持C/C++,Android等应用的开发(安装Data Studio后就不必安装Eclipse了,Data Studio中已经集成)。
DB2 V10安装完成后,现在进行Data Studio在Linux 环境下的安装。这里选择的是Data Studio V3.1.1的完整版,下载地址:
https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?lang=en_US&source=swg-idside
具体安装步骤如下:
1.将下载到的压缩包解压。(为了方便,将解压得到的文件夹重命名为studio)
2.打开终端,cd跳转到/disk1/InstallerImage_linux目录下。然后键入命令:sudo ./install开始安装(依然是进行root安装):
要说明的是:Data Studio安装的默认方式是直接在终端下运行studio目录下的setup文件,通过launchpad启动安装,但是可能会由于浏览器支持方面的原因,无法正常启动安装程序,所以我们直接使用Data Studio的安装脚本进行安装。
(IBM软件的安装方式通常都是启动其launchpad进行安装,但有时候launchpad启动会失败,所以跳过launchpad,直接运行软件内的安装程序就能够正常安装了)
另外,安装Data Studio会强制安装一个IBM Installer Manager工具,这个是IBM软件的安装管理器,帮助用户安装所有IBM的各种软件。
安装程序启动后,剩下的工作就非常简单了,不想进行自定义安装的话,一直“下一步”就行了。不多解释,直接贴图:
Data Studio安装完成!
在Data Studio中连接DB2数据库
启动Data Studio后,右击左侧资源管理器中的“所有数据库”,选择“新建数据库连接”,按如下图配置连接Sample数据库(注意要填写数据库用户名和密码才能连接):
连接完成后就可以在Data Studio中管理DB2数据库了: