db2快速入门指南.docx
- 文档编号:24205546
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:21
- 大小:268.70KB
db2快速入门指南.docx
《db2快速入门指南.docx》由会员分享,可在线阅读,更多相关《db2快速入门指南.docx(21页珍藏版)》请在冰豆网上搜索。
db2快速入门指南
安装DB2企业版数据库
1.Windows环境
更改安装路径为d:
\IBM\SQLLIB
默认端口50000,可以更改
安装时需要建db2admin用户,权限为系统管理员,为了安全一定要有密码
DB2安装目录结构
\SQLLIB安装的根目录,包括README文件
\SQLLIB\ADSM包含ADSTAR分布式存储管理器文件
\SQLLIB\BIN包含DB2工具的可执行文件
\SQLLIB\BND包含DB2工具的绑定文件
\SQLLIB\CC包含运行控制中心所需的文件
\SQLLIB\CFG包含默认的系统配置文件
\SQLLIB\CONV包含代码页转换表文件
\SQLLIB\DB2默认的实例目录
\SQLLIB\DB2DAS00缺省的DB2管理服务器目录
\SQLLIB\DOC包含DB2联机手册
\SQLLIB\FUNCTION默认的用户自定义函数目录
\SQLLIB\FUNCTION\UNFENCED默认的非隔离用户自定义函授目录
\SQLLIB\HELP联机帮助文件
\SQLLIB\JAVADB2所需的JAVA类库
JAVA12包含JDK1.2的支持程序
\SQLLIB\MISC包含HTML搜索服务器文件
\SQLLIB\MSG\PRIME包含信息文件
\SQLLIB\QP包含QUERYPATROLLER的客户端文件
\SQLLIB\SAMPLES包含样例程序和样例脚本
\SQLLIB\SPMLOG包含DB2同步点管理器日志文件
\SQLLIB\THNSETUP包含瘦客户端安装文件
2.Unix环境
安装比较麻烦,AIX简单内核参数调整少,其他调整比较多。
db2文档有说明。
DB2安装目录结构
README安装的根目录,包括README文件
ADM包含系统管理工具文件
ADSM包含ADSTAR分布式存储管理器文件
BIN包含DB2工具的二进制可执行文件
BND包含DB2工具的绑定文件
CC包含运行控制中心所需的文件
CFG包含默认的系统配置文件
CONV包含代码页转换表文件
DOC包含DB2联机手册
FUNCTION默认的用户自定义函数目录
FUNCTION\UNFENCED默认的非隔离用户自定义函授目录
INSTALL包含安装程序
INSTANCE包含实例脚本
JAVADB2所需的JAVA类库
LIBDB2库文件
MAP包含DB2CONNECT使用的映射文件
MISC包含HTML搜索服务器文件
SAMPLES包含样例程序和样例脚本
MSG\$L包含DB2信息文件
3.Windows环境默认服务
数据库管理DB2DAS-DB2DAS00
administrator或db2admin用户登录操作系统
启动
方法1:
直接在【服务】中启动
如果db2admin更改密码,那么服务属性登录项中密码也需要相应更改,否则不能正常启动。
或使用命令更改与"管理服务器"相关的口令
db2adminsetidusernamepassword
方法2:
【开始】->【运行】db2cmd->db2adminstart
停止
方法1:
直接在【服务】中停止
方法2:
【开始】->【运行】db2cmd->db2adminstop
数据库实例服务DB2-DB2-0(建库后产生)
启动
方法1:
直接在【服务】中启动
方法2:
【开始】->【运行】db2cmd->db2start
停止
方法1:
直接在【服务】中停止
方法2:
【开始】->【运行】db2cmd->db2stop
4.UNIX环境默认服务
数据库管理服务DB2AS
dasusr1用户登录操作系统
启动管理服务db2adminstart
停止管理服务db2adminstop
数据库实例服务
db2inst1用户登录操作系统
启动实例服务db2start
停止实例服务db2stop
查看db2信息技巧
【开始】->【运行】db2cmd,进入db2环境
db2?
列出db2管理命令
db2?
COMMAND显示命令信息
db2?
SQLnnnn显示这个SQLCODE的解释信息
DB2 SQL error:
SQLCODE:
-302, SQLSTATE:
22001, SQLERRMC:
null
以上是程序中捕获的错误信息,查看解释信息:
db2?
sql302
DB2?
DB2nnnn显示这个DB2错误的解释信息
DB2V8.2信息中心
DB2V9.1信息中心
建立数据库对象过程
1.建库,数据库名称AWPDB,系统表空间为SMS,数据表空间为DMS。
2.建BUFFERPOOL
足够的缓冲池大小是数据库拥有良好性能的关键所在,因为它可以减少磁盘I/O这一最耗时的操作。
大型缓冲池还会对查询优化产生影响,因为更多的工作可在内存中完成。
默认的IBMDEFAULTBP为4K页大小的,还需根据表空间情况建立不同页大小的BUFFERPOOL,页的数量根据内存而定。
如8KBUFFERPOOL使用内存2G:
CREATEBUFFERPOOLBP_8KSIZE262144PAGESIZE8192NOTEXTENDEDSTORAGE;
3.建表空间
表空间
数据库中的所有数据都存储在许多表空间中。
可以认为表空间是孩子而数据库是其父母,其中表空间(孩子)不能有多个数据库(父母)。
由于表空间有不同用途,因此根据它们的用途和管理方式将它们分类。
根据用途有五种不同的表空间:
1.目录表空间
每个数据库只有一个目录表空间,它是在发出CREATEDATABASE命令时创建的。
目录表空间被DB2命名为SYSCATSPACE,它保存了系统目录表。
总是在创建数据库时创建该表空间。
2.常规表空间
常规表空间保存表数据和索引。
它还可以保存诸如大对象(LargeObject,LOB)之类的长数据,除非这些数据显式地存储在长表空间中。
如果某些表空间是数据库管理的空间(DatabaseManagedSpace,DMS),则可以将表及其索引分别放到单独的常规表空间中。
每个数据库中必须至少有一个常规表空间。
创建数据库时指定该表空间的缺省名为USERSPACE1。
3.长表空间
长表空间用于存储长型或LOB表列,它们必须驻留在DMS表空间中。
它们还可以存储结构化类型的列或索引数据。
如果没有定义长表空间,那么将把LOB存储在常规表空间中。
长表空间是可选的,缺省情况下一个都不创建。
4.系统临时表空间
系统临时表空间用于存储SQL操作(比如排序、重组表、创建索引和连接表)期间所需的内部临时数据。
每个数据库必须至少有一个系统临时表空间。
随数据库创建的系统临时表空间的缺省名为TEMPSPACE1。
5.用户临时表空间
用户临时表空间存储已声明的全局临时表。
创建数据库时不存在用户临时表空间。
至少应当创建一个用户临时表空间以允许定义已声明的临时表。
用户临时表空间是可选的,缺省情况下一个都不创建。
表空间管理
可以用两种不同的方式管理表空间:
1.系统管理的空间(SMS)
SMS表空间由操作系统进行管理。
容器被定义成常规操作系统文件,并且是通过操作系统调用访问的。
这意味着所有的常规操作系统功能将处理以下内容:
操作系统将缓冲I/O;根据操作系统约定分配空间;如有必要就自动扩展表空间。
但是,不能从SMS表空间删除容器,并且仅限于将新的容器添加到分区的数据库。
前一节中所说明的那三个缺省表空间都是SMS。
2.数据库管理的空间(DMS)
DMS表空间是由DB2管理的。
可以将容器定义成文件(在创建表空间时将把给定的大小全部分配给它们)或设备。
分配方法和操作系统允许多少I/O,DB2就可以管理多少I/O。
可以通过使用ALTERTABLESPACE命令来扩展容器。
还可以释放未使用的那部分DMS容器(从V8开始)。
页大小根据下表限定了可放到表空间中的表的行长度和列数:
页大小
行大小限制
列数限制
最大容量
4KB
4005
500
64GB
8KB
8101
1012
128GB
16KB
16293
1012
256GB
32KB
32677
1012
512GB
说明:
DB2V9.5及以后没有此限制
建表空间时需要指定BUFFERPOOL,并且不同页大小的表空间需要对应不同的页大小的BUFFERPOOL。
区别:
Oracle建库时页大小如果是8K,那么表空间都是8K。
DB2建库默认方式页大小为4K,可以指定页大小,并且具有指定页大小的BUFFERPOOL。
EXTENTSIZE为32(根据表空间大小调整,25M与250M之间为16,250M与2G之间为32,大于2G为64)
PREFETCHSIZE大小为EXTENTSIZE*容器数量,而windows环境可以同EXTENTSIZE,因磁盘因数。
OVERHEAD根据磁盘情况设定(用控制中心建表空间时可以详细查看)
TRANSFERRATE根据磁盘情况设定(用控制中心建表空间时可以详细查看)
表空间页大小需要根据实际表字段总长度确定,如:
码表为4K或8K的表空间,
客户、账户表为8K的表空间
流水表为16K的表空间。
3.建立用户
需要在操作系统建用户,如AWP,隶属于Users。
使用控制中心新建数据库用户,选择操作系统用户AWP,再选择相应的权限。
GRANTCREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE
ONDATABASETOUSERAWP;
4.建表、索引、视图、函数、存储过程、序列等
使用AWP用户建立数据库对象。
连接远程数据库
命令方式建立连接
1.建立编目节点信息
CATALOGTCPIPNODE编目节点名称
REMOTEIP地址
SERVER端口
REMOTE_INSTANCE远程实例名称
OSTYPE系统类型名称
WITH'编目节点说明';
CATALOGTCPIPNODEsrp88
REMOTE158.222.2.88
SERVER50001
REMOTE_INSTANCEsrp88
OSTYPELINUX
WITH'srp88';
CATALOGDATABASEIST1104
ASIST1104
ATNODEsrp88
AUTHENTICATIONSERVER;
OSTYPE系统类型
NT--Windows
AIX--IBMAIX
HPUX--HPUX
LINUX--LINUX
2.建立编目库连接信息
CATALOGDATABASE数据库名称
AS别名
ATNODE编目节点名称
AUTHENTICATIONSERVER;
3.建立编目到系统ODBC
CATALOGSYSTEMODBCDATASOURCE数据库名称或别名;
4.测试连接
db2connectto数据库名称user用户名称using密码
注意:
如果数据库代码页不同需要修改代码页才可以连通。
如字符集为ISO8859-1的代码页为819,数据库客户端默认安装为1386(Windonws中文系统环境),需要先在db2cmd环境执行:
db2setDB2CODEPAGE=819
再重新连接。
查看代码页:
db2set或db2set-all
图形方式建立连接
进入配置助手图形界面,开始】->【运行】db2ca
配置助手1
配置助手2
配置助手3
配置助手4
配置助手5
配置助手6
配置助手7
点击完成,并测试是否正确连接数据库。
查看数据库信息
telnet登录数据库主机
1.连接数据库(数据库名称awpdb)
db2connecttoawpdbuserawpusingawp
如果本身是awp用户可以不用输入用户名和密码
db2connecttoawpdb
2.查看db2注册表信息
db2set
3.查看db2set帮助
db2set-?
或db2set–h
4.查看数据库管理配置参数
db2getdbmcfg
5.查看数据库配置参数
db2getdbcfgforawpdb
6.查看表空间
db2listtablespaces
db2listtablespacesshowdetail
表空间的状态应为:
State=0x0000
7.查看活动的数据库和连接数
db2listactivedatabases
8.查看当前连接的应用程序的信息
db2listapplication[showdetail]
ApplicationName项可以得知是什么工具连接数据库
ApplicationId第一段为16进制的IP地址,第三段为日期时间
9.查看诊断日志
通过db2getdbmcfg查看DIAGPATH参数值,得知诊断日志路径
vidb2diag.log
10.查看表结构
db2describetablet00_user
selectcolno+1ascolno,colname,typename,length,scale,nulls
fromsyscat.columns
wheretabschema='AWP'andtabname='T00_USER'
orderbycolon
11.查看表索引
db2describeindexesfortableaml.t00_user
selectindname,colnames,uniquerule,colcount,create_time
fromsyscat.indexes
whereindschema='AWP'
andtabschema='AWP'
andtabname='T00_USER'
12.查看视图
selectviewname,seqno,readonly,valid,text
fromsyscat.views
whereviewschema='AML'
注意:
valid字段值,如果为’X’,需要重新绑定(Oracle概念为编译),或重新建立。
13.查看存储过程
SELECT*
FROMSYSCAT.PROCEDURES
whereprocschema='AWP'
14.查看SYSCAT.ROUTINES
DB2UDF,系统方法(system-generatedmethod),用户定义方法(user-definedmethod)和存储过程(SP)的定义。
我们可以认为该视图包含了数据库中程序的定义。
列名
数据类型
描述
ROUTINESCHEMA
VARCHAR(128)
记录程序的schema
ROUTINENAME
VARCHAR(128)
记录程序名称
ROUTINETYPE
CHAR
(1)
记录程序类型:
F=Function
M=Method
P=Procedure
SPECIFICNAME
VARCHAR(128)
程序实例的名称(可以指定,也可以由系统自动生成)
VALID
CHAR
(1)
如果存储过程依赖的一些对象被删除或修改了,该存储过程必须要被重建
Y=SQL存储过程是合法的
N=SQL存储过程是非法的
X=SQL存储过程是不可操作的
TEXT
CLOB(1M)
如果是用SQL编写的程序,该字段记录了其创建的DDL
15.查看SYSCAT.ROUTINEDEP
说明了DB2UDF与其他对象的依赖关系
列名
数据类型
描述
ROUTINESCHEMA
VARCHAR(128)
依赖于其他对象的DB2程序的schema
ROUTINENAME
VARCHAR(128)
依赖于其他对象的DB2程序的名称
BTYPE
CHAR
(1)
依赖对象的类型:
A=Alias
S=Materializedquerytable
T=Table
V=View
BSCHEMA
VARCHAR(128)
被依赖的对象的schema
BNAME
VARCHAR(128)
被依赖的对象的名称
16.SYSCAT.PACKAGEDEP
说明了Pachage与其他数据库对象的依赖关系
列名
数据类型
描述
PKGSCHEMA
VARCHAR(128)
Package的schema
PKGNAME
VARCHAR(18)
Package的名称
BTYPE
CHAR
(1)
依赖对象的类型:
A=Alias
B=Trigger
I=Index
S=Materializedquerytable
T=Table
V=View
BSCHEMA
VARCHAR(128)
被依赖的对象的schema
BNAME
VARCHAR(128)
被依赖的对象的名称
17.SYSCAT.TABDEP
说明了视图或者固化视图和DB2对象之间的依赖关系。
列名
数据类型
描述
TABSCHEMA
VARCHAR(128)
视图或者固化视图的schema
TABNAME
VARCHAR(128)
视图或者固化视图的名称
DTYPE
CHAR
(1)
视图的类型:
S=Materializedquerytable
V=View(untyped)
W=Typedview:
BTYPE
CHAR
(1)
依赖对象的类型:
A=Alias
S=Materializedquerytable
T=Table
V=View
BSCHEMA
VARCHAR(128)
被依赖的对象的schema
BNAME
VARCHAR(128)
被依赖的对象的名称
操作数据库命令及SQL语句
1.连接数据库
db2connecttoawpdb----如果是awp用户登录
db2connecttoawpdbuserawpusingawp
2.断开连接数据库
db2terminate
3.断开某个连接
db2listapplications
查看相应ApplHandle
db2“forceapplication(h1[,h2,..,hn])”
4.断开所有连接
db2forceapplicationall
需要注意:
Unix环境db2connectreset或db2disconnectawpdb也可以断开连接,但不会释放db2bp进程,当你修改了一些参数以后,用terminate的话,下次的CLP命令(比如一个新的connect语句)此参数就会生效;而用connectreset则还不会生效。
5.进入db2clp命令行环境
db2cmd----Windows环境使用
如:
db2-t----已’;’号结束SQL语句
db2=>connecttoawpdb;--连接数据库
db2=>selectt1,t2fromtable_name;
db2=>connectreset;--断开数据库连接但不退出clp
db2=>quit;--退出clp
如果只quit,退出clp但数据库连接不断开
db2=>terminate;--断开数据库连接,并退出clp
6.执行sql文件
db2-tvfrun.sql
7.查看db2clp命令行环境选项
db2?
options
选项描述默认设置
-a显示SQLCAOFF
-c自动提交ON
-e显示SQLCODE/SQLSTATEOFF
-f从输入文件读内容OFF
-l历史文件中的日志记录命令OFF
-n删除换行字符OFF
-o显示输出ON
-p显示db2交互性命令ON
-r将输出报告保存到文件OFF
-s出现命令错误时停止执行OFF
-t设置语句终止符OFF
-v回送当前命令OFF
-w显示FETCH/SELECT警告消息ON
-x省略列标题的打印OFF
-z将所有输出保存到输出文件OFF
如:
关闭自动提交,缺省是自动提交autocommit
db2updatecommandoptionsusingcoff
或
db2+c“updatetable_namesett1=’a’wheret2=’x’”
8.把创建在数据库中已定义的对象生成DDL,包括表空间、配置文件。
db2look-dawpdb-uawp-a-e-l-c-f-oawpdb.ddl
9.复制表结构建立新表
createtabletable_cp1as
(select*fromtable_s1)
definitiononlyints_dat01indexints_ind01
notloggedinitially;
必须指定表空间
10.不做日志清空表
db2altertableXXXactivatenotloggedinitiallywithemptytable
或
Windows环境(0.dat文件大小为零字节)
db2importfrom0.datofdelreplaceintotable_name
UNIX环境
db2importfrom/dev/nullofdelreplaceintotable_name
11.使用基准测试工具(db2batch)来测量执行该查询的实际代价
db2batch-d
插入多条记录
insertintotable_codevalues
('user01','业务申请'),
('user02'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- db2 快速 入门 指南