DB2表空间维护

DB2表空间介绍

  1. SMS 系统管理表空间; SMS表空间的容器是文件系统目录或文件,一般是自动扩展的,这种情况下表空间满只需要扩容文件系统即可;
  2. DMS 数据库管理表空间; DMS表空间也有自动扩展类型和使用裸设备的情况,如果是自动扩展的,扩容文件系统,如果是裸设备的,参考【扩展裸设备表空间

表空间创建

表空间查询

  1. 查看自动存储管理表空间路径
db2pd -d testdb -storagepaths

表空间扩容

1. 表空间类型为裸设备

方法一:扩展裸设备lv大小(不会引起rebalance)
  1. 查看表空间id
db2 list tablespaces
  1. 查看表空间所属容器
db2 list tablespace container for <tablespace_id>
  1. 通过HACMP对裸设备lv进行扩容
  2. 扩展表空间
db2 "alter tablespace <tablespace_name> extend (device '/dev/rCRMIDX16K1' 增加的大小值,如50G)"

方法二:增加裸设备数量方法(会引起rebalance)
  1. 查看表空间id
db2 list tablespaces
  1. 查看表空间所属容器
db2 list tablespace container for <tablespace_id>
  1. 通过HACMP增加lv裸设备,注意选择类型为raw,命名CRMIDX16K2,创建完成后,系统会在/dev目录生成rCRMIDX16K2
  2. 主备机更改lv属主为实例用户
    ``` chown crminst:db2inst /dev/rCRMIDX16K2
5. 扩展表空间
``` sql
db2 "alter tablespace <tablespace_name> add (device '/dev/rCRMIDX16K2' 裸设备大小,如100G)"

其它说明:
在增加容器时,可以使用begin new strip set选项,则现有的容器空间用完时使用新增的容器,该选项做数据不会在容器间做rebalance,但会造成数据偏移。语法如下:

db2 "alter tablespace <tablespace_name> begin new stripe set (device '/dev/rCRMIDX16K3' 50G)"

2. 表空间类型为文件系统

Editing is enabled. Use the "Save changes" button below the editor to commit modifications to this file.