赞
踩
DB2数据库是IBM开发的一种大型关系型数据库平台。它支持多用户或应用程序在同一条SQL 语句中查询不同database甚至不同DBMS中的数据。一般DB2是搭配IBM Power系列小机使用的,兼容性好、性能高。当然DB2也有Linux版本的,相对性能会差一些,主要使用在一些开发、学习环境,成本低嘛。
今天就来简单介绍一下在Linux环境安装db2数据库软件。
可在IBM网站的如下地址,下载个版本的DB2软件包:
https://www.ibm.com/support/pages/download-db2-fix-packs-version-db2-linux-unix-and-windowshttps://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-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.”提示后,安装成功。
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需要的用户:
- 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是防护用户。
编辑/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
在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
通过以下命令,创建数据库,并连接数据库、建表、插入数据,进行验证:
- 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.
所有上面的操作都成功,说明数据库可以正常工作。
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.
最后,搞定!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。