suse linux上安装DB2 数据库手记Word文件下载.docx
《suse linux上安装DB2 数据库手记Word文件下载.docx》由会员分享,可在线阅读,更多相关《suse linux上安装DB2 数据库手记Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
compat-libstdc++-33-3.2.3-61
(检查是否有libstdc++.so.5
/usr/lib64#ls-llibstdc++.so.*
lrwxrwxrwx1rootroot
18Feb2203:
34libstdc++.so.5->
libstdc++.so.5.0.7
-rwxr-xr-x1rootroot825400Apr
9
2007libstdc++.so.5.0.7
18Feb2121:
57libstdc++.so.6->
libstdc++.so.6.0.8
-rwxr-xr-x1rootroot969048Sep
5
2009libstdc++.so.6.0.8)
注意这个compat-libstdc++-33-3.2.3-61.x86_64.rpm的包在SUSELINUX10的光盘里并没有,需要自己下载并安装,另外如果没有安装这个包,则在安装DB2时会报找不到libstdc++.so.5的告警。
(对于DB2数据库服务器和客户机,libstdc++.so.5是必需的。
还有如果你在RHEL5或SLES10上使用g++4.1来编译C++应用程序,那么将生成下列警告:
libdb2.so所需要的libstdc++.so.5可能与libstdc++.so.6冲突)
修改系统核心参数
vi/etc/sysctl.conf
kernel.msgmni=16384
kernel.sem=250256000324096
#sysctl-p
#vi/etc/security/limits.conf
*
softnofile10240
二、开始进行安装和配置
#tar
-xvf
DB2v9.7_linux64_server.tar
#cdserver
#./db2setup(或也可使用db2_install)
安装到默认路径/opt/ibm/db2/V9.7下面,安装类型选择ESE
最后一步一步安装下去,直至完成。
三、添加用户和组
#groupadd-g995db2grp
#useradd-u1000-d/home/db2inst1-gdb2grp-mdb2inst1
#groupadd-g996db2fgrp
#useradd-u1001-d/home/db2fenc1-gdb2fgrp
-mdb2fenc1
#groupadd-g997db2asgrp
#(安装DB2administrationserver的组)
#useradd-u1002-d/home/dasusr1
-gdb2asgrp
-mdasusr1
(建立安装DB2administrationserver(DAS)的用户)
#
passwddb2inst1
#passwddb2fenc1
#passwddasusr1
四、在安装目录中找到许可证文件:
db2ese.lic
检查license的内容
$db2licm-l
执行如下安装授权许可
#/opt/ibm/db2/V9.7/adm/db2licm
-a
/mnt/cdrom/db2/license/db2ese.lic
五、创建db2实例
#cd/opt/ibm/db2/v9.7
ls-l
#cdinstance
#./db2icrt-sese-udb2fenc1db2inst1(建立数据库实例)
#./dascrt-udasusr1(建立das)
#cd/opt/ibm/db2/V9.7/cfg
#./db2ln(建立DB2文件的链接)
六、设定服务端口,配置数据库实例通信
以root用户
vi/etc/services
新增如下行
DB2_db2inst1
60000/tcp
DB2_db2inst1_1
60001/tcp
DB2_db2inst1_2
60002/tcp
DB2_db2inst1_END
60003/tcp
DB2c_db2inst1
60005/tcp
保存退出
七、启动实例
#su-db2inst1
$db2setDB2RSHCMD=/usr/bin/ssh
这里需要先设置DB2RSHCMD这个变量,再设置DB2COMM等变量
$db2setDB2COMM=tcpip(设置DB2的通信方式为tcpip)
$db2updatedbmcfgusingSVCENAMEdb2c_db2inst1(设置dbm参数SVCENAME为db2c_db2inst1
)
$db2setDB2AUTOSTART=YES(设置数据库自动启动)
然后通过DB2START命令启动当前实例
$db2start
02/22/201301:
40:
54
0
SQL1063N
DB2STARTprocessingwassuccessful.
SQL1063N
(创建数据库之前需要指定数据库存放目录并配置相应的权限
#mkdir-p/db2data/database
#chown-Rdb2inst1:
db2grp/db2data/database)
创建数据库
$db2"
CREATEDATABASEtestdbon/db2data/databaseUSINGCODESETGBKTERRITORYCN"
$db2connecttotestdb
注意在连接数据库时,如果报下述错误
SQL0332N
Characterconversionfromthesourcecodepage"
1386"
tothetarget
codepage"
819"
isnotsupported.
SQLSTATE=57017
上边的错误则说明server端的字符集是1386的,而客户端的字符集是819(cn)的,db2不能server端1386的字符集转化为client端819的字符集。
解决这个问题的思想是将client端的字符集改为与server端兼容的
那么需要设置这个参数
db2inst1@linux-uu1q:
~>
db2setdb2codepage=1386
然后退出当前db2inst1用户
exit
logout
再切换回db2inst1用户,参数生效后就可以正常登录进来了。
/#su-db2inst1
db2connecttotestdb
DatabaseConnectionInformation
Databaseserver
=DB2/LINUXX86649.7.6
SQLauthorizationID
=DB2INST1
Localdatabasealias
=TESTDB
为方便客户端连接数据库,还需设置
$db2updatedbmcfgusingsvcename60005
(如果netstat还看不到这个端口,需重启数据库)
$db2catalogtcpipnodenode_8remote192.168.0.8server60005(编目节点)
$db2catalogdbtestdb
astestdb1
atnodenode_8(编目数据库在节点上)
(Db2connecttodbnameuserusernameusingpasswd#数据库链接
Db2uncatalogdbdbname;
#反编目数据库
Db2uncatalognodenodename#反编目节点)
创建节点组
首先可以查询一下目前数据库环境中的partitiongroups有哪些,使用下面命令:
$db2listdatabasepartitiongroupsshowdetail
创建下面的partitiongroup
CREATEDATABASEPARTITIONGROUPdpgodsONDBPARTITIONNUMS(0)"
CREATEDATABASEPARTITIONGROUPdpgedwONDBPARTITIONNUMS(0)"
CREATEDATABASEPARTITIONGROUPdpgddwONDBPARTITIONNUMS(0)"
创建缓冲池
ALTERBUFFERPOOLIBMDEFAULTBPSIZE2000"
CREATEBUFFERPOOLbp32kALLDBPARTITIONNUMSSIZE983040PAGESIZE32K"
创建表空间
CREATELARGETABLESPACEtbs32kdpgodsINDATABASEPARTITIONGROUPdpgodspagesize32kMANAGEDBYDATABASEUSING(file'
/db2data/dpgtbs32k/dpgtbs32k.data'
500M)ONDBPARTITIONNUM(0)bufferpoolbp32k"
CREATELARGETABLESPACEtbs32kdpgedwINDATABASEPARTITIONGROUPdpgedwpagesize32kMANAGEDBYDATABASEUSING(file'
/db2data/edw/dpgtbs32k/dpgtbs32k.data'
CREATELARGETABLESPACEtbs32kdpgddwINDATABASEPARTITIONGROUPdpgddwpagesize32kMANAGEDBYDATABASEUSING(file'
/db2data/ddw/dpgtbs32k/dpgtbs32k.data'
500M)ONDBPARTITIONNUM
(2)bufferpoolbp32k"
CREATELARGETABLESPACEidx32kdpgodsINDATABASEPARTITIONGROUPdpgodspagesize32kMANAGEDBYDATABASEUSING(file'
/db2data/dpgidx32k/dpgidx32k.data'
100M)ONDBPARTITIONNUM(0)bufferpoolbp32k"
CREATELARGETABLESPACEidx32kdpgedwINDATABASEPARTITIONGROUPdpgedwpagesize32kMANAGEDBYDATABASEUSING(file'
/db2data/edw/dpgidx32k/dpgidx32k.data'
CREATELARGETABLESPACEidx32kdpgddwINDATABASEPARTITIONGROUPdpgddwpagesize32kMANAGEDBYDATABASEUSING(file'
/db2data/ddw/dpgidx32k/dpgidx32k.data'
100M)ONDBPARTITIONNUM
(2)bufferpoolbp32k"
将下面语句复制到文件中,然后db2-tvfcrt_tbs.sql执行这个脚本
CREATELARGETABLESPACEtbs32kodsINDATABASEPARTITIONGROUPIBMDEFAULTGROUPpagesize32kMANAGEDBYDATABASE
USING(file'
/db2data/ods/tbs32k/tbs32k_0.data'
1000M)ONDBPARTITIONNUM(0)
/db2data/ods/tbs32k/tbs32k_1.data'
1000M)ONDBPARTITIONNUM
(1)
/db2data/ods/tbs32k/tbs32k_2.data'
1000M)ONDBPARTITIONNUM
(2)
/db2data/ods/tbs32k/tbs32k_3.data'
1000M)ONDBPARTITIONNUM(3)
autoresizeyes
bufferpoolbp32k;
CREATELARGETABLESPACEtbs32kedwINDATABASEPARTITIONGROUPIBMDEFAULTGROUPpagesize32kMANAGEDBYDATABASE
/db2data/edw/tbs32k/tbs32k_0.data'
/db2data/edw/tbs32k/tbs32k_1.data'
/db2data/edw/tbs32k/tbs32k_2.data'
/db2data/edw/tbs32k/tbs32k_3.data'
CREATELARGETABLESPACEtbs32kddwINDATABASEPARTITIONGROUPIBMDEFAULTGROUPpagesize32kMANAGEDBYDATABASE
/db2data/ddw/tbs32k/tbs32k_0.data'
/db2data/ddw/tbs32k/tbs32k_1.data'
/db2data/ddw/tbs32k/tbs32k_2.data'
/db2data/ddw/tbs32k/tbs32k_3.data'
CREATELARGETABLESPACEidx32kodsINDATABASEPARTITIONGROUPIBMDEFAULTGROUPpagesize32kMANAGEDBYDATABASE
/db2data/ods/idx32k/idx32k_0.data'
100M)ONDBPARTITIONNUM(0)
/db2data/ods/idx32k/idx32k_1.data'
100M)ONDBPARTITIONNUM
(1)
/db2data/ods/idx32k/idx32k_2.data'
100M)ONDBPARTITIONNUM
(2)
/db2data/ods/idx32k/idx32k_3.data'
100M)ONDBPARTITIONNUM(3)
CREATELARGETABLESPACEidx32kedwINDATABASEPARTITIONGROUPIBMDEFAULTGROUPpagesize32kMANAGEDBYDATABASE
/db2data/edw/idx32k/idx32k_0.data'
/db2data/edw/idx32k/idx32k_1.data'
/db2data/edw/idx32k/idx32k_2.data'
/db2data/edw/idx32k/idx32k_3.data'
CREATELARGETABLESPACEidx32kddwINDATABASEPARTITIONGROUPIBMDEFAULTGROUPpagesize32kMANAGEDBYDATABASE
/db2data/ddw/idx32k/idx32k_0.data'
/db2data/ddw/idx32k/idx32k_1.data'
/db2data/ddw/idx32k/idx32k_2.data'
/db2data/ddw/idx32k/idx32k_3.data'
CREATESYSTEMTEMPORARYTABLESPACEtmp32k
PAGESIZE32k
MANAGEDBYSYSTEM
USING('
/db2data/database/db2inst1/NODE0000/SQL00001/systmptbs_32k'
)ONDBPARTITIONNUM(0)
/db2data/database/db2inst1/NODE0001/SQL00001/systmptbs_32k'
)ONDBPARTITIONNUM
(1)
/db2data/database/db2inst1/NODE0002/SQL00001/systmptbs_32k'
)ONDBPARTITIONNUM
(2)
/db2data/database/db2inst1/NODE0003/SQL00001/systmptbs_32k'
)ONDBPARTITIONNUM(3)
BUFFERPOOLbp32k;
CREATEUSERTEMPORARYTABLESPACEusrtmp32k
MANAGEDBYDATABASE
USING(FILE'
/db2data/database/db2inst1/NODE0000/SQL00001/usrtmptbs_32k/tbs32k_0.data'
/db2data/database/db2inst1/NODE0001/SQL00001/usrtmptbs_32k/tbs32k_1.data'
/db2data/database/db2inst1/NODE0002/SQL00001/usrtmptbs_32k/tbs32k_2.data'
/db2data/database/db2inst1/NODE0003/SQL00001/usrtmptbs_32k/tbs32k_3.data'
bufferpoolbp32k;
九、配置数据库和实例的相关参数:
$db2_all"
db2updatedbcfgfortestdbusingLOGPRIMARY16"
$db2