设为首页 加入收藏

TOP

DB2表空间管理详解(四)
2014-11-23 18:59:09 来源: 作者: 【 】 浏览:95
Tags:DB2 空间 管理 详解
件和子目录。
container-string的格式依赖于操作系统。windows下,绝对路径以盘符和:开始;Unix中,绝对路径以/开始。相对路径形式一样。
也可以支持远程资源,如LAN-redirected drives或NFS-mounted文件系统。
| on-db-partitions-clause | 指定容器在一个分区数据库中。如果没有指定,在分区组中找一个分区创建。如果是系统临时表,则在每个分区中创建。
7.MANAGED BY DATABASE
指定表空间是DMS,数据库管理表空间。当type没有指定,默认是large。
| database-containers | 语法块,为DBS表空间指定容器。
USING |container-clause|
(FILE|DEVICE ‘container-string’ number-of-pages,…)
对于DMS表空间,指定一个或多个container存储数据。容器类型(FILE或DEVICE)和大小(没有单位,默认是page的数量)需要指定。大小也可以指定单位,K,M,G,如果指定单位,用字节数除pagesize然后下取整,来决定page个数。container-stiring不能超过254个字节。
对于FILE的容器,必须是绝对或相对路径。如果目录中没有任何组件,它会被数据库管理器创建。如果文件不存在,它会被创建和初始化到指定大小。当表空间被删除,所有组件也被删除。如果文件存在,会被覆盖,如果文件小于指定大小,会被扩展,如果大于指定大小,并不会被截断。
对于DEVICE容器,container-string必须是设备名,设备必须已存在。
所有容器必须在所有数据库中是唯一的。一个容器只能属于一个表空间。一个表空间中不同容器的大小可以不同;但是,一个表空间中的容器大小一样,可以获得更好的性能。container-string的精确的形式和操作系统有关。
远程资源也是支持的,同SMS。
|on-db-partitions-clause|,同SMS。
8.EXTENTSIZE number-of-pages
指定一个EXTENTSIZE,在跳转到下一个容器前,需要在当前容器中的写入的页数。
也可以指定单位,K,M,最后的extent size为字节数除pagesize下取整。数据库管理器会根据extent size,循环使用容器存储数据。 根据DB2对容器进行循环写入的原则,如果您选择实现磁盘条带分割以及DB2条带分割,那么表空间的扩展数据块大小和磁盘的分割大小应该相同,这样会使性能更加优化。
EXTENTSIZE的默认值在db cfg中可以找到,DFT_EXTENT_SZ,创建DB时候设置的,这个值有效值是2-256。
9.PREFETCHSIZE
在查询之前,取出查询所需要的数据,这样不需要等待I/O。
默认值由db cfg中的dft_prefetch_sz决定。
默认为AUTOMATIC指定prefetch size为自动更新,由数据库管理器控制。当容器增加等,会自动调整。
number-of-pages指定prefetch的页数,也可以用单位,也是通过字节自动计算页数。
10.BUFFERPOOL bufferpool-name
指定这个表空间使用的缓冲池,这个缓冲池必须已存在。如果没有指定,默认的缓冲池(IBMDEFAULTBP)将被使用。缓冲池的的页大小必须和表空间的页大小一样。
11.OVERHEAD number-of-milliseconds
指定I/O控制器开销和磁盘寻道和延迟时间。这个值用于在查询优化时决定I/O开销,可以是任何数字,包括浮点。如果表空的容器OVERHEAD值不同,则取平均值。db2 v9以上,这个值默认是7.5,从v9之前升级过来的,默认是12.67.
12.FILE SYSTEM CACHING or NO FILE SYSTEM CACHING
指定I/O操作是否在操作系统级别进行缓存。如果不指定这个参数,默认值如下:
在JFS on AIX, Linux System z , all non-VxFS file systems on Solaris, HP-UX,SMS临时表空间,所有LOB和large data,都默认使用FILE SYSTEM CACHING。在所有其他平台和文件系统中,默认使用NO FILE SYSTEM
FILE SYSTEM CACHING在目标表空间上的I/O操作,会在操作系统级别上进行缓存。
NO FILE SYSTEM CACHING指定I/O操作绕过操作系统级别缓存。
13.TRANSFERRATE number-of-milliseconds
指定读一个page到内存的时间。这个值用来决定在查询优化时,I/O的成本。可以是浮点数,如果每个容器的值不同,取平均。V9以前版本,创建的DB,默认值是0.06毫秒,从V9以前版本升级到V9之后,默认值是0.18毫秒。
14.DROPPED TABLE RECOVERY
指明被删除的表是否可以被恢复,通过使用”ROLLFORWARD DATABASE …RECOVER DROPPED TABLE”。
ON,指定被删除的表,可以恢复。这是V8之后是默认值。
OFF,被删除的表不能恢复。V7的默认值。

表空间日常管理命令
本例创建的表空间pagesize大部分为32kb,故
1、创建pagesize为32kb的bufferpool
create bufferpool bp32k size 2000 pagesize 32k
2、查看bufferpool属性
select * from syscat.bufferpools
3、更改缓冲池大小
alter bufferpool bp32k size 2000


4、创建数据页为32kb数据块为1024kb预取值为默认,且不使用文件系统缓存的大型DMS表空间


create large tablespace tbs_data pagesize 32k managed by database using (file '/database/tbs_data/cont0' 100M,file '/database/tbs_data/cont1' 100M) extentsize 32 prefetchsize automatic bufferpool bp32k no file system caching


5、创建 数据页为32kb的SMS系统临时表空间
create temporary tablespace tbs_temp pagesize 32k managed by system using ('/database/tbs_temp') bufferpool bp32k



6、创建 数据页为32kb的SMS用户临时表空间

create user temporary tablespace tbs_user_temp pagesize 32k managed by system using('/database/tbs_usertemp') bufferpool bp32k
7、创建 数据页为32kb的自动存储管理表空间
create tablespace tbs_index pagesize 32k bufferpool bp32k

8、创建初始大小为100MB,增量为1
首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇DB2函数大全 下一篇DB2第一步 ― 创建表

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: