参考http://blog.51cto.com/feature09/2046506
参考 http://blog.csdn.net/yangyi1018/article/details/70050154
这篇安装的参考文章:http://www.qingpingshan.com/pc/fwq/235168.html
在官网下载的11.1的版本的。
v11.1_linuxx64_expc.tar.gz
我的软件存放位置在/home/setup下
一、解压:
[root@localhost setup]# tar -zxvf v11.1_linuxx64_expc.tar.gz -C /home/software
解压之后,是一个叫做expc的目录文件
[root@localhost expc]# ls
db2 db2ckupgrade db2_deinstall db2_install db2ls db2prereqcheck db2setup
二,检验安装的先决条件
[root@localhost expc]# ./db2prereqcheck
一下子出来了好多的东西。我的翻页都被从头到尾了。这个时候最好开启个日志,来看究竟缺少的依赖关系。
缺依赖关系,有些东西还是yum也解决不了的。这我也没办法了。就只能这么空着了。
有些已经写明了,缺少什么什么就会缺少什么什么功能,这个大不了不要了吧。
最后,就安装了一个包文件。
所以说,实在安不上的,就不要纠结了,就直接安装得了。
三、然后直接安装了。
[root@localhost expc]# ./db2_install
刚开始的时候,需要输入两次yes,同意协议,同意安装路径。
之后就都自动了。
到#29启动的时候会停顿一下,害得我紧张了一下,还好它自己走完了。
创建用户组,至于为什么是这么个名称,可能是官方要求吧?
[root@localhost expc]# groupadd -g 2000 db2iadm1
[root@localhost expc]# groupadd -g 2001 db2fadm1
[root@localhost expc]# useradd -m -g db2iadm1 -d /home/db2inst1 db2inst1
[root@localhost expc]# useradd -m -g db2fadm1 -d /home/db2fenc1 db2fenc1
[root@localhost expc]# passwd db2inst1
这个密码设置的非常的麻烦。得拿本记下来才行。
四、这时候换到另一个目录下。这个目录是自动生成的。好像就是安装目录吧。。。
这个是给实例用户注册某个协议吧。。。
[root@localhost expc]# cd /opt/ibm/db2/V11.1/adm/
[root@localhost adm]# chmod -R 775 *
这里是自己的软件安装目录。
[root@localhost adm]# ./db2licm -a /home/software/expc/db2/license/db2expc_uw.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/V11.1/license/zh_CN.utf8”
五、继续跳目录
这里绑定了端口号。。。
[root@localhost adm]# cd /opt/ibm/db2/V11.1/instance/
[root@localhost instance]# chmod -R 775 *
[root@localhost 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.5871”.
DBI1070I Program db2icrt completed successfully.
六、完成了。
要切换到实例用户,才可以登录db2数据库
[root@localhost instance]# su - db2inst1
上一次登录:五 12月 1 15:36:55 CST 2017pts/2 上
创建样本数据库
[db2inst1@localhost ~]$ db2sampl
Starting the DB2 instance…
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”…
Stopping the DB2 instance…
‘db2sampl’ processing complete.
[db2inst1@localhost ~]$ db2start
SQL1063N DB2START processing was successful.
[db2inst1@localhost ~]$ db2 connect to sample
Database Connection Information
Database server = DB2/LINUXX8664 11.1.2.2
SQL authorization ID = DB2INST1
Local database alias = SAMPLE
[db2inst1@localhost ~]$ db2 “select * from staff”
竟然自带数据,666。
[db2inst1@localhost ~]$ db2licm -l
Product name: “DB2 Express-C”
License type: “Unwarranted”
Expiry date: “Permanent”
Product identifier: “db2expc”
Version information: “11.1”
Max number of CPUs: “2”
Max amount of memory (GB): “16”
Max number of cores: “2”
Enforcement policy: “Soft Stop”
创建数据库不成功时
db2 catalog database sample
db2 drop database sample
db2sampl
初始化
db2 create DATABASE 数据库名 ALIAS 数据库名 USING CODESET UTF-8 TERRITORY CN
db2 connect to 数据库名 user 账号 using 密码
db2set DB2CODEPAGE=1208
db2 create bufferpool mcbpool IMMEDIATE SIZE 250 PAGESIZE 16 K
db2 create large tablespace mc_data PAGESIZE 16 K MANAGED BY AUTOMATIC STORAGE EXTENTSIZE 32 OVERHEAD 10.5 PREFETCHSIZE 32 TRANSFERRATE 0.14 BUFFERPOOL mcbpool
db2 create large tablespace mc_inx PAGESIZE 16 K MANAGED BY AUTOMATIC STORAGE EXTENTSIZE 32 OVERHEAD 10.5 PREFETCHSIZE 32 TRANSFERRATE 0.14 BUFFERPOOL mcbpool
加粗的自行替换
执行脚本
db2 -tvf mc/mcdbscript.sql
db2 -tvf mc/mc_dbscript_initdata.sql
db2 disconnect mc
就是执行 .txt文档中的SQL语句,这些语句以;分隔,执行时显示每个语句的内容
我们在创建新的数据库时,经常会碰上数据库别名已经存在的错误,产生这个错误的原因可能有两种:
1. 这个数据库在系统数据库目录中存在。
在控制中心能够看到和 DB2CLP 窗口中使用 LIST DB DIRECTORY 可以看到。
2. 该数据库被“除去”,而不是被“删除”。
另一个可能,这是由于之前我们在控制中心,使用了“除去”数据库功能,而不是“删除”数据库功能(或者在 DB2CLP 窗口中使用“ UNCATALOG DB 数据库名”命令),“除去”数据库只是在逻辑上把数据库的编目信息删除,并没有真实的删除该数据库。只是我们用 LIST DB DIRECTORY 或在控制中心查看的时候,看不到该数据库而已。在我们用这个数据库名创建新的数据库时,就会报 SQL1005N 错。
解决的这个问题的具体的步骤如下:
1. 首先通过在 DB2CLP 窗口中,发出“ DB2 LIST DB DIRECTORY ”命令,查看系统数据库目录中有没有该数据库。如果有,看这个数据库是否还有用,如果没有用,就删除掉该数据库重新创建即可。
2. 如果系统数据库目录下没有该数据库存在,就通过 db2 list database directory on location 查看在本地数据库目录中有没有该数据库,location 指定数据库的位置(在 Windows 下只能是各个盘符,比如 C: 或 D:,在 UNIX 下可以是具体的文件目录),如果有,就先使用 db2 catalog database 数据库名 on location 将数据库 catalog 到节点上,再删除该数据库并重新创建。