db2 檢視表空間使用情況,占用磁碟空間大小:
select a.snapshot_timestamp,
a.tbsp_name,
b.tbsp_type,
a.tbsp_state,
a.tbsp_usable_pages * b.tbsp_page_size /
1024
/1024
/1024
as total,
a.tbsp_used_pages * b.tbsp_page_size /
1024
/1024
/1024
as used,
(a.tbsp_usable_pages - tbsp_used_pages)
* b.tbsp_page_size /
1024
/1024
/1024
as free
from sysibmadm.snaptbsp_part a
inner
join sysibmadm.snaptbsp b on a.tbsp_id = b.tbsp_id;
db2 v9.7 版本 釋放表空間、降低表空間高水位 釋放磁碟空間:
delete 資料並不會釋放表空間,需要重組表;delete大量資料 或者 表啟用壓縮create table tablename compress yes 或 alter table tablename compress yes
後; reorg表才會釋放表空間。
先執行 runstats 再執行 reorg 。
#!/bin/bash
#指定日誌路徑
logfile=/home/db2inst1/start.log
echo
`date +'%y-%m-%d %h:%m:%s'
`" 連線到資料庫:"
>>
$ 2>
&1db2 connect to db_name >>
$ 2>
&1echo
`date +'%y-%m-%d %h:%m:%s'
`" 收集統計資訊:"
>>
$ 2>
&1db2 runstats on table xx.tb_name >>
$ 2>
&1echo
`date +'%y-%m-%d %h:%m:%s'
`" 收集統計資訊完成 !! "
>>
$ 2>
&1echo
`date +'%y-%m-%d %h:%m:%s'
`" 開始重組表 :"
>>
$ 2>
&1db2 reorg table xx.tb_name >>
$ 2>
&1echo
`date +'%y-%m-%d %h:%m:%s'
`" 重組表結束!! "
>>
$ 2>
&1
降低表空間高水位:
首先檢視可以降低高水位的表空間:
select
varchar
(tbsp_name,16)
as tbsp_name,
reclaimable_space_enabled,
tbsp_used_pages,
tbsp_free_pages,
tbsp_page_top
from
table
(mon_get_tablespace('',
-1))
as t where t.tbsp_page_top > t.tbsp_used_pages
降低表空間高水位操作:db2 alter tablespace tbsp_namelower high water mark
db2 表空間,codepage相關
create large tablespace indexspace1 managed by database using file index extentsize 32 prefetchsize 32 overhead 10.50 transferrate 0.14 codepage 安裝120...
DB2緩衝池 表空間
在db2中建立表空間得指向該錶空間所屬緩衝池,否則表空間指向預設緩衝池 1.緩衝池 1.1 建立緩衝池 語法 create bufferpool size pagesize 例項 create bufferpool oliver buffer immediate size 250 pagesize ...
DB2緩衝池 表空間
在db2中建立表空間得指向該錶空間所屬緩衝池,否則表空間指向預設緩衝池 1.緩衝池 1.1 建立緩衝池 語法 create bufferpool size pagesize 例項 create bufferpool oliver buffer immediate size 250 pagesize ...