db2数据库学习笔记.docx

上传人:b****5 文档编号:30735044 上传时间:2023-08-20 格式:DOCX 页数:83 大小:103.83KB
下载 相关 举报
db2数据库学习笔记.docx_第1页
第1页 / 共83页
db2数据库学习笔记.docx_第2页
第2页 / 共83页
db2数据库学习笔记.docx_第3页
第3页 / 共83页
db2数据库学习笔记.docx_第4页
第4页 / 共83页
db2数据库学习笔记.docx_第5页
第5页 / 共83页
点击查看更多>>
下载资源
资源描述

db2数据库学习笔记.docx

《db2数据库学习笔记.docx》由会员分享,可在线阅读,更多相关《db2数据库学习笔记.docx(83页珍藏版)》请在冰豆网上搜索。

db2数据库学习笔记.docx

db2数据库学习笔记

db2数据库学习笔记

一、DB2在unix或linux上的安装:

1、安装前准备工作

将下载的安装文件上传到待安装的LINUX机器,解压缩到某个目录,产生了一个名为Server的子目录,进入子目录,可以看到有多个可执行的脚本,其中db2prereqcheck是先决条件检查,db2setup是图形界面安装程序,db2_install是命令行方式安装。

还有一个db2目录,保存了需要安装的二进制文件。

执行db2prereqcheck,如果没有返回任何结果,表明系统符合DB2安装的先决条件,可以进入下一步安装。

如果返回信息,请按信息提示修改配置,然后再次运行,直到没有错误提示。

[root@redflag11012601app]#llv*gz

-rw-r--r--1rootroot81057639205-0319:

44v9.7_linuxx64_server.tar.gz

[root@redflag11012601app]#tarxzfv9.7_linuxx64_server.tar.gz

[root@redflag11012601app]#cdserver

[root@redflag11012601server]#ll

  

总计64

drwxr-xr-x6binbin40962009-11-16db2

-r-xr-xr-x1binbin53402009-11-16db2ckupgrade

-r-xr-xr-x1binbin52932009-11-16db2_deinstall

-r-xr-xr-x1binbin51632009-11-16db2_install

-r-xr-xr-x1binbin51272009-11-16db2ls

-r-xr-xr-x1binbin51452009-11-16db2prereqcheck

-r-xr-xr-x1binbin51452009-11-16db2setup

drwxr-xr-x15binbin40962009-11-16doc

-r-xr-xr-x1binbin51812009-11-16installFixPack

[root@redflag11012601server]#./db2prereqcheck

2、安装DB2数据库软件

  以操作系统root用户执行db2_install,根据提示操作,设定安装目录和要安装的版本等以后,耐心等待安装任务完成。

DB2用一个安装包包括了同一操作系统平台各个版本的功能,只要在安装类型选择企业版即可,这里我们输入ESE。

要注意,由于操作系统默认语言为简体中文,安装界面也是中文提示的,而且,必须输入中文"是"才能更改安装目录。

和大多数unix下的软件一样,软件安装只是整个安装过程很小的一步,要使软件能正常工作,大量的配置和管理任务还在后头。

[root@redflag11012601server]#./db2_install

用于安装产品的缺省目录-/opt/ibm/db2/V9.7

***********************************************************

要选择另一个目录用于安装吗?

[是/否

Y

要选择另一个目录用于安装吗?

[是/否]

Yes

要选择另一个目录用于安装吗?

[是/否]

输入安装目录的完整路径名-

-----------------------------------------------

/user1/ibm/db2/V9.7

指定下列其中一个关键字以安装DB2产品。

ESE--企业版

CONSV

WSE--工作组版

EXP--易捷版

PE--个人版

CLIENT

RTCL

按“帮助”以重新显示产品名称。

按“退出”以退出。

***********************************************************

ESE

正在初始化DB2安装。

要执行的任务总数为:

47

要执行的所有任务的总估计时间为:

2070

任务#1启动

描述:

正在检查许可协议的接受情况

估计时间1秒

任务#1结束

任务#47启动

描述:

正在注册DB2更新服务

估计时间30秒

任务#47结束

任务#48启动

描述:

正在更新全局概要文件注册表

估计时间3秒

任务#48结束

已成功完成执行。

有关更多信息,请参阅"/tmp/db2_install.log.27290"上的DB2安装日志。

3、注册license

  本安装因为是评估版无须这一步。

用户可以在90天内完全测试全部功能。

对于购买了企业版等版本license的用户,需要注册license才能长期使用。

4、创建DB2运行所需要的用户组和用户

  DB2没有独立的用户管理系统,必须借用OS用户来提供安全性认证,所以这里需要创建LINUX用户和组。

一共创建了3个组,每个组一个用户。

其作用和含义分别是:

  数据库管理服务器DAS用户dasusr1组名:

dasadm1

  管理实例的用户db2inst1组名:

db2iadm1

  受防护用户db2fenc1组名:

db2fadm1

  其中管理实例的用户db2inst1是最常用的,我们为它设置口令db2,以便下面步骤的正常操作。

创建完成后,执行如下命令查看/etc/group和/etc/passwd,检查用户组和用户是否创建成功。

[root@redflag11012602server]#groupadd-g901db2grp

[root@redflag11012602server]#groupadd-g902db2fgrp

 

[root@redflag11012602server]#groupadd-g903db2agrp

  

[root@redflag11012602server]#useradd-gdb2grp-u801-d/home/db2inst1-m-s/bin/shdb2inst1

 

[root@redflag11012602server]#useradd-gdb2fgrp-u802-d/home/db2fenc-m-s/bin/shdb2fenc

  

[root@redflag11012602server]#useradd-gdb2agrp-u803-d/home/db2das-m-s/bin/shdb2das

  

[root@redflag11012602server]#passwddb2inst1

  

Changingpasswordforuserdb2inst1.

NewUNIXpassword:

BADPASSWORD:

itisWAYtooshort

  

RetypenewUNIXpassword:

  

passwd:

allauthenticationtokensupdatedsuccessfully.

 

[root@redflag11012602server]#more/etc/group|grepdb2

  

db2grp:

x:

901:

 

db2fgrp:

x:

902:

  

db2agrp:

x:

903:

  

[root@redflag11012602server]#more/etc/passwd|grepdb2

  

db2inst1:

x:

801:

901:

:

/home/db2inst1:

/bin/sh

 

db2fenc:

x:

802:

902:

:

/home/db2fenc:

/bin/sh

 

db2das:

x:

803:

903:

:

/home/db2das:

/bin/sh

5、创建实例

  需要以root用户创建das和实例。

分别用下面2个命令:

  dascrt创建的是DB2adminstrationserver,每台服务器只有一个这种server,为进行DB2管理(比如运行控制中心)所必须,同时指定其管理用户是db2das;

  db2icrt创建的是实例,其名字一般和管理用户名一样,这里均为db2inst1;

  创建成功以后,系统在db2das和db2inst1相应的home目录下产生了一个子目录。

/home/db2inst1/sqllib目录中包括了一个db2profile文件,包括了设定各个db2实例中用到的环境变量,如DB2INSTANCE和各种命令的搜索路径,库的路径等,必须执行它,才能进行各种操作,或者将.~/sqllib/db2profile一行加入/home/db2inst1/.profile文件(因为创建db2inst1用户时指定了shell类型是/bin/sh,如果是其他shell,则采用不同的profile文件,比如bash则采用.bash_profile),这样当切换到db2inst1用户时就会自动执行这个脚本。

db2das用户的设置脚本文件位于/home/db2das/das/dasprofile,同样需要执行这个脚本,才能执行db2admin等命令。

用db2ilist命令可以查出当前已创建的实例名。

 

[root@redflag11012602server]#cd/user1/ibm/db2/V9.7/instance

  

[root@redflag11012602instance]#./dascrt-udb2das

 

SQL4406WTheDB2AdministrationServerwasstartedsuccessfully.

 

DBI1070IProgramdascrtcompletedsuccessfully.

  

[root@redflag11012602instance]#./db2icrt-udb2inst1db2inst1

  

DBI1070IProgramdb2icrtcompletedsuccessfully.

 

-sh-3.2$db2ilist

 

db2inst1

6、启动DB2实例

  切换到db2das用户,执行db2adminstart启动DB2管理服务器。

  切换到db2inst1用户,执行db2start启动数据库实例。

  root用户也可以执行db2adminstart命令。

如果首次执行,则会提示如下横线以下信息。

一般出现在刚刚用dascrt命令创建das之后。

 

[root@redflag11012601das]#su-db2das

 

-sh-3.2$.das/dasprofile

 

-sh-3.2$db2adminstart

  

SQL4406WTheDB2AdministrationServerwasstartedsuccessfully.

  

[root@redflag11012602instance]#su-db2inst1

 

-sh-3.2$ls

 

Desktopsqllib

 

-sh-3.2$.sqllib/db2profile

  

-sh-3.2$db2start

 

05/05/201120:

13:

0800SQL1063NDB2STARTprocessingwassuccessful.

  

SQL1063NDB2STARTprocessingwassuccessful.

 

----------

 

[root@redflag11012601bin]#./db2adminstart

SQL4409WTheDB2AdministrationServerisalreadyactive.

7、创建和访问数据库

  首先要启动数据库实例,切换到db2inst1用户,执行db2start命令启动数据库实例。

  若需要,首先用db2stop命令停止实例,如果db2stop命令不能成功执行,可运行下面的命令来关闭数据库实例。

首先在db2inst1用户下强制关闭实例上的所有应用程序。

  $db2forceapplicationsall

  $db2stop关闭数据库实例。

  上述步骤也可以简化为改用db2stopforce命令。

  启动数据库实例后用db2createdatabase命令创建数据库,可以设定字符集、页大小等数据库选项。

  数据库创建成功后,可以用db2connectto命令连接数据库。

然后就可以进行创建表、查询等操作了。

  如果要尽快测试db2数据库的功能,也可以用命令创建db2自带的sample数据库。

 

-sh-3.2$db2stop

2011-05-0911:

01:

5600SQL1025NThedatabasemanagerwasnotstoppedbecausedatabasesarestillactive.

  

SQL1025NThedatabasemanagerwasnotstoppedbecausedatabasesarestillactive.

  

-sh-3.2$db2forceapplicationsall

  

DB20000ITheFORCEAPPLICATIONcommandcompletedsuccessfully.

  

DB21024IThiscommandisasynchronousandmaynotbeeffectiveimmediately.

  

-sh-3.2$db2stop

  

2011-05-0911:

06:

0300SQL1064NDB2STOPprocessingwassuccessful.

  

SQL1064NDB2STOPprocessingwassuccessful.

-sh-3.2$db2start

05/08/201111:

14:

2400SQL1063NDB2STARTprocessingwassuccessful.

SQL1063NDB2STARTprocessingwassuccessful.

-sh-3.2$db2"createdatabasetpchUSINGCODESETUTF-8TERRITORYCNpagesize32K

DB20000ITheCREATEDATABASEcommandcompletedsuccessfully.

-sh-3.2$db2connecttotpch;

 

DatabaseConnectionInformation

Databaseserver=DB2/LINUXX86649.7.4

SQLauthorizationID=DB2INST1

Localdatabasealias=TPCH

db2=>select*fromdual;

DUMMY

----

X

1record(s)selected.

----------------------------------------------------------------------

-sh-3.2$cd/user1/ibm/db2/V9.7/bin

-sh-3.2$./db2sampl

  

StartingtheDB2instance...

 

Creatingdatabase"SAMPLE"...

 

Connectingtodatabase"SAMPLE"...

  

Creatingtablesanddatainschema"DB2INST1"...

 

CreatingtableswithXMLcolumnsandXMLdatainschema"DB2INST1"...

 

StoppingtheDB2instance...

'db2sampl'processingcomplete.

注意:

如果创建数据库时没有指定创建位置,默认创建在/home/db2inst1/实例名下,在此目录下包括系统表空间、用户表空间的数据文件,通常这个目录下的空间不会太大,当需要导入大量数据时,会发生磁盘空间不足的错误,解决方法是在其他目录创建表空间,然后在创建表时指定表空间,或者在数据库关闭状态下,将此目录移动到其他空间足够的目录,再用Linux的ln-s命令将其他位置映射到此目录下。

更好的办法是在一开始做好容量规划,将数据库创建目录指定到大容量的目录,具体命令行写法参考文档。

软连接的例子如下:

[db2inst1@aix:

/home/db2inst1]#>cp-Rdb2inst1/arch/IBM/ts

 

[db2inst1@aix:

/home/db2inst1]#>du-s/arch/IBM/ts/db2inst1

 

20111984/arch/IBM/ts/db2inst1

  

[db2inst1@aix:

/home/db2inst1]#>mvdb2inst1db2inst1ori

 

[db2inst1@aix:

/home/db2inst1]#>ls-l

 

total8

 

drwxrwxr-x3db2inst1db2iadm1256May1016:

03db2inst1ori

 

drwxrwsr-t23db2inst1db2iadm14096May1015:

49sqllib

 

[db2inst1@aix:

/home/db2inst1]#>ln-s/arch/IBM/ts/db2inst1db2inst1

8、设置DB2自启动

  使用root用户执行db2iauto命令,设置对db2inst1实例在LINUX启动时自动启动。

这一步是可选的。

用户应该按自己的实际需要决定是否设置。

选项-on表示自动启动,-off表示不随操作系统启动自动启动。

[root@redflag11012601das]#cd/user1/ibm/db2/V9.7/instance

[root@redflag11012601instance]#./db2iauto-ondb2inst1

9、配置网络

  DB2软件在创建实例的过程中,自动在操作系统中增加了相关的服务,并指定了相应的端口号。

但db2并没有自动设定为通过TCP/IP协议访问,需要手工配置。

  首先查看/etc/services中db2各个服务的端口号,这里DB2_db2inst1默认端口就是60000。

  切换到db2inst1用户。

修改DB2连接方式为TCPIP,然后可通过JDBC、ODBC等访问本DB2服务器上的数据库,安装了DB2客户端的其它机器也可访问数据库。

  $db2setDB2COMM=TCPIP,设定完成后,可以通过不带参数的db2set命令查看结果。

  修改DB2的服务端口为上述默认端口号。

db2updatedbmcfgusingSVCENAME命令提示,需要重新启动实例,再用clpplus命令验证网络设置成功

-sh-3.2$db2setDB2COMM=TCPIP

-sh-3.2$db2set

 

DB2_COMPATIBILITY_VECTOR=ORA

DB2_EXTENDED_OPTIMIZATION=on 

DB2_LIKE_VARCHAR=y,y

DB2_HASH_JOIN=Y

DB2MEMMAXFREE=8000000

DB2MEMDISCLAIM=Y

DB2_MMAP_WRITE=NO

DB2_MMAP_READ=NO

DB2_RR_TO_RS=ON

DB2COMM=TCPIP

-sh-3.2$db2getdbmcfg|grepSVCENAME

TCP/IPServicename(SVCENAME)=

SSLservicename(SSL_SVCENAME)=

-sh-3.2$tail/etc/services

com-bardac-dw48556/udp#com-bardac-dw

iqobject48619/tcp#iqobject

iqobject48619/udp#iqobject

#Localservices

csync2005/tcp#CyrusIMAPReplicationDaemon

csync2005/udp#CyrusIMAPReplicationDaemon

DB2_db2inst160000/tcp

DB2_db2inst1_160001/tcp

DB2_db2inst1_260002/tcp

DB2_db2inst1_END60003/tcp

-sh-3.2$db2updatedbmcfgusingSVCENAME60000

 

DB20000ITheUPDATEDATABASEMANAGERCONFIGURATIONcommandcompleted

successfully.

SQL1362WOneormoreoftheparameterssubmittedforimmediatemodification

werenotchangeddynamically.Clientchangeswillnotbeeffectiveuntilthe

nexttimetheapplicationisstartedortheTERMINATEcommandhasbeenissued.

ServerchangeswillnotbeeffectiveuntilthenextDB2STARTcommand.

-sh-3.2$db2stopforce

2011-05-0819:

36:

0000SQL1064NDB2STOPprocessingwassuccessful.

SQL1064NDB2STOPprocessingwassuccessful.

-sh-3.2$db2start

05/08/201119:

36:

0600SQL1063NDB2STARTprocessingwassuccessful.

SQL1063NDB2STARTprocessingwassuccessful.

-sh-3.2$clpplusdb2inst1/db2@localhost/sample

输入端口[50000]:

60000

数据库连接信息

主机名=localhost

数据库服务器=DB2/LINUXX8664S

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电力水利

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1