姿姿霸霸~~!
贵在坚持!
posts - 106,  comments - 50,  trackbacks - 0
V9.7中提供了更简单易用的降低高水位标记功能。只需要使用ALTER TABLESPACE命令就可以达到效果。同时DB2还提供了两个表函数MON_GET_TABLESPACE和MON_GET_EXTENT_MOVEMENT_STATUS来获取和监控表空间以及数据块移动信息。

1.MON_GET_TABLESPACE语法
MON_GET_TABLESPACE--(--tbsp_name--,--member--)
tbsp_name是表空间对象,如果是空值,则会对所有的表空间操作。member的默认输入是-1,指当前成员,如果是-2,则是所有数据库成员。这个函数的返回值说明:
tbsp_name:表空间名
tbsp_type:表空间类型
tbsp_state:表空间状态
tbsp_used_pages:已使用页
tbsp_free_pages:空闲页
tbsp_total_pages:总页
tbsp_page_top:高水位标记页
reclaimble_space_enabled:值1代表可回收空间
select * from table(MON_GET_TABLESPACE(null,-2));

2.获取表空间信息
SELECT varchar(tbsp_name, 16as tbsp_name,
       RECLAIMABLE_SPACE_ENABLED,
       TBSP_USED_PAGES,
       TBSP_FREE_PAGES,
       TBSP_PAGE_TOP
  
from TABLE(MON_GET_TABLESPACE(''-2)) AS t
 
where t.TBSP_PAGE_TOP > t.TBSP_USED_PAGES
该语句筛选出了所有高水位标记大于已使用页的表空间

3.ALTER TABLESPACE 语法
ALTER TABLESPACE--tablespace-name----------------------------> >----+-REDUCE--+-------------------------------+--+-----------------------------+-+ | +-| database-container-clause |-+ '-| on-db-partitions-clause |-' | | +-| all-containers-clause |-----+ | | +-MAX---------------------------+ | | +-STOP--------------------------+ | | '-integer--+---------+----------' | | +-K-------+ | | +-M-------+ | | +-G-------+ | | '-PERCENT-' | +-LOWER HIGH WATER MARK--+------+--------------------------------------------+ | '-STOP-' | '----------------------------------------------------------------------------'
MAX参数可以指定最大限度的降低高水位标记来释放空间。在运行REDUCE命令后,在数据块移动的过程中,也可以使用STOP参数来停止表空间移动。如果是DMS表空间,则需要先运行LOWER HIGH WATER MARK子句降低高水位标记,再运行REDUCE子句释放表空间。如果是启用了自动存储的表空间,直接运行REDUCE子句即可。
自动存储表空间
ALTER TABLESPACE REDUCE 100 M(MAX)
DMS 表空间
ALTER TABLESPACE LOWER HIGH WATER MARK ALTER TABLESPACE REDUCE (ALL CONTAINERS 10 M(MAX)) 

4.MON_GET_EXTENT_MOVEMENT_STATUS语法
MON_GET_EXTENT_MOVEMENT_STATUS--(--tbsp_name--,--member--)
tbsp_name 是表空间对象,如果是空值,则会对所有的表空间操作。member 的默认输入是 -1,指当前成员,如果是 -2,则是所有数据库成员。这个函数的返回值说明:
tbsp_name:表空间名
tbsp_id:表空间id
member:成员
current_extent:当前正在移动数据块
last_extent:最后移动的数据块
num_extents_moved:已移动的数据块
num_extents_left:未移动的数据块
total_move_time:总移动时间(微秒)

5.监视表空间的移动
SELECT varchar(tbsp_name, 20as tbsp_name,
       NUM_EXTENTS_MOVED,
       NUM_EXTENTS_LEFT,
       TOTAL_MOVE_TIME
  
from TABLE(MON_GET_EXTENT_MOVEMENT_STATUS('TBS1'-2)) AS t

6.验证高水位标记的降低
SELECT varchar(tbsp_name, 16as tbsp_name,
       BSP_USED_PAGES,
       TBSP_FREE_PAGES,
       TBSP_PAGE_TOP
  
from TABLE(MON_GET_TABLESPACE('TBS1'-2)) AS t
posted on 2011-10-08 10:20 xrzp 阅读(2895) 评论(1)  编辑  收藏 所属分类: db2

FeedBack:
# re: db2降低hwm(V9.7)
2012-01-11 17:57 | 刘邦
Spotlight on DB2 for LUW 下钻功能提供了Linux,Unix和 Windows操作系统上DB2的有关表空间信息,其中包括:
配置
使用扩展存储
用选定监测间隔进行直接和缓冲的I/O的表空间运行所需的时间

详细参考:http://www.innovatedigital.com/DatabasesTuning/SpotlightOnDB2.shtml  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2012年1月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(4)

随笔分类

随笔档案

好友的blog

搜索

  •  

积分与排名

  • 积分 - 115083
  • 排名 - 505

最新评论

阅读排行榜

评论排行榜