zoukankan      html  css  js  c++  java
  • 基础技巧 | 如何查看数据库的大小

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

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

    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种方案,后续发现有趣的方法再补充。

  • 相关阅读:
    LeetCode Merge Two Sorted Lists 归并排序
    LeetCode Add Binary 两个二进制数相加
    LeetCode Climbing Stairs 爬楼梯
    034 Search for a Range 搜索范围
    033 Search in Rotated Sorted Array 搜索旋转排序数组
    032 Longest Valid Parentheses 最长有效括号
    031 Next Permutation 下一个排列
    030 Substring with Concatenation of All Words 与所有单词相关联的字串
    029 Divide Two Integers 两数相除
    028 Implement strStr() 实现 strStr()
  • 原文地址:https://www.cnblogs.com/syncnavigator/p/10198354.html
Copyright © 2011-2022 走看看