`
qtlkw
  • 浏览: 307225 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

DB2 large tablespace and data row compression

    博客分类:
  • DB2
阅读更多
查看: http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0707schurr/
利用大型表空间和db2 version9.7 data row compression,每页可以存储更多的行,节省了磁盘空间。

DB2 中的行压缩特性可用于在表一级节省存储空间。其优点是节省容器空间,缩小备份镜像(从而减少备份时间),以及减少缓冲池中的页活动。可以为单个表激活行压缩。 进行行压缩时,会创建一个包含可重用模式的字典。对于这些模式,会存储一个指针。通过使用 DB2 INSPECT 命令可以估计每个表的压缩率。

1. 创建大型表空间
CREATE LARGE TABLESPACE LARGEGEHGAL32 PAGESIZE 32 K MANAGED BY DATABASE USING ( FILE 'C:\DB2\NODE0000\SQL00001\largegehgal32' 20000 ) BUFFERPOOL IBMDEFAULT32K


2. 创建表并在大型表空间中
CREATE TABLE TEST_EXCEPTION_MESSAGE like EXCEPTION_MESSAGE in LARGEGEHGAL32


3. 打开Command Line Processor(命令行处理器),把EXCEPTION_MESSAGE表中的数据insert into TEST_EXCEPTION_MESSAGE
DECLARE c1 CURSOR FOR SELECT * FROM EXCEPTION_MESSAGE
LOAD FROM c1 OF CURSOR INSERT INTO TEST_EXCEPTION_MESSAGE


4. 开启表的压缩功能
ALTER TABLE TEST_EXCEPTION_MESSAGE COMPRESS YES


5. 扫描表并创建对应的压缩字典,并执行实际的表重组,从而压缩数据(每个表都有自己的压缩字典,新插入的数据也会继续被压缩):
REORG TABLE TEST_EXCEPTION_MESSAGE resetdictionary


6. 在压缩后,我们通常想知道表压缩后能节省多少空间,可以利用RUNSTATS命令来实现:
RUNSTATS ON TABLE GEH_ADMIN.TEST_EXCEPTION_MESSAGE
SELECT NAME, COMPRESSION, AVGROWSIZE, PCTPAGESSAVED, PCTROWSCOMPRESSED, AVGROWCOMPRESSIONRATIO, AVGCOMPRESSEDROWSIZE FROM SYSIBM.SYSTABLES WHERE NAME = 'TEST_EXCEPTION_MESSAGE'


7. 压缩表后,查看使用的页数
SELECT SUBSTR(a.tabname,1,10) AS table, PAGESIZE, b.CARD, b.npages , CASE WHEN (b.NPAGES  > 0) THEN (b.CARD / b.NPAGES) ELSE -1 END AS ROWS_PER_PAGE, SUM(AVGCOLLEN) AVG_ROW_SIZE FROM SYSCAT.COLUMNS a, SYSCAT.TABLES b, SYSCAT.TABLESPACES c
 WHERE a.tabschema = b.tabschema AND a.tabname = b.tabname AND b.tbspaceid = c.tbspaceid AND a.tabname = 'TEST_EXCEPTION_MESSAGE' GROUP BY a.tabschema, a.tabname, pagesize, card, npages
分享到:
评论

相关推荐

    rlv方式增加oracle tablespace datafile

    rlv方式增加oracle tablespace datafile

    DB2重定向恢复.doc

    db2 => SET TABLESPACE CONTAINERS FOR 0 USING (PATH "E:DB2\NODE0000\NB_DATA\0000000") db2 => SET TABLESPACE CONTAINERS FOR 1 USING (PATH "E:DB2\NODE0000\NB_DATA\0000001") db2 => SET TABLESPACE ...

    使用db2 utility CHECK DATA 中的问题

    首先,`CHECK DATA` 实用程序在特定条件下会将表空间(tablespace)或索引置为 REORG-pending 状态。例如,当创建或修改分区表空间、创建或修改分区索引、插入新数据,或者创建二级索引时,都会触发这个状态。在这种...

    DB2数据库创建命令说明

    db2 create large tablespace "DMSsfoaIDX" in database partition group IBMDEFAULTGROUP page size 8192 managed by database using (file '/opt/ibm/db2/db2data/sfoa/dmssfoa8kidx' 50000) extent size 32 ...

    db2表空间不足及处理

    "DB2表空间不足及处理" DB2表空间不足是指数据库中可用空间不足,以致影响数据库的正常运行。在本文中,我们将介绍如何检查DB2表空间是否不足,以及如何处理这种情况。 什么是DB2表空间? 在DB2中,表空间是指...

    DB2基础知识新

    db2 "CREATE LARGE TABLESPACE <表空间名> PAGESIZE <页面大小> MANAGED BY DATABASE USING (FILE '<文件路径>' <初始大小>) BUFFERPOOL IBMDEFAULTBP" ``` 例如,创建名为`TBS_PAS`的表空间: ```sql db2 "CREATE...

    db2 reference

    3. **表空间管理**:`db2 create tablespace`创建表空间,用于存储数据库对象,`db2 alter tablespace`和`db2 drop tablespace`分别用于修改和删除表空间。 4. **用户和权限**:`db2 create user`创建数据库用户,`...

    CREATE TABLESPACE命令详解

    [DATAFILE datafile_spec1 [, datafile_spec2] [{MINIMUM EXTENT integer [k|m] | BLOCKSIZE integer [k] | logging_clause | FORCE LOGGING | DEFAULT {data_segment_compression} storage_clause | [online | ...

    DB2数据库 V9.7安装手册

    3. 创建库:使用以下命令创建库:`db2 create tablespace` Windows 安装步骤 4.1 解压数据库安装包 在 Windows 操作系统上安装 DB2 数据库 V9.7 需要按照以下步骤进行: 1. 解压数据库安装包:将 DB2 数据库安装...

    db2v9安装配置说明

    若计划使用裸设备存储表空间数据,需先创建裸设备并调整其属主与组权限,如`/dev/rdb2_data01`等,然后通过`chown`命令将其归属至`db2inst1:db2iadm1`。 #### 数据库创建与表空间配置 最后,创建名为`TESTDB`的...

    常用OracleSQL

    drop user oldoa cascade create tablespace tbsoa DATAFILE 'F:\app\Administrator\oradata\orcl\tbsoa.dbf' size 1024m autoextend on next 30m;...成为 drop tablespace mytbs01 including contents and datafiles;

    DB2表空间管理

    这将在`d:\db2data`和`e:\db2data`目录下分别创建名为`acc_tbsp`的文件,初始大小各为5000页。 **修改DMS表空间命令示例**: - **扩展DMS表空间**: ```sql ALTER TABLESPACE EXTEND (FILE '<path>' '<new size>')...

    java版本db2数据库的备份还原

    - 创建表空间:`db2 create large tablespace ts32 pagesize 32k managed by automatic storage bufferpool bp32` 和 `db2 create large tablespace ts8 pagesize 8k managed by automatic storage bufferpool bp8`...

    重定向操作db2数据库

    db2 SET TABLESPACE CONTAINERS FOR 0 USING (path 'D:\DB2\NODE0000\FLM\T0000000') db2 SET TABLESPACE CONTAINERS FOR 1 USING (path 'D:\DB2\NODE0000\FLM\T0000001') db2 SET TABLESPACE CONTAINERS FOR 2 ...

    DB2常用命令.doc

    * 创建数据库:#db2 create db 数据库名 alias 数据库别名 using codeset 字符集名 territory 语言环境名 pagesize 数据页大小 restrictive catalog tablespace managed by database using (file '路径文件名' 表...

    db2 常用命令

    - `db2 list tablespaces show detail` 和 `db2 list tablespace containers for SpaceID` 分别列出所有表空间信息和特定表空间的容器详情。 - `ALTER TABLESPACE` 用于调整表空间的大小或扩展已满的容器。 6. **...

    db2数据库与中间件

    - `$db2 list tablespace containers for 5 show detail`:列出 ID 为 5 的表空间容器详细信息。 ### 七、备份历史记录查询 - **查询备份历史记录:** - `$db2 list history backup all for dcold`:列出针对...

Global site tag (gtag.js) - Google Analytics