【DB2 流浪之旅】 第一讲 Linux 环境安装 db2 数据库

DB2数据库是IBM开发的一种大型关系型数据库平台。它支持多用户或应用程序在同一条SQL 语句中查询不同database甚至不同DBMS中的数据。一般DB2是搭配IBM Power系列小机使用的,兼容性好、性能高。当然DB2也有Linux版本的,相对性能会差一些,主要使用在一些开发、学习环境,成本低嘛。

今天就来简单介绍一下在Linux环境安装db2数据库软件。

一、DB2 软件安装包下载

可在IBM网站的如下地址,下载个版本的DB2软件包:
https://www.ibm.com/support/pages/download-db2-fix-packs-version-db2-linux-unix-and-windowsicon-default.png?t=N7T8https://www.ibm.com/support/pages/download-db2-fix-packs-version-db2-linux-unix-and-windows在选择某个版本db2之后,需要选择正确的操作系统版本,并选择“DB2 Server Fix Pack”类型的安装包。
“DB2 Server Fix Pack”与“DB2 Universal Fix Pack”的区别:Server Fix Pack是全量补丁包,可以直接安装;Universal Fix Pack是增量补丁包,只能用来打补丁,不能直接新安装。

【DB2 流浪之旅】 第一讲 Linux 环境安装 db2 数据库_第1张图片

二、DB2 软件安装

打开命令行窗口。运行以下命令安装DB2软件:

linux-d4al:~ # ls -l v10.5fp7_linuxx64_server_t.tar.gz
-rw-r--r-- 1 root root 1429018107 Jul 21 00:54 v10.5fp7_linuxx64_server_t.tar.gz
linux-d4al:~ # gzip -d v10.5fp7_linuxx64_server_t.tar.gz -c | tar -xf -
linux-d4al:~ # cd server_t
linux-d4al:~/server_t # ls
db2  db2_deinstall  db2_install  db2checkCOL.tar.gz  db2checkCOL_readme.txt  db2ckupgrade  db2ls  db2prereqcheck  db2setup  ibm_im  installFixPack  nlpack
linux-d4al:~/server_t # ./db2_install
DBI1324W  Support of the db2_install command is deprecated.


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

***********************************************************
Install into default directory (/opt/ibm/db2/V10.5) ? [yes/no] 
yes
 
 
Specify one of the following keywords to install DB2 products.

  SERVER 
  CONSV 
  EXP 
  CLIENT 
  RTCL 
 
Enter "help" to redisplay product names.

Enter "quit" to exit.

***********************************************************
SERVER
***********************************************************
Do you want to install the DB2 pureScale Feature? [yes/no] 
no
DB2 installation is being initialized.

 Total number of tasks to be performed: 49 
Total estimated time for all tasks to be performed: 1947 second(s) 

Task #1 start
Description: Checking license agreement acceptance 
Estimated time 1 second(s) 
Task #1 end 

Task #2 start
Description: Base Client Support for installation with root privileges 
Estimated time 3 second(s) 
Task #2 end 

Task #3 start
Description: Product Messages - English 
Estimated time 14 second(s) 
Task #3 end



Task #49 start
Description: Registering DB2 Update Service 
Estimated time 30 second(s) 
Task #49 end 

Task #50 start
Description: Updating global profile registry 
Estimated time 3 second(s) 
Task #50 end 

The execution completed successfully.

For more information see the DB2 installation log at
"/tmp/db2_install.log.43840".

最后看到“The execution completed successfully.”提示后,安装成功。 

三、License 注册

 DB2是IBM出版的商业化数据库软件,需要注册License才能够使用,当然如果不注册是有90天的免费试用期的,试用期内所有功能都是可以使用的,超过试用期后,DB2数据库将无法正常启动。

License注册步骤:

linux-d4al:~ # /opt/ibm/db2/V10.5/adm/db2licm -a /root/db2aese_c.lic 

LIC1402I  License added successfully.


LIC1426I  This product is now licensed for use as outlined in your License Agreement.  USE OF THE PRODUCT CONSTITUTES ACCEPTANCE OF THE TERMS OF THE IBM LICENSE AGREEMENT, LOCATED IN THE FOLLOWING DIRECTORY: "/opt/ibm/db2/V10.5/license/en_US.iso88591"

至此,DB2数据库软件就安装完毕可以正常使用啦。接下来就可以建实例、建库、导入数据等等操作。

四、创建DB2实例与数据库

4.1. 创建数据库用户

通过以下命令,创建DB2需要的用户:

linux-d4al:~ # mkdir /db2home
linux-d4al:~ # groupadd db2igrp1
linux-d4al:~ # groupadd db2fgrp1
linux-d4al:~ # useradd -d /db2home/db2inst1 -g db2igrp1 -m db2inst1
linux-d4al:~ # useradd -d /db2home/db2fenc1 -g db2fgrp1 -m db2fenc1

注:其中,db2inst1是实例用户,db2fenc1是防护用户。

4.2. 修改实例用户的ulimit限制(可选)

编辑/etc/security/limits.conf文件,增加如下内容(如果实例名字不是db2inst1,就改成实例名字):

# limits for the db2 instance user
db2inst1        soft    data            -1
db2inst1        hard    data            -1
db2inst1        soft    nofile          65536
db2inst1        hard    nofile          65536
db2inst1        soft    fsize           -1
db2inst1        hard    fsize           -1
db2inst1        soft    nproc           -1
db2inst1        hard    nproc           -1

重新登录db2inst1(退出shell),然后运行ulimit -l命令,确认一下用户进程数的限制为unlimited。

linux-d4al:~ # su - db2inst1
db2inst1@linux-d4al:~> ulimit -a
core file size          (blocks, -c) 1
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 31507
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) 3437652
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) 4918080
file locks                      (-x) unlimited

4.3. 创建实例

在root用户下运行:

linux-d4al:~ # /opt/ibm/db2/V10.5/instance/db2icrt -p 50000 -u db2fenc1 db2inst1
DBI1446I  The db2icrt command is running.


DB2 installation is being initialized.

 Total number of tasks to be performed: 4 
Total estimated time for all tasks to be performed: 309 second(s) 

Task #1 start
Description: Setting default global profile registry variables 
Estimated time 1 second(s) 
Task #1 end 

Task #2 start
Description: Initializing instance list 
Estimated time 5 second(s) 
Task #2 end 

Task #3 start
Description: Configuring DB2 instances 
Estimated time 300 second(s) 
Task #3 end 

Task #4 start
Description: Updating global profile registry 
Estimated time 3 second(s) 
Task #4 end 

The execution completed successfully.

For more information see the DB2 installation log at "/tmp/db2icrt.log.82608".
DBI1070I  Program db2icrt completed successfully.

实例创建完毕,通过以下命令,启动实例:

linux-d4al:~ # su - db2inst1
db2inst1@linux-d4al:~> db2start
11/21/2020 02:18:34     0   0   SQL1063N  DB2START processing was successful.
SQL1063N  DB2START processing was successful.

通过以下命令,验证实例启动成功:

db2inst1@linux-d4al:~> ps -ef|grep db2sysc
db2inst1  98705  98703  1 02:18 pts/1    00:00:00 db2sysc 0                                      
db2inst1  98748  98217  0 02:19 pts/1    00:00:00 grep db2sysc
db2inst1@linux-d4al:~> netstat -an|grep LISTEN|grep 50000
tcp        0      0 0.0.0.0:50000           0.0.0.0:*               LISTEN      

4.4. 创建数据库

通过以下命令,创建数据库,并连接数据库、建表、插入数据,进行验证:

db2inst1@linux-d4al:~> db2 create db testdb
DB20000I  The CREATE DATABASE command completed successfully.
db2inst1@linux-d4al:~> db2 activate db testdb
DB20000I  The ACTIVATE DATABASE command completed successfully.
db2inst1@linux-d4al:~> db2 connect to testdb

   Database Connection Information

 Database server        = DB2/LINUXX8664 10.5.7
 SQL authorization ID   = DB2INST1
 Local database alias   = TEST

db2inst1@linux-d4al:~> db2 "create table t (id int)"
DB20000I  The SQL command completed successfully.
db2inst1@linux-d4al:~> db2 "insert into t values (1)"
DB20000I  The SQL command completed successfully.
db2inst1@linux-d4al:~> db2 "select * from t"

ID         
-----------
          1

  1 record(s) selected.

所有上面的操作都成功,说明数据库可以正常工作。

4.5. 创建SAMPLE数据库

DB2软件中自带一个SAMPLE数据库,里面有部分表和数据,可以在实验过程中用到。通过以下方式创建SAMPLE数据库:

db2inst1@linux-d4al:~> 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.

 查看SAMPLE数据库中有哪些表:

db2inst1@linux-d4al:~> db2 connect to sample

   Database Connection Information

 Database server        = DB2/LINUXX8664 10.5.7
 SQL authorization ID   = DB2INST1
 Local database alias   = SAMPLE

db2inst1@linux-d4al:~> db2 list tables

Table/View                      Schema          Type  Creation time             
------------------------------- --------------- ----- --------------------------
ACT                             DB2INST1        T     2020-11-21-11.26.41.039078
ADEFUSR                         DB2INST1        S     2020-11-21-11.26.44.389708
CATALOG                         DB2INST1        T     2020-11-21-11.26.51.653362
CL_SCHED                        DB2INST1        T     2020-11-21-11.26.38.263370
CUSTOMER                        DB2INST1        T     2020-11-21-11.26.50.056282
DEPARTMENT                      DB2INST1        T     2020-11-21-11.26.38.753447
DEPT                            DB2INST1        A     2020-11-21-11.26.39.231002
EMP                             DB2INST1        A     2020-11-21-11.26.39.576230
EMPACT                          DB2INST1        A     2020-11-21-11.26.41.027695
EMPLOYEE                        DB2INST1        T     2020-11-21-11.26.39.231730
EMPMDC                          DB2INST1        T     2020-11-21-11.26.45.668977
EMPPROJACT                      DB2INST1        T     2020-11-21-11.26.40.925404
EMP_ACT                         DB2INST1        A     2020-11-21-11.26.41.028217
EMP_PHOTO                       DB2INST1        T     2020-11-21-11.26.39.576716
EMP_RESUME                      DB2INST1        T     2020-11-21-11.26.39.971092
INVENTORY                       DB2INST1        T     2020-11-21-11.26.49.691897
IN_TRAY                         DB2INST1        T     2020-11-21-11.26.41.315460
ORG                             DB2INST1        T     2020-11-21-11.26.41.450716
PRODUCT                         DB2INST1        T     2020-11-21-11.26.49.118415
PRODUCTSUPPLIER                 DB2INST1        T     2020-11-21-11.26.53.558753
PROJ                            DB2INST1        A     2020-11-21-11.26.40.694064
PROJACT                         DB2INST1        T     2020-11-21-11.26.40.695770
PROJECT                         DB2INST1        T     2020-11-21-11.26.40.391983
PURCHASEORDER                   DB2INST1        T     2020-11-21-11.26.50.896302
SALES                           DB2INST1        T     2020-11-21-11.26.41.676581
STAFF                           DB2INST1        T     2020-11-21-11.26.41.547694
STAFFG                          DB2INST1        T     2020-11-21-11.26.43.416941
SUPPLIERS                       DB2INST1        T     2020-11-21-11.26.52.367045
VACT                            DB2INST1        V     2020-11-21-11.26.41.904154
VASTRDE1                        DB2INST1        V     2020-11-21-11.26.42.270762
VASTRDE2                        DB2INST1        V     2020-11-21-11.26.42.276813
VDEPMG1                         DB2INST1        V     2020-11-21-11.26.42.262310
VDEPT                           DB2INST1        V     2020-11-21-11.26.41.783723
VEMP                            DB2INST1        V     2020-11-21-11.26.41.901406
VEMPDPT1                        DB2INST1        V     2020-11-21-11.26.42.266396
VEMPLP                          DB2INST1        V     2020-11-21-11.26.42.303926
VEMPPROJACT                     DB2INST1        V     2020-11-21-11.26.42.152614
VFORPLA                         DB2INST1        V     2020-11-21-11.26.42.290855
VHDEPT                          DB2INST1        V     2020-11-21-11.26.41.899784
VPHONE                          DB2INST1        V     2020-11-21-11.26.42.300732
VPROJ                           DB2INST1        V     2020-11-21-11.26.41.902841
VPROJACT                        DB2INST1        V     2020-11-21-11.26.41.929668
VPROJRE1                        DB2INST1        V     2020-11-21-11.26.42.280267
VPSTRDE1                        DB2INST1        V     2020-11-21-11.26.42.283597
VPSTRDE2                        DB2INST1        V     2020-11-21-11.26.42.287719
VSTAFAC1                        DB2INST1        V     2020-11-21-11.26.42.293776
VSTAFAC2                        DB2INST1        V     2020-11-21-11.26.42.297155

  47 record(s) selected.

最后,搞定!

你可能感兴趣的:(流浪运维,linux,数据库,运维)