linux下db2的使用方法
Db2命令行安装:
1、安装rpm包
使用root用户登陆,把db2安装包拷贝到服务器的/opt下
cd /opt
tar -zxvf v9.5fp3b_linuxx64_server.tar.gz (64位)
tar –zxvf v9.5fp3b_linuxia32_server.tar.gz (32位)
cd server
./db2_install
运行后出现输入窗口选择服务器产品ESE
----------------------------------
ESE
2、安装完成后进行DB2服务器配置
使用root用户创建用于DB2 安装的组和用户标识,要在Linux 上创建组groupadd -g 999 db2iadm1
groupadd -g 998 db2fadm1
groupadd -g 997 dasadm1
(如果执行时出现无法创建可能由于卸载时没有删除相应组进入/etc/group删除相关DB2组)
为每个组创建用户
useradd -u 1004 -g db2iadm1 -m -d /home/db2inst1 db2inst1
useradd -u 1003 -g db2fadm1 -m -d /home/db2fenc1 db2fenc1
useradd -u 1002 -g dasadm1 -m -d /home/dasusr1 dasusr1
(如果执行时出现错误,请重新执行卸载步骤)
为每个用户修改密码
passwd db2inst1 (输入密码)
passwd db2fenc1 (输入密码)
passwd dasusr1(输入密码)
3、创建DB2 管理服务器(DAS)
/opt/ibm/db2/V9.7/instance/dascrt -u dasusr1
(如果执行时出现错误,请重新执行卸载步骤)
4、使用db2icrt 创建实例
/opt/ibm/db2/V9.7/instance/db2icrt -a server -u db2fenc1 db2inst1
5、配置DB2 实例的TCP/IP 通信
su - db2inst1
db2set DB2_SKIPINSERTED=ON
db2set DB2_EV ALUNCOMMITTED=ON
db2set DB2_SKIPDELETED=ON
db2set DB2_HASH_JOIN=YES
db2set DB2_RR_TO_RS=YES
db2set DB2CODEPAGE=1386
db2set DB2COMM=TCPIP
db2set DB2_PARALLEL_IO=*
db2 update dbm cfg using svcename 50000
6、更新产品许可证密钥
进入\\10.10.1.11\质量检测部\测试资料\db2破解拷贝db2ese_t.lic文件到DB2服务器中/opt/ibm/db2/V9.5/adm/db2licm -a filename
filename为db2ese_t.lic拷贝的路径
选择语言
#vi /home/db2inst1/.bash_profile
export LANG=en_US --把这个添加到这个文件的最后一行
查看当前DB2许可证情况
su db2inst1
d2licm -l
db2卸载
1、卸载实例
使用Root用户登陆
cd /opt/ibm/db2/V9.5/instance/
./db2idrop db2inst1
./dasdrop db2inst1
2、卸载db2
进入安装目录,运行db2安装文件夹,执行db2_deinstall,卸载数据库。
./db2_deinstall -a
输入路径:
/opt/ibm/db2/V9.5
3、删除数据库相关文件
进入目录删除sqllib
rm –rf /home/db2inst1/sqllib
删除db2用户,删除db2相关数据
vi /etc/passwd
删除db2组
vi /etc/group
删除db2端口
vi /etc/services
删除db2相关用户实例
vi /etc/shadow
删除db2相关目录
cd /var
删除db2相关文件
cd /tmp
删除dasusr1,db2inst1,db2fenc1文件夹
cd /home
3、db2还原
红旗安装问题
问题1:红旗操作系统安装完成后无法使用putty和SCP无法登陆,ROOT无法登陆
解决办法:
管理员root进入系统。
启动sshd服务:cd /etc/rc.d/init.d/;
./sshd start;
配置ROOT登陆:
vi /etc/pam.d/login将文件中的
auth required pam_securetty.so
加上"#"注释掉,就可以实现在登录的时候允许root用户了.
问题2:设置sshd服务启动后自启动
解决办法:
将sshd服务加入启动项:
Vi /etc/rc.local
在文件中加入启动项目录:/etc/rc.d/init.d/sshd start
保存退出:wq!
问题3:数据库安装后远程无法访问。
出现sql30082 Security processing failed with reason”42”(“ROOT CAPABILITY REOU IRED”)SQLSTATE=08001
原因是安装时使用putty远程安装数据库,解决办法重新在服务器本地使用root用户安装DB2成功。
Linux下DB2数据库安装教程
Linux下DB2数据库安装教程最近因为⼯作需要在学习DB2数据库,本教程讲解DB2数据库在inux下的安装步骤。
安装前请查看说明来增加了解,先弄明⽩改安装什么版本,这⾥我⽤的是最新的Express-C版本,这个版本是提供给个⼈学习⽤的版本。
管理客户端从v9.7版本之后就不再带有控制中⼼了,⽽是使⽤ Data Studio Client。
Linux版本:Linux版本下的DB2数据库采⽤的官⽅免费版本,操作系统⽤的CentOS6.2。
安装过程:1、下载:db2_v101_linuxia32_expc.tar.gz2、解压,解压完成后会在当前⽬录下有⼀个 ./expc ⽂件夹[root@localhost opt]# tar -zxvf db2_v101_linuxia32_expc.tar.gz3、进⼊这个⽬录[root@localhost opt]# cd expc/4、执⾏安装[root@localhost expc]# ./db2_install5、添加组和⽤户:组(⽤户名)db2iadm1(db2inst1)db2fadm1( db2fenc1)[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]# passwd db2fenc16、安装 license(产品许可证)PS:如果是ExpressC版本就不⽤做[root@localhost adm]# pwd/opt/ibm/db2/V10.1/adm[root@localhost adm]# chmod -R 775 *[db2inst1@localhost adm]$ ./db2licm -a /tmp/seagull/db2v10/license/db2ese_c.lic7、创建实例和样本数据库[root@localhost instance]# pwd/opt/ibm/db2/V10.1/instance[root@localhost instance]# chmod -R 775 *[root@localhost instance]# ./db2icrt -p 50000 -u db2fenc1 db2inst1[root@localhost instance]# su - db2inst1[db2inst1@localhost ~]$ db2samplCreating 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.[db2inst1@localhost ~]$ db2startSQL1026N The database manager is already active.[db2inst1@localhost ~]$ db2 connect to sampleDatabase Connection InformationDatabase server = DB2/LINUX 10.1.2SQL authorization ID = DB2INST1Local database alias = SAMPLE[db2inst1@localhost ~]$ db2 "select * from staff"8、创建 das 管理服务器为了远程客户端能够⽤控制中⼼来控制数据库服务器,需要在数据库服务器上安装 das,当然,如果只是远程连接⽽不是远程管理,可以不⽤装,这⾥我安装了⼀下。
linux下db2数据库命令
linux下db2数据库命令⽬录: 1.db2连接数据库 2.db2信息查询命令 3. 数据库导⼊导出 4.db2数据库数据创建与数据迁移1.db2连接数据库su - db2inst1db2 connect to 数据库名 user ⽤户名 using 密码2.db2信息查询命令 db2 list tables #列出所有表名 db2 describe table 表名 #显⽰表字段 db2 list db directory #列出该⽤户创建的所有数据库名 db2 list tablespaces show detail #查看当前数据库表空间分配状况 db2 list application db2 list db directory 列出所有数据库 db2 list active databases 列出所有活动的数据库 db2 list tables for all 列出当前数据库下所有的表 db2 list tables for schema btp 列出当前数据库中schema为btp的表 db2 list tablespaces show detail 显⽰数据库空间使⽤情况 db2 list packages for all3. 数据库导⼊导出1、导出数据库的所有表及数据(导出的⽂件是db2move.lst、export.out、tabxx.ixf、tabxx.msg)db2move <数据库名> export2、导⼊数据库的所有表及数据(需要修改db2move.lst中的数据库名为⾃⼰的数据库名)db2move <数据库名> import3、执⾏sql语句⽂件db2 -tvf xx.sql4.db2数据库数据创建与数据迁移(创建新实例,并将其他数据库备份数据导⼊)1、root下创建⽤户名密码useradd newgw passwd newgw2、切换db2⽤户su db2inst1cd /home/db2inst13、创建数据库指定编码db2 create db databaseName using codeset utf-8 territory CN #指定编码4、连接数据库db2 CONNECT TO databaseName5、创建BUFFERPOOLdb2 "CREATE BUFFERPOOL epayBUFFER SIZE 1000 PAGESIZE 32K"6、创建TABLESPACEdb2 "CREATE TABLESPACE epaySpace PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/db2inst1/epay/ts') BUFFERPOOL epayBUFFER"7、创建临时表空间db2 "CREATE SYSTEM TEMPORARY TABLESPACE epayBUF PAGESIZE 32 K MANAGED BY SYSTEM USING ('/home/db2inst1/epay/tts') BUFFERPOOL epayBUFFER"8、断开连接db2 "DISCONNECT databaseName "9、在db2inst1下进⾏连接数据库db2 connect to databaseName10、再授权db2 grant dbadm on database to user databaseName11、重新连接db2 connect to databaseName user username using password。
DB2BLU静默安装说明-Linux版本By段丽霞安装前必读
目录1.安装前必读 (1)2.安装 (2)3.验证 (2)4.卸载DB2BLU (3)4.1.删除所有数据库 (4)4.2.停止DB2所有服务及实例 (4)4.3.删除DB2管理服务器 (4)4.4.删除DB2实例 (5)4.5.卸载DB2产品 (5)4.DB2安装使用常见问题 (6)4.1.FTP方式上传安装包到Linux系统 (6)4.2.The host name "db2server.domainname" is invalid. Specify a valid host name (6)4.3.bash: syntax error near unexpected token `(' (6)4.4.无法删除数据库实例,出现错误SQLSTATE=57019 (6)4.5.无法删除实例,显示“DB2 instances ...are still active. (7)DB2BLU静默安装说明-Linux版本By 段丽霞1.安装前必读1.所有创建的用户(db2inst1,db2fenc1和dasusr1)的密码均为yonyouae*1232.默认创建了数据库aedw。
目前,数据平台产品部提供Linux系统,Windows2008系统,AIX系统的DB2BLU静默安装。
其他系统的安装软件,请到IBM官网下载(需要注册IBM账号)。
其中,文件:db2server_custom_lnx.rsp为静默安装的参数配置文件,可根据需要修改。
应用文本编辑软件可打开rsp文件,如notepad++,记事本等。
其中,默认的配置如下:➢默认安装路径为:FILE=/opt/ibm/db2/V10.5➢实例名称:* ----------------------------------------------* 实例相关属性配置* ----------------------------------------------** 名称INSTANCE = inst1** 类型inst1.TYPE = ese** 实例对应的用户的名称 = db2inst1** 用户所属的组inst1.GROUP_NAME = db2iadm1** 用户的家目录inst1.HOME_DIRECTORY = /home/db2inst1➢端口号,默认50000➢默认密码(加密)为:yonyouae*1232.安装1.切换到root用户(su - root),进入到安装路径(也就是db2setup所在的目录,如:/opt/soft/server_t/db2/linuxamd64/install)。
如何在Linux虚拟环境下搭建DB2数据库DPF
如何在Linux虚拟环境下搭建DB2数据库DPFDB2的分区架构一般适合于统计类和分析的应用,主要用来为大规模数据处理、高并发数据访问提供支持。
DPF是DB2的多分区数据库,那么DPF要怎么搭建呢?下面小编就给大家介绍下如何在Linux虚拟化环境搭建DB2数据库DPF,给不知道怎么搭建的朋友做个指导。
如何在Linux虚拟环境下搭建DB2数据库DPF一、创建用户和组1、使用root用户添加系统用户/usr/sbin/groupadd -g 1997 db2igrp#instance所在的group,加入这个group的所有用户都具有DBA权限/usr/sbin/groupadd -g 1998 db2fgrp#fenced用户所在的group/usr/sbin/useradd -u 1997 -g db2igrp -d /cbusdb/db2inst1 db2inst1#db2inst1用户/usr/sbin/useradd -u 1998 -g db2fgrp -d /cbusdb/db2fenc1 db2fenc1#db2fenc1用户/usr/sbin/groupadd db2fadmin/usr/sbin/useradd -g db2fadmin db2admin2、使用root用户添加数据库账号/opt/ibm/db2/V10.5/instance/db2icrt -s ese -u db2fenc1 db2inst1#在所有的机器上,使用root用户,建立db2 admin server:/opt/ibm/db2/V10.5/instance/dascrt -u db2admin#启动db2 admin server:db2admin start3、修改节点配置文件#vim /cbusdb/db2inst1/sqllib/db2nodes.cfg0 cbusdb01 01 cbusdb01 12 cbusdb02 03 cbusdb02 14、修改实例参数su - db2inst1db2iauto -on db2inst1db2set DB2_SKIPINSERTED=ondb2set DB2_USE_ALTERNATE_PAGE_CLEANING=ondb2set DB2_EVALUNCOMMITTED=ondb2set DB2_SKIPDELETED=ondb2set DB2COMM=TCPIPdb2set DB2FCMCOMM=TCPIP4db2set DB2RSHCMD=/bin/rsh#注意如果配置的ssh则此处需要修改成db2set DB2RSHCMD=/usr/bin/sshdb2set DB2CODEPAGE=1386db2set DB2TERRITORY=86db2set DB2_PARALLEL_IO=*5、配置服务端口DB2c_db2inst1 61000/tcpDB2_db2inst1 61001/tcpDB2_db2inst1_1 61002/tcpDB2_db2inst1_2 61003/tcpDB2_db2inst1_3 61004/tcpDB2_db2inst1_4 61005/tcpDB2_db2inst1_END 61008/tcp6、调整系统参数,设置dpf所需的资源/sbin/sysctl -w kernel.sem=“250 32000 32 1024”/sbin/sysctl -w kernel.msgmnb=16384/sbin/sysctl -w kernel.msgmni=1024/sbin/sysctl -w kernel.msgmax=8192/sbin/sysctl -w kernel.shmmni=4096/sbin/sysctl -w kernel.shmall=2097152/sbin/sysctl -w kernel.shmmax=10737418247、修改环境变量cat 。
1、DB2环境配置说明
DB2环境配置说明1、安装DB2客户端:(源程序在192.168.71.244上)安装完成后在本地程序中选择:IBM DB2->设置工具->配置助手选择:使用向导来添加数据库选择“搜索网络”或“手工配置网络的连接”;我们选择“手工配置网络的连接”选择“TCP/IP”主机名:192.168.71.244服务名称:可以不写端口号:50000点击“下一步”数据库名称:lissleb点击“下一步”选中“为ODBC注册此数据库”点击“下一步”这样在配置助手中就显示出刚才配置的数据库名称选中“LISSLEB”右击选择“CLI设置”用户标示:db2admin密码:lisserver点击确定。
选中“LISSLEB”右击选择“测试连接”输入密码,如果测试成功,则说明已经连接成功,可以正常使用2、配置PowerBuilder点击上面的DB Profile快捷按钮选中:ODB ODBC 点击“NEW”在Profile Name中输入“lissleb”Data Souce 选择“LISSLEB”User ID :db2adminPassword:lisserver点击“OK”即可这时在“ODB ODBC”下面显示了“lissleb”,选中点击Connect,连接成功即可然后在下图中选择DataBase快捷按钮便可以正常使用3、系统连接设置:在vss上得到最新的Lis/Utility/JdbcUrl.java或修改为/*** 光大永明渠道管理系统数据库- 开发使用*/DBType = "DB2";IP = "192.168.71.244";Port = "50000";DBName = "LISSLEB";UserName = "db2admin";PassWord = "lisserver";Lis/Utility/DBConn.javaLis/Sys/SysConst.javaUi/logon/station.jsp文件然后整体编译java类连接配置成功:可能会出现下面的问题一:在点击菜单时出现如下错误得到最新的Ui/logon/ station.jsp文件即可二:在系统使用的过程中可能在涉及到查询时不能查询到有效数据,这是看tomca 后台,会发现SQL执行错误。
linux下安装DB2的详细步骤
linux下安装DB2的详细步骤安装前准备:DB2 10.1的版本需要在Linux5以上版本,核心要求2.6.16以上。
可以通过lsb_release –a和uname –a命令查看系统版本和核心版本。
/etc/redhat-release文件中描述了系统的版本信息。
第一步在IBM网站下载,下载db2数据包,目前我下载的是db2_v1012_linuxia32_expc_lite.tar.gz第二步把下载下来的包(名称有可能是:db2_v1012_linuxia32_expc_lite.tar.gz)通过FTP放进opt目录第三步用命令解压db2_v1012_linuxia32_expc_lite.tar.gz如下:#cd /opt#gunzip db2_v1012_linuxia32_expc_lite.tar.gz# tar -xvf db2_v1012_linuxia32_expc_lite.tar第四步解压以后会有目录名如:tar -xvf DB2_V81_PE_LNX_32_NLV,点击进去以后,可以看到有三个文件,其它一个是用指令(db2_install)安装,另一个是图片介面(db2setup)切换到/opt/devinst/db2_v101fp2/linuxia32/s121127/expc_lite/,用指令如下:#cd /opt/devinst/db2_v101fp2/linuxia32/s121127/expc_lite/#sh db2_install稍后会出现如果提示:DB2.ADMCL DB2 Administration Client for LINUX26DB2.ESE DB2 Enterprise Server Edition for LINUX26DB2.ADCL DB2 Application Development Client for LINUX26 然后进行选择,选择时一定要用大写如果选择:DB2.ESE这时它自己会执行所有文件,执行完以后在:/opt目录里面会出现:IBM表示安装已经完毕接下来,我们要创建实例和创建数据库第五步(注册license)要注册license不然到时没法创建数据库,license在哪里你要自己去找一下,一般情况会出现在这里:/home/db/db2/V10.1/adm/db2licm/opt/devinst/db2_v101fp2/linuxia32/s121127/expc_lite/db2/license/ db2expc_uw.lic然后在root用户下执行#/home/db/db2/V10.1/adm/db2licm –a/opt/devinst/db2_v101fp2/linuxia32/s121127/expc_lite/db2/license/db 2expc_uw.lic第六步创建用户组和用户# groupadd -g 901 db2grp# groupadd -g 902 db2fgrp# groupadd -g 903 db2agrp# useradd -g db2grp -u 801 -d /home/db2inst1 -m -s /bin/sh db2inst1# useradd -g db2fgrp -u 802 -d /home/db2fenc -m -s /bin/sh db2fenc# useradd -g db2agrp -u 803 -d /home/db2das -m -s /bin/sh db2das第七步修改密码# passwd db2inst1Changing password for db2inst1.New password:[db2inst1]Re-enter new password:[db2inst1]创建完成后,执行如下命令,检查用户组和用户是否创建成功。
db2的使用
db2的使用DB2是IBM公司开发的关系型数据库管理系统,它可以运行在多个操作系统平台上,如Windows、Linux、Unix和IBM的主机操作系统等。
DB2的功能非常强大,可以用于各种企业级应用程序的开发和部署。
在本文中,我们将详细介绍DB2的使用,包括安装、配置、管理和编程等方面。
一、DB2的安装和配置1、先前准备(1)确定需要安装的DB2版本和操作系统平台,以及应用场景和需求;(2)确保计算机符合DB2的最低系统要求,包括硬件和软件配置等;(3)获取适用于操作系统的DB2安装介质,可以从IBM官网或授权渠道获取。
2、安装过程(1)下载安装介质并解压缩至指定位置;(2)运行安装程序,按照提示进行安装,可以根据需要选择安装路径和组件;(3)在安装向导中选择“完整安装”,可以安装DB2服务器、客户端、控制台和示例数据库等组件;(4)在安装向导中设置DB2实例的参数,如实例名称、端口、用户名和密码等,这些参数将决定DB2服务器的启动和运行方式;(5)完成安装后,可以通过命令行或控制台查看DB2实例状态,控制服务器的启停和配置。
3、基本配置(1)启动DB2服务器可以通过控制台或命令行方式启动DB2服务器,如下:Linux/Unix平台:db2startWindows平台:db2cmd,进入命令行模式,输入db2start启动服务器。
(2)连接DB2实例db2 connect to DATABASE user USERNAME using PASSWORDDATABASE为数据库名称,USERNAME为用户名,PASSWORD为密码。
(3)创建数据库db2 create database DATABASEDATABASE为数据库名称。
(4)设定权限和用户PRIVILEGE为权限名称,USER为用户名,OBJECT为对象名称。
二、DB2的管理1、数据库的备份和还原2、数据库的维护TABLENAME为表名称。
Linux系统重启db2数据库命令实例详解
Linux系统重启db2数据库命令实例详解Linux系统中db2数据库的启动关闭可以通过命令来实现。
下面由店铺为大家整理了Linux系统重启db2数据库命令实例详解,希望对大家有帮助!Linux系统重启db2数据库命令实例详解DB2重启数据库实例时,有时停止实例会失败,此时需要先确认没有应用链接数据库,然后再关闭数据库实例,并重新启动。
1.查看是否有活动的链接命令:db2 list applications for db db_name发现有两个活动链接,此时需要将链接进行关闭。
2.关闭连接命令:db2 force application all3.再执行一次步骤1中的命令,查看链接是否全部关闭。
4.执行停止实例命令命令:db2stop注意:命令中没有空格5.执行实例启动命令命令:db2start6.如果此时,发现连接不了数据库,莫慌,需要激活目标数据库首先查看是否有活跃的数据库命令:db2 list active databases如果没有,需要对目标数据库进行激活设置命令:db2 activate database db_name然后再次使用上一条命令,就可查看到当前已有活跃的数据库了,此时可进行连接并执行数据库操作。
在停止数据库实例失败时,也有一种直接迅速的方法可以停止实例,不过不建议使用,最好还是按照上述的步骤进行。
快速方法执行命令:db2stop forceLinux系统db2数据库常用命令启动数据库:启动db2服务:db2start激活数据库实例:db2 activate database <db_name>查看激活状态的数据库:db2 list active databases关闭数据库:失效数据库实例:db2 deactivate database <db_name>关闭数据库服务:db2stop查看数据库:db2 list db directory查看数据库应用:db2 list applications查看数据库应用和进程号:db2 list applications show detail查看数据库表空间:db2pd -db <db_name> -tablespace查看数据库配置:db2 get db cfg for <db_name>连接数据库:db2 connect to <db_name>db2 connect to <db_name> user[user_name] using [password]断开数据库连接:db2 connect reset/db2 terminate创建数据库:db2 create db <db_name>删除数据库:db2 drop database <db_name> (如果不能删除,尝试断开激活的连接或者重启db2)列出系统表:db2 list tables for system列出所有用户表:db2 list tables列出所有表:db2 list tables for all列出特定用户表:db2 list tables for schema [user]复制一张表:db2 create table t1 like t2显示表结构:db2 describe table tablename查询表:db2 "select * from table tablename where ..."执行SQL脚本:db2 -tvf scripts.sql查看错误代码信息:db2 ? 10054停止激活的连接:db2 force application all;\db2 forceapplication all;\db2 force application all;\db2stop查看死锁: db2 get snapshot for locks on <db_name>db2 "select agent_id,tabname,lock_mode from table(snap_get_lock('<db_name>')) as aa"杀掉进程: db2 force application(NUM)监控DB2消耗多的SQL语句:eg:(DB_NAME=CMSDB)db2top -d CMSDB -----查看消耗资源按照提示按l,出现Application Handle,找到资源消耗大的Application Handle(stat) 记下app handle。
linux下DB2数据库安装教程
DB2安装及使用1概述1.1编写目的目前由于项目的需要,多次用到DB2数据库,但因为与之前广泛、熟练使用的Oracle 数据库的差异,使得DB2数据库在应用过程中出现了一些安装及使用上的问题;为了解决这些问题,特此编写此文档;1.2适用范围此文档适应于开发人员、测试人员、实施人员等;1.3名词解释此节将对下文中出现的,以及涉及DB2数据库必须了解的名词做出解释;用户:指操作系统用户,非DB2数据库用户,DB2无数据库用户的概念;系统:DB2数据库的一个安装;实例:数据库管理器,是数据库管理器在内存中的映像,是管理数据的DB2代码,为数据库的运行提供环境;数据库:是一个对象集合,这些对象指表空间、表、视图、索引等,这些对象存储在表空间中;表空间:用来存储数据库对象,由多个容器组成;容器:这里指表空间容器,可以理解为物理存储空间,是表等数据库对象实实在在存储的地方;模式:是数据库对象的逻辑分组集合;数据库中所建的每一个对象都有模式,这些模式会隐式会显式的增加为对象的前缀;数据页(datapage):数据库最小的存储、读写单位,有4KB,8KB,16KB,32KB几种类型;2DB2安装前2.1搭建环境2.1.1软件准备操作系统:CentOS-6.5-i386-minimal.iso环境载体:VirtualBox-4.3.24-98716-Win.1425444683.exe注:此处使用虚拟机virtualbox作为环境载体做安装演示,由于以后的生产环境并不涉及虚拟机方面的安装和使用,故在此不对virtualbox的安装做详述;有兴趣研究的同事可以在互联网上搜索相关教程即可;以下直接介绍操作系统的安装;2.1.2软件安装打开安装好的virtualbox软件,点击【新建】在弹出的窗口中,根据实际情况依次填写名称、选择相应的类型和版本,此处选择linux类型,OtherLinux(32位)版本,点击【下一步】接下来为虚拟机分配内存,按实际情况和需要滑动标尺或直接填写相应的数值即可,此处选择2048MB大小,点击【下一步】分配虚拟硬盘,这一步是为了给操作系统分配一个活动的空间,操作系统中信息和数据将存储在此空间内,在这里我们选择第二个【现在创建虚拟硬盘】,点击【创建】虚拟硬盘文件类型,直接选择默认的即可,点击【下一步】此处选择【固定大小】,性能较好,点击【下一步】接下来,选择虚拟硬盘文件创建的位置和大小,可根据实际情况做配置,此处选择安装在E盘,硬盘大小为20G,点击【创建】,即开始创建接下来就是等待安装,直至安装完成2.1.3软件配置点击virtualbox主界面上的【设置】按钮,在弹出的窗口中进程参数设置在左边的树状模块中选择【系统】--【处理器(P)】,在拓展性前的选勾,如图所示再选择【存储】,点击【没有磁盘】,在右边显示的内容中,点击磁盘模样的图标,点击【选择一个虚拟光盘】,找到你的CentOS-6.5-i386-minimal.iso文件的位置,选中即可再选择树状模块中的【网络】--【网卡1】,在连接方式中选择与宿主机网卡的通讯方式,此处选择HOST_ONLY方式,名称是宿主机网卡的名称;设置完毕,点击确定即可;2.1.4 OS安装点击virtualbox主界面的【启动】按钮,在弹出的窗口选择第一项,如图所示,回车即可在完成自检之后,在弹出的窗口中选择SKIP,跳过测试,ENTER回车然后点击NEXT设置语言,此处选择简体中文,点击Next选择键盘语言,一般为美式英语,点击【下一步】选择存储设备,此处选择基本存储设备,点击【下一步】即可,在检测完存储设备后,选择【是,忽略所有数据】,点击【下一步】即可设置主机名和网络配置,此处直接点击【下一步】,具体参数可在系统建好后在设置;时间设置,选择城市【亚洲/上海】,在【系统时间选择UTC时间】前打勾,点击下一步设置root用户密码,根据实际情况自定义设置即可,点击下一步选择安装类型,由于是在虚拟机中安装,且兼顾宿主机的情况,我们选择【创建自定义布局】,点击下一步接下来就是最重要的操作系统分区的创建,点击【空闲】一行,点击【创建】,选择【标准分区】,依次创建以下节点:根目录“/”,/boot目录,swap分区(一般为内存大小的1.5-2倍);如下所示分区建好后,如下图所示,点击【下一步】然后会弹出是否格式化的提示,选择【格式化】,并在弹出的窗口中选择【将修改写入磁盘】,等待分区的创建完成即可分区建好之后,会弹出安装引导装载程序的窗口,直接点击【下一步】即可然后,就进入系统的安装阶段,系统自检、分析依赖包后,就会进行安装包的安装,由于是简化版的linux,所以安装过程较为简单,等待安装完成即可安装完成后,点击【重新装载】,启动操作系统;启动后输入root及密码就可以登录系统使用了2.2 OS参数设置2.2.1网络设置2.2.1.1虚拟机网卡设置使用root用户登录操作系统,输入# vi /etc/sysconfig/network-scripts/ifcfg-eth0;在该文件中编辑以下内容(IP信息可以自定义,只需要子网掩码、网关与之相对应即可)启动网络输入#service network start 回车;2.2.1.2宿主机网卡设置以win8为例,打开网络和共享中心,点击【更改适配器设置】,可以看到在安装virtualbox 时安装的名为VirtualBox Host-Only Network的网卡右键--【属性】,双击【Internet协议版本IPV4】,设置与虚拟机中的网卡在同一网段的相对应的IP、子网掩码等信息,如图所示通讯测试;在宿主机的cmd命令窗口中,输入ping 172.16.217.140,若可以ping通,则表明二者之间的通讯畅通;2.2.2其他设置2.2.2.1关闭防火墙输入# service iptables status ---查看防火墙状态# service iptables stop ---关闭防火墙# service iptables start ---启动防火墙注:至此OS的环境搭建就完成了,接下来就是DB2数据库的安装!3 DB2安装中3.1软件准备DB2版本:db2_v9.7_linuxia32_server.tar.gz;SSH工具:SecureCRT;3.2软件安装3.2.1软件上传在home目录下新建一个文件夹,以供文件上传之用输入# mkdir /home/db2package使用SecureCRT工具登录到OS(具体用法在此不做详述),使用快捷键ALT+P,打开SFTP界面,如图所示输入sftp>cd /home/db2package/ ----进入文件上传目标目录sftp>lcd /D:/exe/serverinstal/ ----进入本地存储DB2安装文件的目录sftp>put db2_v9.7_linuxia32_server.tar.gz --put命令上传DB2安装文件回车即可开始上传3.2.2软件解压输入# cd /home/db2package/ ---进入软件上传的目录 # tar -xzvf db2_v9.7_linuxia32_server.tar.gz ---回车即可进行解压3.2.3安装解压完成后,会在软件上传的目录下生产一个server目录,进入目录# cd /home/db2package/server该目录下就包含了db2的安装程序,如图所示db2prereqcheck ----先决条件检查,用于检测当前环境是否符合DB2安装要求db2setup ----图形化界面安装,需要配置X环境,在此不再详述;db2_install ----命令行安装,以下将使用此种方式进行安装说明;db2_deinstall ----卸载安装DB2时,运行db2_install文件输入# ./db2_install回车进行安装,片刻后会出现一些选项,首先是安装路径,默认路径是/opt/ibm/db2/v9.7;输入“否”,表示选择默认路径;输入“是”,表示不选择默认路径,则会提示你输入新的安装路径此处我们选择输入“否”;则会出现下图所以内容其中,以下表示DB2的产品ESE --企业版CONSV --连接服务器版WSE --工作组版EXP --易捷版PE --个人版CLIENT --客户机RTCL --运行时客户机此处,根据实际需要选择版本,我们选择EXP,安装易捷版,输入EXP,回车,即可进行安装,如下图注:到此处,DB2就安装完毕了,下面我们来介绍DB2的使用;4 DB2安装后的使用4.1创建用户此处创建的用户属于操作系统用户,DB2无数据库用户,此点与Oracle等其他关系型数据库有所不同;使用root用户登录# groupadd db2grp ---实例用户用户组# groupadd db2fgrp ---受防护用户用户组# groupadd dasadm ---DAS用户用户组# useradd -m -g db2grp -d /home/db2inst -s /bin/bash db2inst --创建实例用户# useradd -m -g db2fgrp -d /home/db2fenc -s /bin/bash db2fenc --创建防护用户# useradd -m -g dasadm -d /home/dasusr -s /bin/bash dasusr --创建DAS用户# passwd db2inst ---设置密码,不详述# passwd db2fenc# passwd dasusr其中,实例用户:每个实例都必须对应一个操作系统用户,该用户用于操作所有的DB2进程,管理所有DB2的文件系统和设备,必须创建;受防护用户:用于在数据库的运行空间外运行用户自定义的函数和存储过程,主要用于UDF,虽无大用处,但是建议创建;DAS用户:用于远程管理,可以不创建,此处就没有创建此用户;4.2创建实例以root用户登录操作系统进入DB2的安装目录下输入# cd /opt/ibm/db2/V9.7/instance创建数据库实例输入# ./db2icrt -p 50000 -u db2fenc db2inst其中50000表示监听端口,db2inst为实例名称,需要与实例用户名相同,db2fenc 表示该受防护用户可使用该实例;设置数据库实例随系统重启而启动输入# su - db2inst$./db2iauto -on db2inst启动数据库实例输入$db2start创建数据库启动数据库实例后输入$ exit ---登出,至root用户# mkdir /home/test/testdb ---创建数据库安装目录# chown a+w /home/test/testdb ---更改目录权限# su - db2inst ---切换至实例用户$ db2 create db testdb on /home/test/testdb using codeset gbk territory cn其中,testdb 为数据库名称,/home/test/testdb为数据库创建目录,应该提前创建;创建表空间a.在创建表空间之前,我们可以先创建一个缓冲池,若不创建,将会使用数据库默认缓冲池IBMDEFAULTBP;输入 $ db2 connect to testdb -----连接数据库$ db2 create bufferpool bp32k size 10000 pagesize 32k其中,bp32k 为缓冲池名称,size表示缓冲池大小,pagesize 表示数据页大小b.输入$ exit ---登出,至root用户# mkdir /usr/db2/ ---创建数据库安装目录# chown a+w /usr/db2/ ---更改目录权限# su - db2inst ---切换至实例用户$ db2 "create tablespace db2inst pagesize 32k managed by database using (file '/usr/db2/tablespace_db2inst' 3g) bufferpool bp32k"其中,db2inst 为表空间名,pagesize为数据页大小,需要与引用的缓冲池的数据也大小相同;using 表示表空间创建的目录以及大小(即容器),目录应该事先存在,bufferpool 表示引用的缓冲池;4.4 DB2数据导出导入这里存在导出表结构和表数据的情况;使用案例请直接看4.4.5节;导出表结构输入$ db2look -d testdb -e -a -x -i db2inst -w db2inst -o test.sql其中testdb --数据库名db2inst --用户名db2inst --密码test.sql --文件名执行sql文件输入$ db2 -tvf test.sql4.4.2数据库表数据导出数据库表数据导出输入$ db2move testdb export -u db2inst -p db2inst其中 testdb --数据库名db2inst --用户名db2inst --密码4.4.3数据库单个表导出使用export命令输入 $ export to test.del of del MODIFIED BYCODEPAGE=1386 select * from pt_oper 其中,test.del为导出文件名,del 为文件格式,CODEPAGE=1386表示编码4.4.4数据库单个表数据导入使用import命令输入$ import from test.del of del MODIFIED BY COMPOUND =50 insert into pt_oper其中test.del为导出文件名,del 为文件格式4.4.5数据库数据迁移用例# su - db2inst ----切换实例用户$ db2start ----启动实例$ db2 connect to testdb ----连接数据库$ mkdir /home/test$ cd /home/test$ db2look -d testdb -e -a -x -i db2inst -w db2inst -o test.sql -----导出数据库全表结构$ db2 -tvf test.sql ----执行数据库结构的sql脚本,导入全表结构$ mkdir /home/dbdata$ cd /home/dbdata$ db2move testdb export -u db2inst -p db2inst ----导出数据库全表数据$ db2move testdb import -u db2inst -p db2inst ----导入数据库全表数据5Q&A5.1问题一Q:在使用过程中,会遇到创建的模式名与用户名不一样的情况,导致在执行sql过程中报错;A:这是因为DB2的特点是一个对象需要加上模式名才会有效,即schema.Object的形式,如果不加模式名,系统会自动以当前登录名为模式名,隐式的加到该对象前;解决方法:建立的实例最好与实例用户名相同;在执行sql时加上需要使用的模式名;。
在linux上部署安装db2
一、在linux(虚机)上部署DB2(8.2版本)(一)用命令行安装及配置db2数据库1.利用远程终端工具上传DB2_V82_ESE_LNX_32_NLV.tar到linux系统上。
如放置在/tmp/gxs目录中。
2.进入“/tmp/gxs”目录,执行tar命令解压db2的安装包3.解压后在gxs目录中的内容如下拷到license中,否则db2安装完后不能使用。
4.执行db2_install命令,进行db2数据库安装。
5.如下所示,输入DB2.ESE后,回车确定。
6.安装完毕后的页面如下所示。
DB2默认安装在/opt/IBM目录下。
7.创建用户id,如下所示。
可。
如下所示。
8.创建实例,首先我们使用以下命令创建管理服务器实例,切换到root用户,进入/opt/IBM/db2/V8.1/instance目录中。
执行:./dascrt -u dasusr1命令9.接着使用以下命令创建数据库实例db2inst1这个命令有一些可选的参数。
特别地,-a选项允许我们指定一个不同于缺省的“server”的认证机制。
10.创建共享库链接,进入/opt/ibm/db2/v8.1/cfg/目录中,如下所示11.设置db2实例环境变量。
用su命令切换到db2实例所用者用户终端12.执行db2start命令,验证db2是否成功安装。
13.设置服务端口,输入db2命令,进入db2命令行模式(c) Copyright IBM Corporation 1993,2002Command Line Processor for DB2 SDK 8.2.0Y ou can issue database manager commands and SQL statements from the command prompt. For example:db2 => connect to sampledb2 => bind sample.bndFor general help, type: ?.For command help, type: ? command, where command can bethe first few keywords of a database manager command. For example:? CA TALOG DA TABASE for help on the CA TALOG DA TABASE command? CA TALOG for help on all of the CA TALOG commands.To exit db2 interactive mode, type QUIT at the command prompt. Outside interactive mode, all commands must be prefixed with 'db2'.To list the current command option settings, type LIST COMMAND OPTIONS.For more detailed help, refer to the Online Reference Manual.db2 =>14.执行:update database manager configuration using svcename server1|50000其中:server1|50000两者选其一,server1|为服务名,50000为端口号15.执行get database manager configuration16.创建数据库:create database dbname如果此处失败,在命令行执行db2start,或者重新启动系统(reboot)。
