DB2 UDB V8.1 管理 学习笔记
DB2 学习笔记 - AIview.com
Last updated on Wednesday, August 24, 2005 Skip to navigation
You are here: Home » Study Notes » Individual | August 2004
DB2 UDB V8.1 管理 学习笔记(一)
摘要: 工作学习之余对DB2使用知识的一点零散记录,包括DB2的基础知识、数据库管理、性能调优以及开发等方面,内容非常零散,而且有时不免理解有误,可能并未回头改掉,望见谅,仅供参考。
版权声明: 本文可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。
原文出处: http://www.aiview.com/
作者: 张洋 Alex_does@hotmail.com
写于: 2004-08-05 最后更新: 2005-08-23
目录 |
|
正文
工作学习之余对DB2使用知识的一点零散记录,包括DB2的基础知识、数据库管理、性能调优以及开发等方面,内容非常零散,而且有时不免理解有误,可能并未回头改掉,望见谅,仅供参考。
DB2 基本概念
在DB2中由上至下的几个概念:
在一个操作系统中,DB2数据服务可以同时运行多个实例(有别于Oracle在一个系统内只能起一个实例).
数据库定义在实例中,一个实例可以包含多个数据库。在同一个实例中的不同数据库是完全独立的,分别拥有自己独立的系统编目表。
表空间有2种管理方式:
DMS与SMS方式在表空间建立时指定,建好后不能转换。对于DMS方式,一个表空间对应了一个或多个容器(Container),容器指定了数据的物理存储位置。对于SMS方式,只能够指定一个目录,不能够增加。
表空间具有以下类型:
一个数据库中必须存在两个系统基本的表空间,分别是系统编目表空间与系统临时表空间。在数据库中创建的任何对象都以在系统编目表空间中增加记录的方式体现,对于临时表空间,其占用磁盘大小是根据使用情况动态伸缩的,即仅在需要时才分配磁盘空间,并在使用后进行回收。此外,若用户需要创建表,则需要创建用户表空间,若需要使用临时表,则需要创建用户临时表空间。
容器分为三种类型:
文件与设备,用于DMS方式的表空间;
目录,用于SMS方式的表空间,此种方式不需要人工管理数据存储文件,DB2可根据情况在目录中自动增加存储文件,只要磁盘空间允许。
实质上,表空间是数据存储的逻辑位置定义,容器则是数据存储的物理位置定义。
数据库的性能
影响一个数据库的性能主要有以下因素:
其中以磁盘最为显著,90%的性能瓶颈可能来自于磁盘的IO竞争;
其次是内存,一方面是指物理内存的总量要满足需求,另一方面是指与内存相关的配置参数应正确配置;
当然处理器的性能也很重要,多路CPU会对哪些依赖计算能力的复杂SQL查询起到显著的效果;
网络不属于主要因素,属于客观的环境因素,是指过慢的网速会对数据的传输造成影响。以下列出一些对于提高数据库性能有效的方法:
与性能相关的主要参数
DB2的参数配置分为两个级别,一个是实例级别,另一个是数据库级别。对数据服务性能影响较大的参数主要在数据库级别配置。以下是三个比较重要的内存配置参数:
bufferpagelocklistsortheap
其他的一些配置参数:
numdb: 同时可以启动的实例数目
DB2的常用命令
db2ilist 列出当前系统中定义的DB2实例daslist 列出系统中的DASdb2 list database directory 列出当前实例中定义的数据库db2 list tablespaces 列出当前数据库中定义的表空间db2 list tabses [for all] 列出当前数据库中的表db2 list active db 列出活动的数据库
db2 get dbm configget db cfg for databasenamedb2 update db cfg for databasename using bufferpage 600Mdb2 alter bufferpool IABMDEFAULTBP size =1db2 list applications show detail
以上命令可以在后面加 " show detail" 参数,显示详细信息。
DB2数据存储的页大小只能在表空间级别统一指定(区别于Oracle,可以定义在表级别), 并且建好后不能修改。
可以手工建立一个页大小为4K的DMS用户临时表空间,然后把系统默认的SMS系统临时表空间删除。为满足应用需求,一般还应再建立一个页大小在8K以上的用户临时表空间。
DB2 UDB V8.1 对RedHat Linux 9 的支持不好,默认情况下无法启动GUI安装程序(可以通过设置环境LD_ASSUME_KERNEL=2.2.5解决),并且不会安装Sample数据库,控制中心也无法正常启动。
DB2 SQL 相关
当使用COUNT()函数时,如果表中的记录数 > 2 147 483 647行,则函数可能返回错误的结果,这时可以使用返回类型为DECIMAL(31, 0)的COUNT_BIG()函数。
DISTINCT 关键字可以用在COUNT()函数中,如:
SELECT COUNT(DISTINCT id) FROM TABLE
这代表将不对id列的重复值进行计数。
ORDER BY子句后面如果写了多个列名,需要分别指定升序或是降序。
可以在load大量数据时,暂时关闭表的日志选项。使用:
ALTER TABLE ... ACTIVATE NOT LOGGED INITIALLY
DB2的几个特殊寄存器:
CURRENT DATECURRENT TIMECURRENT TIMESTAMPUSER(用户ID)
有关日期的操作:
CURRENT TIMESTAMP + 2 DAYS(or HOURS, SECONDS, MONTHS, YEARS, etc.)
case 语句的使用:
case when 条件一 then 动作一 else 动作二 end;
以上可以欠套使用。
在视图的创建语句中无法使用order by 子句与 fetch n rows 子句。但对于order by可以用如下方法替代实现,不过会影响效率。
create view v_name1(c1, c2, c3) asselect * from (select column1, column2, column3from t1order by column1 ) as t1;
参考资源
http://www-128.ibm.com/developerworks/cn/db2/
http://publib.boulder.ibm.com/infocenter/db2help/index.jsp
http://dbforums.com/
《DB2 UDB v8.1 for Linux, UNIX, Windows 数据库管理》George Baklarz, Bill Wong 合著,机械工业出版社出版
《DB2数据库管理与应用教程》庄济诚 著,清华大学出版社出版
相关文章 [04-12-21] [04-08-05] [04-08-05] [04-08-05] [04-07-14]
« | | »
Comments
Post a comment
Name:
Email Address:
URL:
Remember Me? YesNo
Comments:
DB2 UDB V8.1 管理 学习笔记(二)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7104/viewspace-133898/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7104/viewspace-133898/
DB2 UDB V8.1 管理 学习笔记相关推荐
- 调优 DB2 UDB v8.1 及其数据库的最佳实践-IBM developerWorks
http://www-128.ibm.com/developerworks/cn/db2/library/techarticles/dm-0404mcarthur/#sqltuning 级别: 初级 ...
- [NOTE] WebGoat v8.2.2学习笔记
[NOTE] WebGoat v8.2.2学习笔记 文章目录 [NOTE] WebGoat v8.2.2学习笔记 前言 CIA 常见编码形式 OpenSSL使用 docker安全 SQL安全 SQLi ...
- Windows内存管理学习笔记(三)—— 无处不在的缺页异常
Windows内存管理学习笔记(三)-- 无处不在的缺页异常 缺页异常 实验一:设置虚拟内存 无处不在的缺页 位于页面文件 保留与提交的误区 实验二:理解缺页异常 EXECUTE_WRITECOPY ...
- Windows内存管理学习笔记(二)—— 物理内存的管理
Windows内存管理学习笔记(二)-- 物理内存的管理 物理内存 实验一:理解MmNumberOfPhysicalPages MmPfnDatabase _MMPFN 物理页状态 六个链表 实验二: ...
- Windows内存管理学习笔记(一)—— 线性地址的管理
Windows内存管理学习笔记(一)-- 线性地址的管理 用户空间线性地址的管理 实验一:理解用户空间线性地址管理 Private Memory 实验二:理解Private Memory 堆 实验三: ...
- sqlserver 2012实施与管理学习笔记(一):选型和部署之单机部署、故障转移群集与日志传送
sqlserver 2012实施与管理学习笔记(一):选型和部署之单机部署.故障转移群集与日志传送 数据库的选型和部署 sqlserver的安装和升级 选择高可用性和灾难恢复技术 故障转移群集 日志传 ...
- 郝健: Linux内存管理学习笔记-第5节课
前序文章: 郝健: Linux内存管理学习笔记-第1节课 郝健: Linux内存管理学习笔记-第2节课 郝健: Linux内存管理学习笔记-第3节课 郝健: Linux内存管理学习笔记-第4节课 摘要 ...
- 郝健: Linux内存管理学习笔记-第6节课
前序文章: 郝健: Linux内存管理学习笔记-第1节课 郝健: Linux内存管理学习笔记-第2节课 郝健: Linux内存管理学习笔记-第3节课 郝健: Linux内存管理学习笔记-第4节课 郝健 ...
- 郝健: Linux内存管理学习笔记-第4节课
前序文章: 郝健: Linux内存管理学习笔记-第1节课 郝健: Linux内存管理学习笔记-第2节课 郝健: Linux内存管理学习笔记-第3节课 摘要 page cache free命令的详细解释 ...
最新文章
- 解决overfitting的方法
- 无线AP与无线交换机的区别
- 压缩与反压缩之 COMPRESS 与 EXPAND
- html 屏蔽蓝色电话,html – 在Chrome扩展程序中停用文字字段蓝色突出显示?
- VirtualBox使用技巧:关于undo差分盘与端口映射
- rbac 权限分配, 基于formset实现,批量增加
- strutr2运行流程
- java的map集合_Java集合之Map
- 项目部署到服务器后字符编码,将UTF-8编码的数据发布到服务器会丢失某些字符...
- SQLite 时间格式化
- java反射机制面试_java面试中面试官让你讲讲反射,应该从何讲起?
- 百度文库f12免费复制文章
- 内存屏障 Memery Barrier
- android device ID获取
- btrfs + snapper快照使用
- jmeter结果树为空_Jmeter查看结果树之查看响应的13种方法[详解]
- android客户端功能,推荐一个功能齐全的【玩Android客户端】
- D-HARRY2020春夏新品
- 正大国际期货:若想期货交易持续盈利务必牢记333仓位控制法
- 为什么特斯拉Q2业绩能超预期?