MDC 设置CURRENTMDC ROLLOUT MODE
2013-03-22 02:17
155 查看
MDC --Multidimensional clustering tables
Databaseadministration >Administrationconcepts >Databaseobjects >Tables>Tablepartitioning and data organization schemes
The default value of this register is determined by theDB2_MDC_ROLLOUT registry variable. The value can be changed byinvoking theSET CURRENT MDCROLLOUT MODE statement. When the CURRENT MDC
ROLLOUTMODE special register is set to a particular value, the executionbehavior of subsequent DELETE statements that qualify for rollout isimpacted. The DELETE statement does not need to be recompiled for thebehavior to change.
NOTE: When a block is emptied, it is disassociated from its current logical cell values by removing its BID from the blockindexes.The block can then be reused by another logical cell. This reduces the need to extend the table with new blocks.
实验
TablespaceID = 4
Name = ITS
Type = Database managed space
Contents = All permanent data. Large table space.
State = 0x0000
Detailedexplanation:
Normal
Totalpages = 12800
Useablepages = 12768
Usedpages = 8480
Freepages =4288
…
Extentsize (pages) =32
创建MDC表:
[db2inst1@oc5603811686misc]$ db2 "create table mdctab(c1 int,c2 int) organize by (c1)in its"
Usedpages = 8672
Freepages =4096
使用了192pages,6个extents.
其中包括一个block map对象,占用了两个extents。
[db2inst1@oc5603811686misc]$ db2 "insert into mdctab values(1,1)"
Usedpages = 8704
Freepages =4064
使用了32pages,一个extents.
[db2inst1@oc5603811686misc]$ db2 "insert into mdctab values(2,2)"
Usedpages = 8736
Freepages =4032
[db2inst1@oc5603811686misc]$ db2 "insert into mdctab values(3,3)"
Usedpages = 8768
Freepages =4000
[db2inst1@oc5603811686misc]$ db2 "insert into mdctab values(1,2)"
Usedpages = 8768
Freepages =4000
每多一个不同的c1值,就多了一个block,分配一个extent。
现在开始释放空间实验
[db2inst1@oc5603811686misc]$ db2 "delete from mdctab"
Usedpages = 8768
Freepages = 4000
表空间Freepages依然是4000,也就是说表中的数据全部删除了但是之前已经占用了的扩展数据块没有释放。
手动释放MDC中的空间
现在使用reorg的reclaimextentsonly选项来世放这些扩展数据库。对整个表进行不带选项的reorg也可以释放空闲空间,但必须是脱机执行,而使用reclaimextents
only选项则可以联机执行。
[db2inst1@oc5603811686misc]$ db2 reorg table mdctab//V10.1可以联机reorg不带选项。
Usedpages = 8704
Freepages = 4064
释放了两个extents。
[db2inst1@oc5603811686misc]$ db2 reorg table mdctab allow write access
SQL0104N An unexpected token "write" was found following "ALLOW". Expected
tokensmay include: "NO". SQLSTATE=42601
[db2inst1@oc5603811686misc]$ db2 reorg table mdctab reclaim extents allow write access
Usedpages = 8704
Freepages = 4064
跟上面一样,已经释放掉了。我们用了3个extents,释放了3个,另外一个扩展数据块是作为保留块,不会被释放。
OK,如果我们不释放掉这些空间,这些空间会被MDC接下来利用分配,就像我们最上面讲的一样。
[db2inst1@oc5603811686misc]$ db2 "insert into mdctab values(1,1)"
Usedpages = 8736
Freepages = 4032
[db2inst1@oc5603811686misc]$ db2 "insert into mdctab values(2,1)"
Usedpages = 8768
Freepages = 4000
[db2inst1@oc5603811686misc]$ db2 "delete from mdctab"
Usedpages = 8768
Freepages = 4000
[db2inst1@oc5603811686misc]$ db2 reorg table mdctab reclaim extents only allow writeaccess
Usedpages = 8736
Freepages = 4032
我们看,又有一个扩展数据保留了。现在表中是空的,Freepages = 4032,查看表刚刚创建时的状态为4096。
重新reorg,[db2inst1@oc5603811686misc]$
db2 reorg table mdctab
Usedpages = 8704
Freepages = 4064
数据块又收回一个,只会保留一个的。
Databaseadministration >Administrationconcepts >Databaseobjects >Tables>Tablepartitioning and data organization schemes
CURRENTMDC ROLLOUT MODE special register
The CURRENT MDC ROLLOUT MODE special register specifies thebehavior on multidimensional clustering (MDC) tables of DELETEstatements that qualify for rollout processing.The default value of this register is determined by theDB2_MDC_ROLLOUT registry variable. The value can be changed byinvoking theSET CURRENT MDCROLLOUT MODE statement. When the CURRENT MDC
ROLLOUTMODE special register is set to a particular value, the executionbehavior of subsequent DELETE statements that qualify for rollout isimpacted. The DELETE statement does not need to be recompiled for thebehavior to change.
>>-SET--CURRENT--MDC ROLLOUT MODE--+-NONE----------+----------->< +-IMMEDIATE-----+ +-DEFERRED------+ '-host-variable-'
Description
NONESpecifies that MDC rollout optimization during delete operations is not to be used. The DELETE statement is processed in the same way as a DELETE statement that does not qualify for rollout.IMMEDIATE Specifies that MDC rollout optimization is to be used if the DELETE statement qualifies. If the table has RID indexes, the indexes are updated immediately during delete processing.The delete dblocks are available for reuse after the transaction commits.DEFERRED Specifies that MDC rollout optimization is to be used if the DELETE statement qualifies. If thetable has RID indexes, index updates are deferred until after the transactions commits.With this option, delete processing is faster and uses less log space, but the deleted blocks are not available for reuse until after the index updates are complete.host-variable A variable of type VARCHAR. The length of host-varNOTE: When a block is emptied, it is disassociated from its current logical cell values by removing its BID from the blockindexes.The block can then be reused by another logical cell. This reduces the need to extend the table with new blocks.
实验
TablespaceID = 4
Name = ITS
Type = Database managed space
Contents = All permanent data. Large table space.
State = 0x0000
Detailedexplanation:
Normal
Totalpages = 12800
Useablepages = 12768
Usedpages = 8480
Freepages =4288
…
Extentsize (pages) =32
创建MDC表:
[db2inst1@oc5603811686misc]$ db2 "create table mdctab(c1 int,c2 int) organize by (c1)in its"
Usedpages = 8672
Freepages =4096
使用了192pages,6个extents.
其中包括一个block map对象,占用了两个extents。
[db2inst1@oc5603811686misc]$ db2 "insert into mdctab values(1,1)"
Usedpages = 8704
Freepages =4064
使用了32pages,一个extents.
[db2inst1@oc5603811686misc]$ db2 "insert into mdctab values(2,2)"
Usedpages = 8736
Freepages =4032
[db2inst1@oc5603811686misc]$ db2 "insert into mdctab values(3,3)"
Usedpages = 8768
Freepages =4000
[db2inst1@oc5603811686misc]$ db2 "insert into mdctab values(1,2)"
Usedpages = 8768
Freepages =4000
每多一个不同的c1值,就多了一个block,分配一个extent。
现在开始释放空间实验
[db2inst1@oc5603811686misc]$ db2 "delete from mdctab"
Usedpages = 8768
Freepages = 4000
表空间Freepages依然是4000,也就是说表中的数据全部删除了但是之前已经占用了的扩展数据块没有释放。
手动释放MDC中的空间
现在使用reorg的reclaimextentsonly选项来世放这些扩展数据库。对整个表进行不带选项的reorg也可以释放空闲空间,但必须是脱机执行,而使用reclaimextents
only选项则可以联机执行。
[db2inst1@oc5603811686misc]$ db2 reorg table mdctab//V10.1可以联机reorg不带选项。
Usedpages = 8704
Freepages = 4064
释放了两个extents。
[db2inst1@oc5603811686misc]$ db2 reorg table mdctab allow write access
SQL0104N An unexpected token "write" was found following "ALLOW". Expected
tokensmay include: "NO". SQLSTATE=42601
[db2inst1@oc5603811686misc]$ db2 reorg table mdctab reclaim extents allow write access
Usedpages = 8704
Freepages = 4064
跟上面一样,已经释放掉了。我们用了3个extents,释放了3个,另外一个扩展数据块是作为保留块,不会被释放。
OK,如果我们不释放掉这些空间,这些空间会被MDC接下来利用分配,就像我们最上面讲的一样。
[db2inst1@oc5603811686misc]$ db2 "insert into mdctab values(1,1)"
Usedpages = 8736
Freepages = 4032
[db2inst1@oc5603811686misc]$ db2 "insert into mdctab values(2,1)"
Usedpages = 8768
Freepages = 4000
[db2inst1@oc5603811686misc]$ db2 "delete from mdctab"
Usedpages = 8768
Freepages = 4000
[db2inst1@oc5603811686misc]$ db2 reorg table mdctab reclaim extents only allow writeaccess
Usedpages = 8736
Freepages = 4032
我们看,又有一个扩展数据保留了。现在表中是空的,Freepages = 4032,查看表刚刚创建时的状态为4096。
重新reorg,[db2inst1@oc5603811686misc]$
db2 reorg table mdctab
Usedpages = 8704
Freepages = 4064
数据块又收回一个,只会保留一个的。
相关文章推荐
- MDC 设置CURRENTMDC ROLLOUT MODE
- AS3:辨析ROLL_OVER与MOUSE_OVER,ROLL_OUT与MOUSE_OUT
- [Android]如何在编译阶段设置文件夹文件的权限属性(mode ,group, owner)
- 3. 设置 sql_mode
- linux下JVM参数-XX:+HeapDumpOnOutOfMemoryError 设置
- windows phone导航到WIFI BlueTool Cellular AirplaneMode设置界面
- MySQL timespan设置 sql_mode设置
- MySQL数据类型:SQL_MODE设置不容忽视
- ThinkPHP的sql_mode的默认设置,导致无效信息被插入
- mysql 5.7 sql_mode设置 坑
- Android 给Animation设置setRepeatMode不起作用
- Current thread must be set to single thread apartment (STA) mode before OLE,当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”。
- 通过代码理解Asp.net4中的几种ClientIDMode设置.
- Android设置logcat的System.out过滤不起作用的解决
- WebPartManager.EditDisplayMode此页不支持指定的显示模式。请确保已启用个性化设置并且此页上存在相应的区域。
- MySQL 设置 sql_mode 报错, 需要增加 [mysqld]标记
- Tomcat设置Session time out的时间
- [zz] 浅析dev目录下设备文件mknod节点gid,uid和mode的如何方便设置
- linux文件/目录权限设置命令:chmod [who] [opt] [mode] 文件/目录名
- AS3:辨析ROLL_OVER与MOUSE_OVER,ROLL_OUT与MOUSE_OUT