매일 테이블 스페이스의 증가량을 체크 할려고 하는데
문제는 쉘이나 툴을 사용하면 간단하지만
혹 8.2에서 syscat.tablespace 의 증가량을 보여주는 함수나 프로시져같은 것은 없나요?
증가량까지 볼수 있는 방법은 없습니다. 아래의 sql에 맞는 테이블을 만든후 일배치로 insert하는 방법을 사용해보세요. ############ DB=DBNAME
db2 connect to $DB
db2 " SELECT tablespace,state,type,page_size, total_size_mb, used_size_mb,free_size_mb, ratio, \ case when ratio > 80 and TYPE <> 'SMS' then 'CHECK' else '' end \ FROM ( \ SELECT SUBSTR(tbs_cfg.tablespace_name,1,20) tablespace \ ,CAST(tbs_cfg.tablespace_state as smallint) AS state \ ,CASE tbs_cfg.tablespace_type \ WHEN 1 THEN 'SMS' \ ELSE 'DMS' \ END AS type \ ,CAST(page_size as integer) page_size \ ,(total_pages * page_size) / 1024 / 1024 as total_size_mb \ ,(used_pages * page_size) / 1024 / 1024 as used_size_mb \ ,(free_pages * page_size) / 1024 / 1024 as free_size_mb \ ,CASE tablespace_type \ WHEN 1 THEN 100 \ ELSE dec((tbs_cfg.used_pages * 100.00)/tbs_cfg.total_pages, 5,2) \ END AS ratio \ FROM TABLE(snapshot_tbs_cfg('$DB',0)) AS tbs_cfg \ ORDER BY 5 desc \ ) TBS" |tee -a TBS.out ############