db2怎么列出当前数据库下所有表占用空间的大小

db2怎么列出当前数据库下所有表占用空间的大小,第1张

ADMINTABINFO administrative view and ADMIN_GET_TAB_INFO table function - Retrieve size and state information for tables

Example 1: Retrieve size and state information for all tables

SELECT * FROM SYSIBMADM.ADMINTABINFO

Example 2: Retrieve size and state information for the table DBUSER1.EMPLOYEE.

SELECT * FROM TABLE (SYSPROC.ADMIN_GET_TAB_INFO('DBUSER1', 'EMPLOYEE'))

AS T

以上参考 http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.admin.doc/doc/r0022024.htm

DATA_OBJECT_L_SIZE DATA_OBJECT_P_SIZE这两个字段值为你需要的信息。

第一个示例查询时可以带上模式名或者表名来去除系统表的信息

系统管理的空间(SMS)和数据库管理的空间(DMS)是DB2数据库中,两种类型的基本表空间。本文将为您介绍调整表空间大小的方法,供您参考,希望对您有所帮助。

与 SMS 表空间相关联的容器是文件系统目录,而这些目录中的文件会随着表空间中对象的增长而增长。文件会增加至达到其中一个容器上的文件系统限制或达到数据库的表空间大小限制。

DMS 表空间由文件容器或原始设备容器组成,它们的大小是在将容器指定给表空间时设置的。当容器中的所有空间都已被使用时,则认为表空间已满。但是,与 SMS 不同,您可以使用 ALTER TABLESPACE 语句来添加或扩展容器,从而允许将更多的存储器空间提供给表空间。DMS 表空间还具有称为“自动调整大小”的功能。当可以自动调整大小的 DMS 表空间中的空间被消耗时,DB2 数据库系统可能回扩展一个或多个文件容器。SMS 表空间具有类似于自动增长的功能但术语“自动调整大小”专门用于 DMS。

启用和禁用自动调整大小(AUTORESIZE)

缺省情况下,不会对 DMS 表空间启用自动调整大小功能。下列语句创建不启用自动调整大小功能的 DMS 表空间:

CREATE TABLESPACE DMS1 MANAGED BY DATABASE

USING (FILE '/db2files/DMS1' 10 M)要启用自动调整大小功能,将 AUTORESIZE YES 子句指定为 CREATE TABLESPACE 语句的一部分:

CREATE TABLESPACE DMS1 MANAGED BY DATABASE

USING (FILE '/db2files/DMS1' 10 M) AUTORESIZE YES在已创建 DMS 表空间之后,还可以通过在 ALTER TABLESPACE 语句上使用 AUTORESIZE 子句来启用或禁用自动调整大小功能:

ALTER TABLESPACE DMS1 AUTORESIZE YES

ALTER TABLESPACE DMS1 AUTORESIZE NO有两个其他属性(MAXSIZE 和 INCREASESIZE)与自动调整大小的表空间相关联。

一个数据库下可以有多个表空间,用来存放数据库对象(表,索引,大对象……)。每个表空间都有一个属性叫 pagesize ,分为4k,8k,16k,32k。所以可参考计算公式是:

表空间1的页面数 * 表空间1的pagesize + 表空间2的页面数 * 表空间2的pagesize + …… + 表空间n的页面数 * 表空间n的pagesize。

至于 乘以 4 是默认认为都是 4k 页的表空间。但实际上可能存在不同pagesize的表空间在同一个数据库中。

over


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6681629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存