基础技巧 | 如何查看数据库的大小

通常我们在做数据库备份(表空间备份)之前都要先知道数据库(表空间)的大小,然后来给备份文件分配空间同时也可以大致估计下备份需要的时间。

下面介绍几种查看数据大小或者表空间大小(表空间备份)的方法:

1.查看表空间的使用情况及其使用率

db2 " select substr(tbsp_name,1,20) as TABLESPACE_NAME,substr(tbsp_content_type,1,10) as TABLESPACE_TYPE,sum(tbsp_total_size_kb)/1024 as TOTAL_MB,sum(tbsp_used_size_kb)/1024 as USED_MB,sum(tbsp_free_size_kb)/1024 as FREE_MB,tbsp_page_size AS PAGE_SIZE from SYSIBMADM.TBSP_UTILIZATION group by tbsp_name,tbsp_content_type,tbsp_page_size order by 1 "

2. 统计所有节点表空间使用率

db2 " select substr(TABLESPACE_NAME,1,20) as TBSPC_NAME,bigint(TOTAL_PAGES * PAGE_SIZE)/1024/1024 as TOTAL_MB,used_pagesPAGE_SIZE/1024/1024 as USED_MB, free_pagesPAGE_SIZE/1024/1024 as FREE_MB from table(snapshot_tbs_cfg(‘db_name‘, -2)) as snapshot_tbs_cfg "

将db_name 替换成要查的数据库名称;

3.查询数据库大小的操作

db2 "select (sum(total_pages)* 4096)/(1024*1024) Tot_allocat_spceinMB from table(snapshot_tbs_cfg(‘ ‘,-1)) TBS_SPCE"

这里的4096是默认的4K 的pagesize的值,可以根据实际情况修改;

4.根据表空间使用情况估算数据库大小

首先连接到数据库:

db2 connect to db_name

查看表空间detail :

db2 list tablespaces show detail

如图可以看到该数据库下有多个表空间,我们选取数量级最大的表空间参与计算(如果存在多个数量级相同且为最大数量级的表空间时需要先将他们累加起来)如红丝边框所示;我们将蓝色框内的几个忽略不计(因为相对于大的表空间而言这几个表空间只是零头);

计算公式:

(Total pages * Page size) / (1024*1024) GB

带入计算 :

(174030848*4096)/(1024*1024)GB ~ 679.808 GB

和方案3的结果比较下:

可以发现估算出来的结果和方案三得出的结果差距不大;这种方法比较简单也不许要记住复杂的代码;

先介绍这4种方案,后续发现有趣的方法再补充。

原文地址:https://www.cnblogs.com/syncnavigator/p/10198354.html

时间: 2024-10-31 09:10:12

基础技巧 | 如何查看数据库的大小的相关文章

查看数据库的大小

1.查看数据库的大小 mysql> desc tables; +-----------------+---------------------+------+-----+---------+-------+ | Field           | Type                | Null | Key | Default | Extra | +-----------------+---------------------+------+-----+---------+-------+

postgresql 查看数据库总大小

有两种方式,任何一个都可以 第一 在psql控制台中 \l+ 第二 在数据库中查 select pg_size_pretty(pg_database_size('数据库名')); 版权声明:本文为博主原创文章,未经博主允许不得转载.

mysql查看数据库和表的占用空间大小

? 第一部分-任务 将线上db,导出后,导入到office db 一. 两种方案: 1,将数据直接从online-->office,通过mysqldump 通过本地putty等和ecs建隧道,然后传数据到本地.(本地win可以按照gzip,压缩后传到office server) 2,先在ecs上mysqldump压缩,然后下载下来 下载方案: 1,rsync daemon 2,rsync ssh 3,scp 4,sz <----这种速度较快,前三者都差不多,记得md5sum ? ? 第二部分

MySQL查看表占用空间大小

前言:在mysql中有一个默认的数据表information_schema,information_schema这张数据表保存了MySQL服务器所有数据库的信息.如数据库名,数据库的表,表栏的数据类型与访问权限等.再简单点,这台MySQL服务器上,到底有哪些数据库.各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面,所以请勿删改此表. 代码: 1,切换数据库 use information_schema; 2,查看

Mysql 查看数据库大小

1 命令行进入数据库 [[email protected] ~]# mysql -uroot -p Enter password: 2 查看数据库 mysql> show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | | test               | +--------------

如何快速查看数据库中的表大小

exec sp_spaceused 以上语法可以查看数据库大小 以下可以查看数据库中每个表的数据条数 SELECT   a.name, b.rows FROM      sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.id WHERE   (a.type = 'u') AND (b.indid IN (0, 1)) ORDER BY b.rows DESC

查看oracle数据库的大小和空间使用情况

查看oracle数据库的大小和空间使用情况 (2012-06-19 14:44:30) 转载▼ 标签: 杂谈 分类: oracle 1.查看表空间的使用状况 SELECT upper(f.tablespace_name) 表空间名, d.Tot_grootte_Mb "表空间大小(M) ", d.Tot_grootte_Mb - f.total_bytes "已使用空间(M) ", round((d.Tot_grootte_Mb - f.total_bytes) /

SQL Server 查看数据库在数据缓存(data cache)中占用的空间大小

1 use master 2 go 3 select * from sys.dm_os_buffer_descriptors 4 go 5 6 --查看数据库在数据缓存(data cache)中占用的空间大小 7 --由于每个数据页对应动态管理视图(dynamic management view,DMV)中的一行,为128 字节,为1/8个千字节(KB) 8 --1字节(Byte)=8位(Bit) 9 --1千字节(KB)=1024字节(Byte) 10 --1兆(MB)=1024千字节(KB)

MySQL查看数据库、表的占用空间大小

•查看各库的大小  代码如下 复制代码 SELECT SUM(DATA_LENGTH)+SUM(INDEX_LENGTH) FROM information_schema.tables WHERE TABLE_SCHEMA='database_name'; 结果是以字节为单位,除1024为K,除1048576为M. •查看各表的大小  代码如下 复制代码 SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_