- DB2 教程
- 首页
- DB2 - 简介
- DB2 - 服务器安装
- DB2 - 实例
- DB2 - 数据库
- DB2 - 缓冲池
- DB2 - 表空间
- DB2 - 存储组
- DB2 - 模式
- DB2 - 数据类型
- DB2 - 表
- DB2 - 别名
- DB2 - 约束
- DB2 - 索引
- DB2 - 触发器
- DB2 - 序列
- DB2 - 视图
- DB2 与 XML
- DB2 - 备份和恢复
- DB2 - 数据库安全
- DB2 - 角色
- DB2 - LDAP
- DB2 有用资源
- DB2 - 问答
- DB2 - 快速指南
- DB2 - 有用资源
- DB2 - 讨论
DB2 - 存储组
本章介绍数据库存储组。
介绍
存储数据库表或对象的一组存储路径称为存储组。您可以将表空间分配给存储组。创建数据库时,所有表空间都采用默认存储组。数据库的默认存储组为“IBMSTOGROUP”。创建新数据库时,如果在“CREATE DATABASE”命令末尾传递“AUTOMATIC STOGROUP NO”参数,则默认存储组处于活动状态。否则,数据库没有任何默认存储组。
列出存储组
您可以列出数据库中的所有存储组。
语法:[查看当前数据库中可用存储组的列表]
db2 select * from syscat.stogroups
示例:[查看当前数据库中可用存储组的列表]
db2 select * from syscat.stogroups
创建存储组
以下是在数据库中创建存储组的语法。
语法:[创建新的存储组。“stogropu_name”表示新存储组的名称,“path”表示存储数据(表)的位置]
db2 create stogroupon ‘path’
示例:[在“data1”文件夹路径上创建新的存储组“stg1”]
db2 create stogroup stg1 on ‘/data1’
输出
DB20000I The SQL command completed succesfully
使用存储组创建表空间
以下是如何使用存储组创建表空间。
语法:[使用现有存储组创建新表空间]
db2 create tablespace <tablespace_name> using stogroup <stogroup_name>
示例:[使用现有存储组“stg1”创建名为“ts1”的新表空间]
db2 create tablespace ts1 using stogroup stg1
输出
DB20000I The SQL command completed succesfully
更改存储组
您可以使用以下语法更改存储组的位置。
语法:[将存储组从旧位置移动到新位置]
db2 alter stogroupadd ‘location’, ‘location’
示例:[将名为“sg1”的存储组的路径从旧位置修改为新位置]
db2 alter stogroup sg1 add ‘/path/data3’, ‘/path/data4’
删除存储组的文件夹路径
在删除存储组的文件夹路径之前,您可以使用更改命令为存储组添加新位置。
语法:[从存储组位置删除旧路径]
db2 alter stogroupdrop ‘/path’
示例:[从“stg1”删除存储组位置]
db2 alter stogroup stg1 drop ‘/path/data1’
重新平衡表空间
当我们为存储组或表空间创建新文件夹时,需要重新平衡表空间,同时在数据库上进行事务处理并且表空间已满。重新平衡会使用新的存储组更新数据库配置文件。
语法:[将表空间从旧存储组路径重新平衡到新的存储组]
db2 alter tablspace <ts_name> rebalance
示例:[重新平衡]
db2 alter tablespace ts1 rebalance
重命名存储组
语法:[修改现有存储组名称]
db2 rename stogroup <old_stg_name> to <new_stg_name>
示例:[将存储组名称从“sg1”修改为新名称“sgroup1”]
db2 rename stogroup sg1 to sgroup1
删除存储组
步骤 1:在删除任何存储组之前,您可以为表空间分配一些不同的存储组。
语法:[为表空间分配另一个存储组。]
db2 alter tablspace <ts_name> using stogroup <another sto_group_name>
示例:[将表空间“ts1”从一个旧存储组更改为名为“sg2”的新存储组]
db2 alter tablespace ts1 using stogroup sg2
步骤 2
语法:[删除现有的存储组]
db2 drop stogorup <stogroup_name>
示例:[从数据库中删除存储组“stg1”]
db2 drop stogroup stg1