1. 统计所有节点表空间使用率
  select substr(TABLESPACE_NAME,1,20) as TBSPC_NAME,bigint(TOTAL_PAGES * PAGE_SIZE)/1024/1024 as "TOTAL(MB)",
      used_pages*PAGE_SIZE/1024/1024 as "USED(MB)", free_pages*PAGE_SIZE/1024/1024 as "FREE(MB)"
    from table(snapshot_tbs_cfg('DB_NAME', -2)) as snapshot_tbs_cfg
2、查看表空间使用率
  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
3、通过存储过程查看数据库大小和容量
db2 call GET_DBSIZE_INFO (?,?,?,0)
    输出参数的值
    --------------------------
    参数名: SNAPSHOTTIMESTAMP
    参数值: 2008-05-26-10.53.06.421000
    参数名: DATABASESIZE
    参数值: 1203863552
    参数名: DATABASECAPACITY
    参数值: 4281493504
  unit=byte, byte/1024/1024=m
  db2 call GET_DBSIZE_INFO (?,?,?,0)
  注意:
     a、从V8以上版本支持,此存储过程看数据库大小和容量;如果要看各表空间使用情况上面的sql方便,
   b、还有DPF环境下,db2 call GET_DBSIZE_INFO (?,?,?,0)只能看dbsize大小,无法看db的容量
SYSIBM.SYSTABLESPACES
SYSIBM.SYSTBSPACEAUTH
 
2.db2查看表空间和增加表空间容量
 Db2 connect to xxx
 Db2 “LIST TABLESPACES SHOW DETAIL”
 Tablespace ID = 7
 Name = TSASNAA
 Type = Database managed space
 Contents = All permanent data. Large table space.
 State = 0x0000
 Detailed explanation:
 Normal
 Total pages = 14800
 Useable pages = 14752
 Used pages = 12864
 Free pages = 1888
 High water mark (pages) = 12864
 Page size (bytes) = 8192
 Extent size (pages) = 32
 Prefetch size (pages) = 32
 Number of containers = 1
    增加表空间大小
 DB2数据库使用时,如果表空间满了,该如何扩容呢?下文将教给您DB2数据库表空间扩容的方法,供您参考,希望对您有所帮助。
 1)直接添加一个容器的例子:
   db2 " ALTER TABLESPACE PAYROLL ADD (DEVICE '/dev/rhdisk9' 10000) "
   加容器之后DB2会有一个自动balance的过程,可能会持续几个小时!!! 一定要注意该选项,修改前确认该选项是否能满足业务需求!
 2)改变现有容器的大小(该方法不会触发balance,但如果表空间建立在裸设备上,则要扩冲裸设备空间):
   db2 " ALTER TABLESPACE TS1 RESIZE (FILE '/conts/cont0' 2000, DEVICE '/dev/rcont1' 2000, FILE 'cont2' 2000) "
     注意这种方式就是将原有的相应容器都改成大小是2000页
   db2 "ALTER TABLESPACE TS1 RESIZE (ALL 2000)"
     这种方式就是把表空间中所有的容器大小都改成2000页
   db2 " ALTER TABLESPACE TS1 EXTEND (FILE '/conts/cont0' 1000, DEVICE '/dev/rcont1' 1000, FILE 'cont2' 1000) "
     这种方式就是将相应的容器都扩大1000页,也就是增加1000页。
   db2 " ALTER TABLESPACE DATA_TS EXTEND (ALL 1000)"
     这种方式就是将所有的容器都增加1000页。

3.db2数据字典
select name from sysibm.systables where type='T' and creator='USERID' and tbspace='TS4R_DNJC' order by name;
select name from sysibm.systables where type='V' and creator='USERID' order by name;
 type:数据库表用T表示;数据库视图用V表示
 creator:数据库对象的创建者
select * from sysibm.syscolumns

select tabname from syscat.tables where tabschema=current schema ;
 获取当前模式下面的所有用户表
describe table XXXX

SELECT NAME                                                           
        ,COLNO                                                         
        ,COLTYPE || '('                                                 
                 || CAST(LENGTH AS CHAR(5)) || ','                     
                 || CAST(SCALE AS CHAR(5)) || ')'                       
        ,CASE WHEN NULLS = 'N'                                         
             THEN 'NOT NULL' ELSE ' ' END                               
        ,TBNAME                                                         
                                           
   WHERE TBCREATOR = 'TEST'            -- < OR 'TEST'                   
--   AND (NAME = 'YOUR_COL_NAME'      -- < COLUMN NAME \ ONLY USE ONE
     AND (TBNAME    = 'T_QUICK_MENU'  -- < TABLE NAME  /         
          )                                                             
     ORDER BY TBNAME, COLNO   
                                         
SELECT NAME   FROM SYSIBM.SYSCOLUMNS

回答

4.求关于pending free pages的详细解释。
  本人理解:
      如果不是先清空表(例如alter table ..with empty table等),直接delete,其所占用的extents会变成pending_free_pages的一种中间状态,
    只有在下面两种情况下才会彻底变成free_pages:
 1)执行db2 list tablespaces show detail(多节点数据库要db2_all)
 2)新建对象或者insert数据的时候,free_pages不够,需要扩展的时候就会从pending_free_pages中获取空间。
      疑问:
 free_pages快没了,pending_free_pages还有2G,向一个对象insert数据的时候报错“表空间不能分配新页”,这是不是说insert的时候不能用到pending_free_pages呢?

db2 查看表空间使用率的更多相关文章

  1. [转] 使用SQL脚本查看表空间使用率和使用dba_tablespace_usage_metrics视图的差别

    传统的SQL脚本查看表空间使用率,使用的关键视DBA_DATA_FILE和DBA_FREE_SPACE. Oracle 11g引入了DBA_TABLESPACE_USAGE_METRICS视图.其实, ...

  2. 查看表空间使用率及shrink 表空间

    首先,可以通过下面的sql statement来查看表空间的使用情况.注意,该语句是在10g下测试过. SELECT FREE.TABLESPACE_NAME, FREE.FREE_SPACE/TOT ...

  3. DB2查看表空间和增加表空间容量

    Db2 connect to xxx Db2 “LIST TABLESPACES SHOW DETAIL” Tablespace ID = 7 Name = TSASNAA Type = Databa ...

  4. db2查看表空间

    select substr(tbsp_name,1,20) as 表空间名称,substr(tbsp_content_type,1,10) as 表空间类型,sum(tbsp_total_size_k ...

  5. DB2查看表空间大小及使用情况

    1.SQL 查询(选择Schema为SYSPROC) SELECT SUBSTR(TABLESPACE_NAME,,) AS TBSPC_NAME, AS "TOTAL(MB)", ...

  6. 【DB2】查看表空间对应的物理文件地址

    使用的命令: db2 list tablespaces show detail db2 list tablespace containers for [Tablespace ID] [show det ...

  7. Oracle 查看表空间的大小及使用情况sql语句

    --1.查看表空间的名称及大小 )), ) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.t ...

  8. oracle表空间使用率统计查询

    今天发现有一张采样表从1月5号开始不记录数据了,所以想查看一下表空间使用率,在网上零零散散找了很多资料,现在记录如下,也不知道哪一个最准确.还有一个就是网上拷贝的sql代码格式太乱了,不好看,找到一个 ...

  9. Oracle dba_tablespace_usage_metrics 视图 查看表空间 说明

    一.DBA_TABLESPACE_USAGE_METRICS 视图的理论说明   群里一朋友说使用dba_tablespace_usage_metrics 视图查看表空间的结果不正确,如下:     ...

随机推荐

  1. Noip知识点备考

    作为一个oier,适当的整理是有必要的.蒟蒻根据自己的理解,筛选出考noip应当掌握的知识点.可能后期还有解题思路和模板,先挖个坑慢慢补呗. 60级张炳琪Noip知识点总结 可能是本人比较弱,写的内容 ...

  2. jenkins API

    1.curl http://199.168.299.99:8080/job/send_message/lastBuild/api/json --user administrator:1234  获取j ...

  3. linux主机555、644、666、755、777权限详解

    linux主机555.644.666.755.777权限详解 发表时间:2014-06-03 05:07 来源:未知 分类:其它代码 作者:岑溪网站开发 点击:次 linux主机555.644.666 ...

  4. 本地同时安装python2和python3时pip报错

    引言: 安装完成后,想测试一下两个版本的pip是否都可以正常工作,结果python3的能正常工作,但是pip2 --version就会报错,报错信息如下: Traceback (most recent ...

  5. C++官方文档-this

    #include <iostream> using namespace std; class Dummy { public: int x; Dummy() : x() { } ; Dumm ...

  6. SHOW CREATE语句

    show create table tablename 查看某表的建表语句 同理查看存储过程 show create procedure  sp_name

  7. IdUDPServer 收到4次重复的数据

    IdUDPServer1->Send(RemoteIP, LabeledEdit2->Text.ToInt(), InText, IndyTextEncoding_UTF8()); 我发给 ...

  8. Spring MVC 异常处理 - ResponseStatusExceptionResolver

    作用在类和方法上面 更改返回的代码和错误消息 类上 通过throw new UserName***Exception()抛出 @ResponseStatus(value=HttpStatus.FORB ...

  9. mysql查看进程

    select * from information_schema.processlist 查询所有连接到数据库的进程信息.

  10. 修改rabbitmq Web UI 监控页面的端口

    在前几天工作中遇到一个问题,部署服务器,需要用rabbitmq自带的一个web UI监控组件,但是15672的端口没有对外映射.尝试了几种办法.开始修改rabbitmq.config,rabbitmq ...