DB2处理数据由原来六小时优化到二十分钟(二)_db2 reblance进度-程序员宅基地

技术标签: database  file  DB2  db2  优化  containers  存储  

       上一篇中提到了几种常用的命令,但是在很多网站上都很少搜索到的。

      本篇主要说下关于DB2表空间,由于在系统中我将频繁操作的16张表和我的业务数据表表空间采用的是同一个。这样就导致,在处理业务数据的过程中,会访问比较慢。所以建表空间和建表应该遵循以下原则:

1.频繁操作的表用一个表空间

2.数据量大的表用一个表空间

3.业务表用一个表空间

4.临时表用一个表空间。

      用户可以在DB2中定义四种不同类型的表空间,如下所示:单一:一个单一的表空间可以包含多于一个的DB2表。这个空间由多个页组成,每个页都可以包含若干行,它们可能是来自表空间中定义的任何表的数据行。分段:分段表空间可以包含多于一个的DB2表。这个表空间由多组页组成,每组页被称为一个段。每个段包含来自表空间中定义的某一个表的若干行。分区:分区表空间只可以包含一个表。这个空间根据分区索引的关键值范围被划分成多个区。每个分区都作为一个独立的实体对待,允许SQL和DB2实用工具集的并发处理。LOB:LOB表空间只存储LOB(大对象)数据。LOB包括了3个数据类型:BLOB(二进制大对象)、CLOB(字符型大对象),以及DBCLOB(双字节字符型大对象)。

     表空间日常管理命令
本例创建的表空间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,增量为100MB,最大大小为100GB的 自动存储管理表空间
create tablespace tbs_data2 initialsize 100M increasesize 100M maxsize 100G
9、查看表空间信息
list tablespaces
list tablespaces show detail
db2pd -d testdb -tablespaces
get snapshot for tablespaces on testdb
也可以查看sysibmadm.snaptbsp和sysibmadm.snapcontainer这两个视图
10、查看表空相关的容器信息
list tablespace containers for 7    #tablespace id
list tablespace containers for 7 show detail
11、如果DMS表空间对应的存储中还有未分配空间,可通过alter tablespace的extend、reduce或resize选项扩展已有表空间容器的大小。其中extend用来扩展容器大小,reduce用来缩减已有容器大小,resize重新设定容器大小。对于reduce和resize,需确保更改后的表空间有足够空间,否则DB2拒绝操作。
alter tablespace tbs_data extend (file '/database/tbs_data/cont0' 10M)
12、如果表空间容器已经没有剩余空间,可通过add选项增加容器,当然必要的情况下也可以通过drop选项删除容器。对于add和drop操作会在容器间发生数据重新平衡(rebalance)。如果数据量很大,rebalance时间有可能很久,对系统可能造成很大影响。
 
alter tablespace tbs_data add(file '/database/tbs_data/cont2' 100m)
13、如果使用begin new strip set选项则会在现有容器空间用完时使用新增容器,该选项使数据不会在容器间做rebalance,但会造成数据偏移。
alter tablespace tbs_data begin new stripe set (file '/database/tbs_data/cont3' 100m)
 
14、查看自动存储管理表空间路径
db2pd -d testdb -storagepaths
15、对于自动存储管理表空间,无法在表空间级进行容器更改,只能在数据级别,因为自动存储路径是在建库时指定的。可以使用add storage on选项为数据库添加新的存储路径。在v9.7版本之前,自动存储路径只能增加,不能删除。新增加的存储路径不会备表空间立即使用,只有在已有存储路径文件系统空间满了,才会使用新增路径,增加路径只是为了解决容量问题。v9.7版本之后,只要对使用自动存储管理的表空间执行rebalance,则该表空间可以立即使用新增存储路径。
 
alter database testdb add storage on '/database/czm'
alter tablespace 7 rebalance
 
 
16、将DMS表空间转换成自动存储管理表空间


alter tablespace tbs_data managed by automatic storage
alter tablespace tbs_data rebalance

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cuiran/article/details/7337966

智能推荐

pyinstaler将python文件打包成exe可执行文件_pyonstaller mingling-程序员宅基地

文章浏览阅读250次。1、安装pyinstaller库文件pip install pyinstaller大多数情况下失败,可使用国内的网址。pip install -i https://pypi.douban.com/simple/ pyinstallerpip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pyinstaller2、把代码文件比如sr..._pyonstaller mingling

springboot学习(二十六) springboot中自定义枚举类型的序列化和反序列化_springboot 通用序列化 反序列化 枚举-程序员宅基地

文章浏览阅读6.3k次,点赞3次,收藏18次。1、使用@JsonCreator 反序列化定义一个通过某个字段生成枚举的函数,并添加@JsonCreator注解。这样在前端传入int类型会转为枚举类型。 @JsonCreator public static SexEnum getByCode(int code) { for (SexEnum value : SexEnum.values()) { ..._springboot 通用序列化 反序列化 枚举

利用Java画图,生成图片_java生成图片-程序员宅基地

文章浏览阅读2.9k次,点赞2次,收藏10次。项目场景:工作中运用了Java画图片,有兴趣的伙伴可以看看swing,我这里简单说几个常用的方法,下面是我的具体业务中的简单使用,别傻傻的复制粘贴问题描述:提示:生成图片的流程1.创建BufferedImage类2.根据BufferedImage类得到一个Graphics2D对象3.根据Graphics2D对象进行逻辑操作4.处理绘图5.将绘制好的图片写入到图片@Override //创建BufferedImage类 bufferedImage = new Buffere_java生成图片

基于keil环境下mm32f327单片机rtthread的移植_rtthread keil-程序员宅基地

文章浏览阅读2k次,点赞4次,收藏28次。mm32f3277移植rtthread系统(基于keil环境和逐飞库)_rtthread keil

(08)FPGA开发软件_fpga软件开发-程序员宅基地

文章浏览阅读714次。(08)FPGA开发软件1 文章目录1)文章目录2)FPGA入门与提升课程介绍3)FPGA简介4)FPGA开发软件5)技术交流6)参考资料2 FPGA入门与提升课程介绍1)FPGA入门与提升文章目的是为了让想学FPGA的小伙伴快速入门以及能力提升;2)FPGA基础知识;3)Verilog HDL基本语法;4)FPGA入门实例;5)FPGA设计输入,包括代码输入、原语输入;6)FPGA设计技巧;7)FPGA时钟设计;8)FPGA复位设计;9)_fpga软件开发

麻省理工计算机相关网络课程,麻省理工MIT计算机课程表-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏13次。全名:电子工程和计算机下属三个专业:6-1 电子工程、6-2电子工程和计算机、6-3计算机毕业需要的专业课:6.01 6.026.004 6.005 6.0066.034 6.046 6.033两门Advanced Undergraduate Studies一门lab毕业project 8.02 Physics II (电磁学基础) http://web.mit.edu/8...._web.mit.edu 18.06

随便推点

拉格朗日插值多项式-程序员宅基地

文章浏览阅读1.8w次,点赞13次,收藏54次。1.拉格朗日插值多项式首先给出,n次插值基函数定义若n次多项式lj(x)(j=1,2,…,n)在n+1个节点x0<x1<…<xn上满足条件若n次多项式l_j(x)(j=1,2,\ldots,n)在n+1个节点x_0<x_1<\ldots<x_n上满足条件若n次多项式lj​(x)(j=1,2,…,n)在n+1个节点x0​<x1​<…<xn​上满足条件lj(xk)={1,k=j,j,k=0,1,…,n,0,k≠j,l_j(x_k)=\begin{cas_拉格朗日插值多项式

VC++驱动保护系列视频课程_c++ 驱动 保护-程序员宅基地

文章浏览阅读244次。课程目录VC驱动保护系列教程(01-20).rar016_为DDK_HelloWorld添加默认派遣例程.7z017_需要具备的理论知识.7z018_读出SSDT表当前函数地址.7z019_读出原函数地址.7z020_JMP地址转换公式推导.7z021_绕过驱动保护.7z022_NT式驱动的安装.7z023_NT式驱动的卸载.7z024_驱动代码中C和C++代码区别.7z02..._c++ 驱动 保护

vue项目 图片引用_vue2 引入图片-程序员宅基地

文章浏览阅读4.3k次,点赞2次,收藏6次。项目vue版本:vue 2.x脚手架:webpack1、静态引用图片像logo、等一些不变的图片,通常直接是直接写s的1.1、图片在assets下创建webpack项目时会生成 /src/assets如果图片在该文件下,可以通过此方式引用(直接引用路径):<img src="@/assets/图片路径" ><!--<img src="../assets/图片路径" >这里的 @ 指的是该项目-->1.2、图片在static下也会自动生_vue2 引入图片

汇编语言——输入数字输出数字(个位数)_打印数字的汇编语言-程序员宅基地

文章浏览阅读1.9w次,点赞10次,收藏37次。CODE SEGMENT ;ASSUME CS:CODE,DS:DATAstart: mov ah,01H int 21H;等待键入,键入后把字符的ASCII码送AL mov dl,al;待显示字符的ASCII码要放到DL里 mov ah,02H int 21H; ;HLT mov ah,4CH int 21H CODE ENDSEND ..._打印数字的汇编语言

PHP-Parse 简介以及在 Hyperf 中的应用_php boolexp_parse是什么函数-程序员宅基地

文章浏览阅读564次。介绍PHP-Parse 是分析 PHP 代码生成 AST 的库,分析出可读性很高的对象数据结构,方便后续的更新和遍历。PHP-Parse 的主要作用是修改原有代码(比如插入自定义的代码片段),生成新的代理类 。框架内生成代理类,处理注入有用到,比如 Hyperf 的 DI 组件利用反射和 PHP-Parse 实现了注入。AST 的简单介绍 具体搜索,资料很多,讲得很好比如下面 PHP 代码会被解析成<?phpnamespace NameSpace;class SomeClass{ _php boolexp_parse是什么函数

详解文件包含漏洞及其解决方法_文件包含漏洞的修复建议-程序员宅基地

文章浏览阅读1.4k次。文件包含漏洞和SQL注入等攻击方式一样,文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,并让服务端执行。注:(包含:程序开发人员通常会把可重复使用的函数写入到单个文件中,在使用某些函数时,直接调用此文件,而无需再次编写)例如我们在写c语言编程时的include就是个包含的应用。_文件包含漏洞的修复建议

推荐文章

热门文章

相关标签