当前位置:数据库 > DB2 >>

DB2表空间与缓冲池

DB2表空间与缓冲池
 
原则: 
1、中间表和目标事实表的空间大小设置依据于源始表的空间设置。(计算出最近一年的数据量) 
2、中间表和目标事实表的数据量规划为5年的数据量。 
3、根据以前需求文档会数据量每年递增加20% 
 
/* 
现在应用的默认的IBMDEFAULTGROUP 
db2 create database partition group pg01 on dbpartitionnum(0 to 1) 
  db2 list database partition groups 
*/ 
 
--建立缓冲池 
CREATE BUFFERPOOL "BP32K"  SIZE 81920 PAGESIZE 32768; 
 
--建立索引空间 
CREATE REGULAR TABLESPACE "TBS_IDX_32K" IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32k MANAGED BY DATABASE 
USING (file 'd:\rep\vgidx01\rTBS_IDX_32K' 64000)  --原始是64000,根据以前需求文档会增加20% 
EXTENTSIZE 32 
PREFETCHSIZE 192 
BUFFERPOOL BP32K 
OVERHEAD 12.670000 
TRANSFERRATE 0.180000 
FILE SYSTEM CACHING  
DROPPED TABLE RECOVERY ON; 
 
--注意:表空间的page size和所指定的buffer pool的page size大小不一样,也会报错 
 
 
 
--建立表空间 
CREATE REGULAR TABLESPACE "TBS_DATA03" IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32k MANAGED BY DATABASE 
USING (file 'd:\vgdata01\rTBS_DATA03' 19200) --原始是19200,根据以前需求文档会增加20% 
EXTENTSIZE 32 
PREFETCHSIZE 192 
BUFFERPOOL BP32K 
OVERHEAD 12.670000 
TRANSFERRATE 0.180000 
FILE SYSTEM CACHING  
DROPPED TABLE RECOVERY ON; 
 
 
 
--建立表,将它建在表空间上,索引在索引空间上 
CREATE TABLE "DB2ADMIN"."UD8_INCEPT_FILE"  ( 
  "S_CREDENCECODE" CHAR(6) NOT NULL , 
  "S_BANKCODE" CHAR(8) NOT NULL 
)   
IN "TBS_DATA03" INDEX IN "TBS_IDX_32K" ; 
 
 
SELECT * FROM SYSCAT.BUFFERPOOLS  --缓冲池属性 
 
 
 
LIST TABLESPACES  --列出表空间 
 
 
 
更改表所属空间: 
 
 
#QSCOMMAND EXPORT TO '%DATA_PATH%\DB2INST1.M_DIM_BANK.358.1\M_DIM_BANK.ixf'
  OF IXF 
  SELECT * FROM "DB2INST1"."M_DIM_BANK"; 
 
#SYNC 10; 
 
DROP TABLE "DB2INST1"."M_DIM_BANK"; 
 
#SYNC 20; 
 
CREATE TABLE "DB2INST1"."M_DIM_BANK" 
("ibankid"    BIGINT, 
  "SBANKNAME"  VARCHAR(200), 
  "SBANKTYPE"  VARCHAR(100) 
  DATA CAPTURE NONE 
IN "SYSTOOLSPACE" 
INDEX IN "SYSCATSPACE"; 
 
#SYNC 30; 
 
ALTER TABLE "DB2INST1"."M_DIM_BANK" 
  LOCKSIZE ROW 
  APPEND OFF 
  NOT VOLATILE 
  LOG INDEX BUILD NULL; 
 
#SYNC 40; 
 
#QSCOMMAND IMPORT FROM '%DATA_PATH%\DB2INST1.M_DIM_BANK.358.1\M_DIM_BANK.ixf' 
  OF IXF 
  MODIFIED BY COMPOUND=5 
              NOCHECKLENGTHS 
  COMMITCOUNT 1000 
--RESTARTCOUNT xxx 
  INSERT 
  INTO "DB2INST1"."M_DIM_BANK"; 
 
#SYNC 50; 
 
RUNSTATS ON TABLE "DB2INST1"."M_DIM_BANK" 
  AND INDEXES ALL 
  SHRLEVEL REFERENCE; 
 
#SYNC 60; 
 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,