表空间管理工具

1. 查看表空间状态

1)使用一条命令即可查看表空间的状态信息,格式化输出 db2 list tablespaces show detail

db2 list tablespaces show detail | while read line  ; do w1=$(echo "$line" | cut -d" " -f1); if [ "$w1" ==  "Tablespace" ];then tabid=$(echo "$line" | cut -d‘=‘ -f2);fi; if [ "$w1" ==  "Name" ];then   name=$(echo "$line" | cut -d‘=‘ -f2); fi; if [ "$w1" ==  "Type" ];then  type=$(echo "$line" | cut -d‘=‘ -f2);type1=$(echo "$type" | awk ‘{print $1}‘); if [ "$type1" == "System" ];then Ttype=‘SMS‘;  else Ttype=‘DMS‘; fi;  fi; if [ "$w1" == "Contents" ];then contents=$(echo "$line" | cut -d‘=‘ -f2); fi; if  [ "$w1" ==  "State" ];then state=$(echo "$line" | cut -d‘=‘ -f2);fi; if [ "$w1" == "Total" ];then   total=$(echo "$line" | cut -d‘=‘ -f2);fi;if [ "$w1" == "Used" ]; then used=$(echo "$line" | cut -d‘=‘ -f2); fi;  if [ "$w1" ==  "Free" ]; then free=$(echo "$line" | cut -d‘=‘ -f2); fi; if [ "$w1" == "Page" ];then page=$(echo "$line" | cut -d‘=‘ -f2); printf "%-25s%-5s%-5s%-5s%-10s%-20s%-20s%-30s\n"  $name $tabid $page $Ttype $state $total $used; fi  done

我们有时候需要查看表空间状态,方式有很多,db2pd, db2 list, 当表空间较多的情况下,往往信息太多,导致不是很方便的查看信息。对于db2pd 方便之处在于不用连接数据库,即可以查询表空间信息,并且对表空间信息进行了较全的输出;db2 list,可以以表空间为单位输出对应表空间的信息;但是这两种方式对于表空间较多的数据库来说用起来很不方便。

查看表空间状态

db2 list tablespaces show detail | while read line  ; do w1=$(echo "$line" | cut -d" " -f1); if [ "$w1" ==  "Tablespace" ];then tabid=$(echo "$line" | cut -d‘=‘ -f2); fi; if [ "$w1" ==  "Name" ];then   name=$(echo "$line" | cut -d‘=‘ -f2);fi; if [ "$w1" ==  "Type" ];then  type=$(echo "$line" | cut -d‘=‘ -f2);type1=$(echo "$type" | awk ‘{print $1}‘); if [ "$type1" == "System" ];then Ttype=‘SMS‘;  else Ttype=‘DMS‘; fi; fi; if  [ "$w1" ==  "State" ];then state=$(echo "$line" | cut -d‘=‘ -f2); printf "%-25s%-10s%-10s%10s\n"  $name $tabid $Ttype $state; fi; done

===DISPLAY:

SYSCATSPACE              0         DMS           0x0000

TEMPSPACE1               1         SMS           0x0000

USERSPACE1               2         DMS           0x0000

SYSTOOLSPACE             3         DMS           0x0000

SYSTOOLSTMPSPACE         4         SMS           0x0000

2)通过视图查看表空间信息

db2 "select  substr(TBSP_NAME,1,20) as TBSPNAME,

TBSP_TYPE,

substr(TBSP_STATE,1,10) as TBSPSTATE ,

substr(TBSP_TOTAL_PAGES,1,10) as TOTAL_PAGES,

substr(TBSP_USABLE_PAGES,1,10) as USABLE_PAGES,

substr(TBSP_USED_PAGES,1,5) as USED_PAGES,

substr(TBSP_FREE_PAGES,1,5) as FREE_PAGES,

substr(TBSP_MAX_SIZE,1,5) as MAX_SIZE,

substr(TBSP_USING_AUTO_STORAGE,1,2) as AUTOStr,

substr(TBSP_AUTO_RESIZE_ENABLED,1,2)  as AUTORes from SYSIBMADM.TBSP_UTILIZATION"

2. 表空间自动扩展设置

1)查看表空间是否为自动扩展

db2 "select substr(TBSP_NAME,1,30) as DMS_tablespace_without_autoresize, TBSP_USING_AUTO_STORAGE, TBSP_AUTO_RESIZE_ENABLED from SYSIBMADM.TBSP_UTILIZATION where TBSP_TYPE=‘DMS‘ and TBSP_AUTO_RESIZE_ENABLED=0"

2)生成修改表空间为自动扩展

db2 -x "select ‘ALTER TABLESPACE ‘|| TBSP_NAME ||‘ AUTORESIZE YES;‘  from SYSIBMADM.TBSP_UTILIZATION where TBSP_TYPE=‘DMS‘ and TBSP_AUTO_RESIZE_ENABLED=0"

step 1: 
db2 -x "select ‘ALTER TABLESPACE ‘|| TBSP_NAME ||‘ AUTORESIZE YES;‘  from SYSIBMADM.TBSP_UTILIZATION where TBSP_TYPE=‘DMS‘ and TBSP_AUTO_RESIZE_ENABLED=0"  | tee changeTBSauto.sql
step 2: 
db2 -tvf changeTBSauto.sql

时间: 2024-10-20 21:55:10

表空间管理工具的相关文章

第15章 oracle undo表空间管理

2015-10-23 目录 参考资料 [1] 林树泽.Oracle 11g R2 DBA操作指南[M].北京:清华大学出版社,2013 [2] Oracle undo 表空间管理 [3] undo表空间概述 [4] Oracle UNDO表空间的管理 [5] Oracle的UNDO表空间管理总结 [6] UNDO表空间的管理 [7] UNDO表空间的管理 [8] 监控和管理Oracle UNDO表空间的使用 [9] 谈谈undo表空间

Oracle 表空间管理

Oracle磁盘管理中的最高逻辑层是表空间,Oracle11g中必须创建的4个表空间是SYSTEM,SYSAUX, TEMP, UNDOTBS1. 2 SYSTEM:存储数据字典等,pl/sql代码等. 2 SYSAUX:存储与数据库选项相关的数据 2 TEMP:用于大的排序操作 2 UNDUTBS1:为读一致性和恢复的目的,存储事务信息. 表空间的下一层是段,一个段只能驻留在一个表空间中:一个或多个区可以组成一个段,每个区只能驻留在一个数据文件中:一组连续的数据块可以组成一个区.如果要查询表空

SYSTEM 表空间管理及备份恢复

标签: systemoraclesqldatabasefile数据库 2010-11-28 18:14 12689人阅读 评论(0) 收藏 举报 分类: -----Oracle备份恢复(16) 版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处. --============================= -- SYSTEM 表空间管理及备份恢复 --============================= SYSTEM表空间是Oracle数据库最重要的一个表空间,存放了一些DDL

ArcSDE for Oracle表空间管理——暂时(TEMP)表空间

Oracle暂时表空间主要用来做查询和存放一些缓冲区数据.暂时表空间消耗的主要原因是须要对查询的中间结果进行排序. 重新启动数据库能够释放暂时表空间,假设不能重新启动实例,而一直保持问题sql语句的运行,temp表空间会一直增长.直到耗尽硬盘空间. 下面操作会占用大量的temporary:    1.用户运行imp/exp 导入导出操作时,会使用大量的temporary段    2.用户在Create 或者 rebuild index时    3.运行create table ...... as

【oracle11g,13】表空间管理2:undo表空间管理(调优) ,闪回原理

一.undo空间原理: dml操作会产生undo数据. update时,sever process 会在databuffer 中找到该记录的buffer块,没有就从datafile中找并读入data buffer.在修改之前,原始数据先放到undo段,并在数据块头记录undo段(acitve 状态)中该数据块的位置,读写这个块时会占用事务槽,会将该事务号记录在数据块的头部.然后在进行update,并将该块放到dirty list检查点队列,等待dbwr进行写操作. 二.创建新的undo表空间替换

达梦数据库表空间管理

表空间 数据库的物理结构:文件系统-数据文件数据库的逻辑结构:数据库-表空间(多个数据文件构成)-段-簇-页(一) 达梦默认有哪些表空间及其作用1.查看表空间[语句]SQL>select tablespace name from dba tablespaces:(1) SYSTEM:系统表空间,存放数据字典信息(2) ROLL:回滚表空间,存放回滚数据,对一个数据进行更新操作,存放的是更新前的版本信息,可以支持MVCC(事务多版本机制)(3) TEMP:临时表空间,存放临时数据,可不做备份(4)

DB2表空间管理的两种方式

下文将为您介绍DB2(DB2认证 DB2培训 ) 的表空间按管理方式,并附上相关问题的实例,供您参考,如果您对DB2表空间按管理方式感兴趣的话,不妨一看,会对您有所帮助. DB2 的表空间按管理方式分为两种:系统管理空间(System Management Space,SMS)和数据库管理空间(Database Management Space,DMS). 按类型分为:规则表空间.长整数表空间.系统临时表空间.用户临时表空间.其中长整数表空间只能是DMS的. 规则表空间中包含用户数据的表.默认用

3、表空间管理

表空间的管理类型: 数据字段管理的表空间(DMT) 本地化管理的表空间(LMT) 查询表空间是否是本地化管理方式,可以使用以下语句: 创建表空间,oracle将完成两个工作,一个在数据字典和控制文件,记录新建表空间的信息:另一个是在操作系统中创建指定大小的操作系统文件. 创建表空间(永久表空间permanent) create tablespace temp001 datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\temp001.DBF' size 100M

MySQL系列:innodb源码分析之表空间管理

innodb在实现表空间(table space)基于文件IO之上构建的一层逻辑存储空间管理,table space采用逻辑分层的结构:space.segment inode.extent和page.在实现层的逻辑使用了磁盘链表这种结构来管理逻辑关系.我们先来介绍磁盘链表. 1.磁盘链表 磁盘链表的实现fut0lst.*文件当中, innodb为了管理表空间和索引模块,定义了一个基于磁盘的链表,主要是用来保存磁盘数据结构之间的关系.这个链表不是基于内存指针的,而是基于page no和boffse