ubuntu12.04安装db2

首先下载db2 express c 10.1

这里下载:https://www.ibm.com/developerworks/cn/downloads/im/udbexp/

linux64位大小为522M, 文件名为db2_v1012_linuxx64_expc.tar.gz
拷贝到~/Downloads/java_soft

进入到该目录,解压缩:
tar -xzf db2_v1012_linuxx64_expc.tar.gz(此步会将文件解压到当前目录下的expc目录下)

cd expc

sudo ./db2_install -b /opt/ibm/db2/v10.1

我的是固态硬盘,大约不到2分钟就装好了。输入db2ls会列出系统中已安装的所有db2版本

cyper@cyper-pc:~$ db2ls

Install Path                       Level   Fix Pack   Special Install Number   Install Date                  Installer UID
---------------------------------------------------------------------------------------------------------------------
/opt/ibm/db2/v10.1               10.1.0.2        2                            Sat Jan  5 20:52:54 2013 CST             0
cyper@cyper-pc:~$ db2ls -q -b /opt/ibm/db2/v10.1/

Install Path : /opt/ibm/db2/v10.1

Feature Response File ID             Level   Fix Pack   Feature Description  
---------------------------------------------------------------------------------------------------------------------
BASE_CLIENT                        10.1.0.2          2   Base client support
JAVA_SUPPORT                       10.1.0.2          2   Java support
SQL_PROCEDURES                     10.1.0.2          2   SQL procedures
BASE_DB2_ENGINE                    10.1.0.2          2   Base server support
DB2_DATA_SOURCE_SUPPORT            10.1.0.2          2   DB2 data source support
SPATIAL_EXTENDER_SERVER_SUPPORT    10.1.0.2          2   Spatial Extender server support
LDAP_EXPLOITATION                  10.1.0.2          2   DB2 LDAP support
INSTANCE_SETUP_SUPPORT             10.1.0.2          2   DB2 Instance Setup wizard
ACS                                10.1.0.2          2   Integrated Flash Copy Support
SPATIAL_EXTENDER_CLIENT_SUPPORT    10.1.0.2          2   Spatial Extender client
COMMUNICATION_SUPPORT_TCPIP        10.1.0.2          2   Communication support - TCP/IP
APPLICATION_DEVELOPMENT_TOOLS      10.1.0.2          2   Base application development tools
DB2_UPDATE_SERVICE                 10.1.0.2          2   DB2 Update Service
DB2_SAMPLE_DATABASE                10.1.0.2          2   Sample database source
TEXT_SEARCH                        10.1.0.2          2   DB2 Text Search
FIRST_STEPS                        10.1.0.2          2   First Steps
cyper@cyper-pc:~$

创建实例
su
groupadd -g 1100 db2iadm1
groupadd -g 1101 db2fadm1
useradd -g db2iadm1 -u 1100 -m -d /home/db2inst1 db2inst1
useradd -g db2fadm1 -u 1101 -m -d /home/db2fenc1 db2fenc1
cd /opt/ibm/db2/v10.1/instance/
./db2icrt -p 50000 -u db2fenc1 db2inst1


实例一旦创建成功,会在实例用户目录下生成sqllib目录,进入后出现图所示的目录结构
ubuntu12.04安装db2

图中所示目录下包含了很多文件,这些文件基本都是二进制格式,不允许用户手工修改,但大部分可能通过DB2提供的命令来进行浏览和修改。

以下是一些常见的配置文件:
db2systm:实例配置文件,使用get dbm cfg/update dbm cfg控制
profile.env:实例DB2环境变量,使用db2set控制
sqldbdir/sqldbdir:实例数据库编目,使用list db directory/catalog database控制
sqlnodri/sqlnodir:实例节点编目,使用list node directory/catalog tcpip node控制。
/var/db2/global.env:全局安装、实例、环境变量列表,使用db2ilist浏览,使用db2greg控制

给db2inst1用户设置密码
passwd db2inst1
切换到该实例用户
su - db2inst1
启动该实例
db2start
停止该实例
db2stop

查看某个DB2版本下有哪些实例,可通过db2list命令实现
$ db2ilist
db2inst1

要查看某台机器上有哪些实例,可通过db2greg命令实现,在以下的输出中,观察第一列为I的行,第3列为版本,第4列为实例名,第5列为实例目录
$ db2greg -dump
S,DB2,10.1.0.2,/opt/ibm/db2/v10.1,,,2,0,,1357390374,0
V,DB2GPRF,DB2SYSTEM,cyper-pc,/opt/ibm/db2/v10.1,
V,DB2GPRF,DB2_COMPATIBILITY_VECTOR,MYS,/opt/ibm/db2/v10.1,
I,DB2,10.1.0.2,db2inst1,/home/db2inst1/sqllib,,1,0,/opt/ibm/db2/v10.1,,
V,DB2GPRF,DB2INSTDEF,db2inst1,/opt/ibm/db2/v10.1,
$

遇到的问题:

1.执行db2start报错
db2start: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
这里有db2支持的linux版本
这里是在ubuntu上安装时的先决条件
我这里是执行了如下命令
sudo apt-get install libaio1
再次运行db2start,就成功了!

2.之前创建实例的步骤详解,来自这里

1) 创建一个用户,比如用户名是 db2inst1 用户的home路径是 /home/db2inst1
2) 再创建一个用户,比如用户名是db2fence 用户的home路径是 /home/db2fence
3) 用 root 用户,cd /db2_install_path/instances/ 执行 ./db2icrt -u db2fence db2inst1
4)如果db2icrt 没有报错,su - db2inst1 然后 db2start

追问
    麻烦你再仔细讲解一下db2fence,db2inst1这两个用户行吗?为什么需要两个用户呢?

    db2fence 用来运行 “受防护用户定义的函数 (UDF) 和 受防护存储过程的进程”。看看create function / procedure的语法,有个fenced的选项。udf和udp是可以用到外部程序的,万一用到的程序出了问题,db2很可能跟着也挂了。现在有了 db2fence db2fmp,它挂了就挂了。db2没事……
    
-u FencedID:指定您创建的受防护用户的名称。
表示将用来运行受防护用户定义的函数 (UDF) 和受防护存储过程的用户的名称。如果您正在 DB2 客户机上创建实例,那么此标志不是必需的。
InstName
表示实例的名称。实例的名称必须与拥有实例的用户的名称相同。指定您创建的拥有实例的用户的名称。将在拥有实例的用户的主目录中创建该实例。



你可能感兴趣的:(ubuntu,db2)