db2查询表空间使用情况
时间: 2024-01-01 11:04:30 浏览: 36
要查询DB2的表空间使用情况,可以使用以下SQL语句:
```
SELECT
substr(tbsp_name,1,30) as tbsp_name,
tbsp_total_pages * tbsp_page_size / 1024 / 1024 as tbsp_size_mb,
tbsp_used_pages * tbsp_page_size / 1024 / 1024 as tbsp_used_mb,
tbsp_free_pages * tbsp_page_size / 1024 / 1024 as tbsp_free_mb,
tbsp_page_size / 1024 as tbsp_page_size_kb,
tbsp_type
FROM
syscat.tablespaces
```
这条SQL语句将返回一张表,列出了所有表空间的名称、总大小、已使用大小、可用大小、页大小和表空间类型等信息。其中,tbsp_total_pages、tbsp_used_pages和tbsp_free_pages这三个列分别表示表空间的总页数、已使用页数和可用页数,tbsp_page_size表示表空间的页大小。
相关问题
db2 10.5查询表空间使用情况和最大限制大小
要查询DB2 10.5的表空间使用情况和最大限制大小,可以使用以下SQL语句:
```
SELECT
substr(tbsp_name,1,30) as tbsp_name,
tbsp_total_pages * tbsp_page_size / 1024 / 1024 as tbsp_size_mb,
tbsp_used_pages * tbsp_page_size / 1024 / 1024 as tbsp_used_mb,
tbsp_free_pages * tbsp_page_size / 1024 / 1024 as tbsp_free_mb,
tbsp_page_size / 1024 as tbsp_page_size_kb,
tbsp_type,
tbsp_max_size * tbsp_page_size / 1024 / 1024 as tbsp_max_size_mb
FROM
syscat.tablespaces
```
这条SQL语句将返回一张表,列出了所有表空间的名称、总大小、已使用大小、可用大小、页大小、表空间类型和最大限制大小等信息。其中,tbsp_max_size表示表空间的最大限制大小,单位为页数。因此,我们需要将tbsp_max_size乘以tbsp_page_size,再除以1024 * 1024,才能得到最大限制大小的单位为MB的值。
db2查看正在使用的表空间
要查看当前正在使用的表空间,可以使用以下 SQL 语句:
```
SELECT DB_NAME, TBS_NAME, TBS_TYPE, TBS_TOTAL_PAGES, TBS_USABLE_PAGES, TBS_USED_PAGES, TBS_FREE_PAGES
FROM TABLE(SNAP_GET_DB('',-1)) AS T
JOIN TABLE(SNAP_GET_CONTAINER('',-1)) AS C
ON T.DB_ID = C.DB_ID AND T.DB_PARTITION_NUM = C.DB_PARTITION_NUM
WHERE TBS_TYPE = 'DMS' AND TBS_STATE = 'NORMAL' AND TBS_TOTAL_PAGES > 0
ORDER BY DB_NAME, TBS_NAME;
```
这条 SQL 语句会返回当前正在使用的 DMS(Database-Managed Space)表空间的相关信息,包括表空间名称、类型、总页数、可用页数、已使用页数、空闲页数等。如果你的表空间是使用 Automatic Storage 的,需要将 `TBS_TYPE = 'DMS'` 改为 `TBS_TYPE = 'AUTOMATIC STORAGE'`。
注意,这条 SQL 语句需要具有适当的权限才能执行。