如何查看表空间容量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看表空间容量相关的知识,希望对你有一定的参考价值。
如何查看表空间容量
打字太费劲了。第一个是db2的日志问题。db2数据库的日志有两种模式,一种是循环日志,一种是归档模式。你的说法有问题,如果是循环日志的话,根据你的数据库里配置的三个参数,主日志文件和辅助日志文件数及日志大小文件,总的日志大小不会超过(总日志文件数与日志大小的乘积),然后是循环使用的,也就是说,如果数据库进行一次事务操作时,先生成第一个主日志文件(受日志文件大小参数)控制,不足时生成第二个主日志文件,当一次事务超过所有的主日志文件时,才会创建辅助日志文件),然后下次覆盖第一个,依次循环,所以循环日志模式,日志文件大小不是无限增大的。只有在归档模式下才会不断产生日志文件,这种模式的好处是数据库可以恢复到任意时点。查看数据库日志的模式时,可以在db2=>命令行下connect to db name 然后 db2=> get db cfg for dbname
会看到有如下几个参数与日志有关系:
启用的恢复的日志保留 (LOGRETAIN) = OFF
启用的日志记录的用户出口 (USEREXIT) = OFF
日志文件大小(4KB) (LOGFILSIZ) = 1024
主日志文件的数目 (LOGPRIMARY) = 13
辅助日志文件的数目 (LOGSECOND) = 4
已更改的至日志文件的路径 (NEWLOGPATH) =
日志文件路径 = D:\DB2\NODE0000\SQL00002\SQLOGDIR\
溢出日志路径 (OVERFLOWLOGPATH) =
镜像日志路径 (MIRRORLOGPATH) =
首个活动日志文件 =
可以看出这里的数据库是运行于循环日志模式,第一个参数是off,如果是on则处于归档模式。下边有日志文件的路径,如果是归档模式,还可以查看到首个活动日志文件,则可以备份归档日志后,删除活动日志以前的归档日志文件。因此你说的按天的日志不知道是什么意思。更改上述参数采用 update db cfg using ....
第二个问题:db2的数据库数据是存储在表里的,表是位于表空间的,表空间对应的表空间容器物理文件存储在文件系统上。随着数据量的增大,分区容量不够时,一种方法是备份数据库,然后使用[重定向]还原数据库,将数据库的表空间容器重定向到一个存储量大的目录或者磁盘上。另一种方法是,直接为该表空间增加新的表空间容器,就可以了。比较简单,在此不在详述。
查看表空间信息时db2=>connect to dbname
db2=>list tablespaces
看到用户定义的表空间的编号,一般是3以后的。
然后
db2=>list tablespace containers for 3
可以查看3号表空间对应的表空间容器信息,一个表空间可以有多个表空间容器,这些表空间容器可以位于不同的磁盘和文件目录上,这样可以解决某个硬盘或者目录容量不足的问题。
给表空间增加容器的方法就不用讲了,直接alter tablespace语句就行了。 参考技术A 直接查看表空间大小,显示的是所有用户使用的容量,(1)以DBA权限登录数据库执行,查询全部表空间使用基本可按照4倍的比例考虑表空间已使用的容量,即
以上是关于如何查看表空间容量的主要内容,如果未能解决你的问题,请参考以下文章