DB2 檢視所有表空間占用磁碟空間大小

2021-10-24 05:16:43 字數 1955 閱讀 7945

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 ...