网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > DB2教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.DB2高可用性灾难恢复(HADR)的限.
.使用DB2look重新创建优化器访问计.
.使用DB2look重新创建优化器访问计.
.关于DB2 9数据库优点及缺点详细分.
.带你深入了解IBM DB2数据库的备份.
.AIX环境下DB2许可证问题的解决方.
.提高数据库性能 让无关处理放到外.
.相同平台下DB2数据库使用重定向恢.
.讲解IBM DB2数据库的三十一个使用.
.为 Linux 或 UNIX 版本 SAP 安装.
.DB2的表数据加密.
.DB2数据库命令行处理器中的语句执.
.DB2 Performance Expert 简化性能.
.Window下修改DB2密码后不能启动的.
.在DB2数据库中很难理解的catalog.
.DB2 LOAD命令所提供的选项及注册.
.DB2数据库中提高INSERT性能详解(.
.学习DB2数据库必须掌握的五十四条.
.DB2 UDB V8.1安装和卸载的shell示.
.讲解捕获IBM DB2 SQL的执行快照的.

抛砖引玉,实例讲解DB2中的表空间(1)

发表日期:2008-2-9


  表空间是数据库及存储在该数据库中的表之间的逻辑层。表空间在数据库中创建,表在表空间中创建。  使用表空间的一个明显的好处是能够把数据合理的分布存储在不同的磁盘上或者存储在磁盘的不同位置上,有助于提高数据存取的效率。  DB2 的表空间按治理方式分为两种:系统治理空间(System Management Space,SMS)和数据库治理空间(Database Management Space,DMS)。  按类型分为:规则表空间、大对象表空间、系统临时表空间、用户临时表空间。  规则表空间中包含用户数据的表。默认用户表空间名为USERSPACE1,索引也存储在规则表空间中,另外系统目录表也放在规则表空间中。默认的系统目录表空间名为SYSCATSPACE。  临时表空间分为系统临时表空间和用户临时表空间。  系统临时表空间用来存储各种数据操作(排序、重组表、创建索引、连接表)中所需的内部临时数据,虽然可以创建任意多个系统临时表空间,但建议用户只使用大多数表所使用的页大小创建一个,默认系统临时表空间名为TEMPSPACE1。  用户临时表空间用来存储已说明全局临时表(已说明全局临时表存储的是应用程序临时数据)。用户临时表空间不是在数据库创建时默认创建的。  SMS每个容器是操作系统的文件空间中的一个目录;DMS每个容器是一个固定的、预分配的文件,或是物理设备。  SMS的治理比较简单,由操作系统自动治理,空间的大小随数据量的变化系统自动调整。  DMS是由数据库治理的,空间大小在创建时确定,空间不够时要手工添加或删除部分数据以释放空间。  大多数情况下,DMS的性能比SMS好。  用命令行方式创建SMS表空间的简单语法:  CREATE TABLESPACE ; MANAGED BY SYSTEM USING (';') 123下一页   例一:在Windows上创建一个SMS表空间:  CREATE TABLESPACE RESOURCE MANAGED BY SYSTEM USING ('d:acc_tbsp','e:acc_tbsp','f:acc_tbsp')  完成的结果为在D、E、F三个磁盘上创建了三个名称为acc_tbsp的文件夹,每个文件夹下面都有一个名为SQLTAG.NAM的文件。  例二:删除例一所创建的SMS表空间:  DROP TABLESPACE RESOURCE  运行完这条命令,相应的表空间会从DB2注册表中删除,但是磁盘上的三个文件夹仍然存在,需要手工删除。  用命令行方式创建DMS表空间的简单语法:  CREATE TABLESPACE ; MANAGED BY DATABASE USING (FILE ';'  或者  CREATE TABLESPACE ; MANAGED BY DATABASE USING (DEVICE ';'  例三:在Windows上创建一个DMS表空间,使用各自有5000页的两个文件容器:  CREATE TABLESPACE RESOURCE MANAGED BY DATABASE USING (FILE 'd:db2dataacc_tbsp' 5000, FILE 'e:db2dataacc_tbsp' 5000)  运行结果为:在D、E磁盘的db2data文件夹下面各创建了一个名为acc_tbsp的文件,大小都为20000K(默认情况下每页大小为4K)。  例四:在例三所创建的表空间中添加一个容器:  ALTER TABLESPACE RESOURCE ADD(FILE 'f:db2dataacc_tbsp' 5000)  运行的结果为在RESOURCE表空间中包含了三个容器(文件):d:db2dataacc_tbsp、 e:db2dataacc_tbsp、 f:db2dataacc_tbsp。  例五:用RESIZE子句更改例三所创建的表空间的容器的大小:  ALTER TABLESPACE RESOURCE RESIZE (file 'd:db2dataacc_tbsp' 8000, file 'e:db2dataacc_tbsp' 8000, file 'f:db2dataacc_tbsp' 8000) 上一页123下一页   每个容器(文件)的大小变为8000页。把容器的容量变大不会出错,但是假如容器中的数据已经布满,再把容器的容量缩小,则会引起错误。  例六:用EXTEND子句更改例三所创建的表空间的容器的大小:  ALTER TABLESPACE RESOURCE EXTEND (file 'd:db2dataacc_tbsp' 1000, file 'e:db2dataacc_tbsp' 1000, file 'f:db2dataacc_tbsp' 1000)  该命令的运行结果为在原有容量的基础之上,每个容器再增加1000页。  例七:删除例三中创建的DMS表空间:  DROP TABLESPACE RESOURCE  运行的结果为在DB2的注册表中把RESOURCE表空间删除,同时在磁盘上把相对应的文件夹和文件都一起自动删除。  例八:在UNIX上创建一个DMS表空间,使用各有10000页的3个逻辑卷:  CREATE TABLESPACE RESOURCE MANAGED BY DATABASE USING (DEVICE '/dev/rdblv6' 10000, DEVICE '/dev/rdblv7' 10000, DEVICE '/dev/rdblv8' 10000)  上面语句中提到的UNIX设备必须已经存在,且实例拥有者和SYSADM组必须能够写入它们。  SMS与DMS的对比特性                    SMS     DMS
能够在表空间中动态增加容器的数目吗      N      Y
能够把索引数据存放到不同表空间的表中吗    N      Y
能够把大对象数据存放到不同表空间的表中吗   N      Y
表可以分散存放到多个表空间中吗        N      Y
仅在需要时才分配空间吗            Y      N
表空间可以被放在不同的磁盘中吗        Y      N
创建之后,区段大小能够改变吗         N      N
  例九:创建系统临时表空间:  CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbsp MANAGED BY SYSTEM USING(‘d:  mp_tbsp’,’e:  mp_tbsp’)  系统临时表只能存储在系统临时表空间中,所以数据库必须始终至少有一个系统临时表空间。  例十:创建用户临时表空间:  CREATE USER TEMPORARY TABLESPACE usr_tbsp MANAGED BY DATABASE USING(FILE ‘d:db2datauser_tbsp’ 5000, FILE ‘e:db2datauser_tbsp’ 5000)  用户临时表空间用于存储已说明的临时表(用 DECLARE GLOBAL TEMPORARY TABLE 语句定义)  例十一:用RENAME语句给表空间重命名:  RENAME TABLESPACE RESOURCE TO RES1  用该语句给表空间重命名之后,将自动更改所有引用该表空间的目录记录,所以无须关心该表空间中的个别对象。  例十二:在RESOURCE表空间中创建一张名为T1的表:  CREATE TABLE T1(ABC INT) IN RESOURCE 上一页123
上一篇:使用DB2配置向导配置参数 人气:1231
下一篇:了解有关DB2数据库优化的几条策略 人气:866
浏览全部DB2教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐