DB2 v8.2 降低高水位线经验
来源:互联网 发布:搜索优化 编辑:程序博客网 时间:2024/06/02 17:27
测试环境上在反复做几次升级后发现数据库表空间的HWM比used pages 高出很多,所以尝试降低高水位线。
开始网上搜索资料讲用runstats、reorg命令,各种尝试后并不管用,后来又了解到db2dart命令,总算让我看到了希望。
db2dart有三个选项:DHWM(Dump HWM)、LHWM(Lower HWM)、RHWM(Remove HWM) 摘抄自《DB2数据库管理最佳实践》
只需使用LHWM选项就足够了,该选项会提供降低HWM的建议,下面是使用方法:
db2dart dbname /lhwm (回车后会提示输入需要操作的表空间id及期望的HWM值,表空间id可以通过db2 list tablespaces show detail命令查看,期望值可以填used pages的值也可以填0)
以空格分隔输入两个参数后回车将会生成一个以数据库名开头的.RPT文件,打开该文件即可看到提供的几条建议:
图中提示先导出表ZJWEB.RUN_STATUS_TABLE的数据再重建该表,再将数据导入,需要注意的是,LHWM给出的建议并不能总是获得预期的结果。
依照这几条建议做完后发下HWM并没有降低,之后又了解到alter table move命令,由于若index跟表在同一个表空间的话会使index变为UNUSABLE,所以没有尝试。
从图书馆借到《DB2数据库管理最佳实践》,里面有详细介绍降低高水位线的方法,其中db2dart 命令的使用跟我的操作是一样的,但是从书中还了解到:表在离线重组(Reorg)时会保留原数据,同时在表空间内进行一份数据复制,当复制结束后删除原表数据块。如果HWM下没有足够的空间保存数据复制,则重组不但不能降低HWM,反而会导致HWM增加。
看到这里恍然大悟,我在每次操作完它的建议后都会reorg一次,而我们普遍用到reorg方式是离线方式(reorg table tabname),在线方式(reorg table tabname inplace allow write access)会记录大量日志甚至是表大小的几倍且速度较慢。
再次执行它的建议,先将表数据导出,再drop表后重新db2 list tablespaces show detail发现HWM已经降低到接近used pages 了,然后将表重建并导入数据。此时HWM已经跟used pages一致了。
- DB2 v8.2 降低高水位线经验
- DB2 降低高水位线、刷新统计、索引信息
- Oracle之降低高水位线
- 降低高水位方法
- 降低高水位 oracle
- SHRINK SEGMENT降低高水位
- MOVE降低高水位 HWM
- 利用在线重定义降低表的高水位线
- 使用shrink space降低表的高水位线
- DB2 10.5 linux 数据库查询命令 及 表空间降低高水位(释放磁盘空间)
- DB2的高水位标记
- 如何降低Oracle表的高水位?
- 何时应该降低高水位(HWM)
- 【oracle调优】优化全表扫---降低高水位
- oracle高水位,水位线
- Delete/Truncate删除,释放表空间、降低高水位线、resize释放磁盘空间相关优化
- 降低oracle高水位线方法总结(包括验证结果)
- 降低oracle高水位线方法总结(包括验证结果)
- LeetCode题解-92-Reverse Linked List II
- Android-LinearGradient实现TextView字体渐变的效果
- 【Linux】制作和部署WAR包和在TOMCAT中部署WAR
- JavaWeb在调用微信支付接口的时候,出现的各种奇葩错误
- 【转载分享】总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告
- DB2 v8.2 降低高水位线经验
- 字符串哈希函数
- Android开发学习之路--RxAndroid之初体验
- VS2013常用快捷键
- Centos 部署 java sap 环境 sapjco2.1.8
- 美团多渠道打包方案详解,速度快到白驹过隙
- Android ImageView的scaleType属性
- Android开发学习之路--RxAndroid之lambda
- Opencv学习笔记之二:操作像素