db2 存储组——迹忆客-ag捕鱼王app官网
本章介绍数据库存储组。
简介
一组存储数据库表或对象的存储路径,是一个存储组。我们可以将表空间分配给存储组。 当你创建一个数据库时,所有的表空间都采用默认的 storagegorup。 数据库的默认存储组是“ibmstogroup”。 创建新数据库时,如果在 create database
命令末尾传递 automatic stogroup no
参数,则默认存储组处于活动状态。 数据库没有任何默认存储组。
列出存储组
我们可以列出数据库中的所有存储组。
语法
查看当前数据库中可用存储组的列表
db2 select * from syscat.stogroups
示例
查看当前数据库中可用存储组的列表
db2 select * from syscat.stogroups
创建存储组
以下是在数据库中创建存储组的语法:
语法
创建一个新的存储组。 ‘stogropu_name’ 表示新存储组的名称,‘path’ 表示存储数据(表)的位置
db2 create stogroup on ‘path’
示例
在路径“data1”文件夹上创建一个新的存储组“stg1”
db2 create stogroup stg1 on ‘/data1’
输出
db20000i the sql command completed succesfully
使用 stogroup 创建表空间
以下是如何使用存储组创建表空间:
语法
使用现有存储组创建新表空间
db2 create tablespace using stogroup
示例
使用现有存储组“stg1”创建名为“ts1”的新表空间
db2 create tablespace ts1 using stogroup stg1
输出
db20000i the sql command completed succesfully
更改存储组
我们可以使用以下语法更改存储组的位置:
语法
将存储组从旧位置移动到新位置
db2 alter stogroup add ‘location’, ‘location’
示例
为名为“sg1”的存储组修改从旧位置到新位置的位置路径
db2 alter stogroup sg1 add ‘/path/data3’, ‘/path/data4’
删除存储组的文件夹路径
在删除存储组的文件夹路径之前,我们可以使用 alter
命令为存储组添加新位置。
语法
从存储组位置删除旧路径
db2 alter stogroup drop ‘/path’
示例
从“stg1”删除存储组位置
db2 alter stogroup stg1 drop ‘/path/data1’
重新平衡表空间
当我们为 storagegroup
或表空间创建新文件夹时,当在数据库上进行事务并且表空间已满时,需要重新平衡表空间。 重新平衡使用新的存储组更新数据库配置文件。
语法
将表空间从旧存储组路径重新平衡到新存储组
db2 alter tablspace rebalance
示例
重新平衡
db2 alter tablespace ts1 rebalance
重命名存储组
语法
修改现有存储名称的名称
db2 rename stogroup to
示例
将存储组名称从“sg1”修改为新名称“sgroup1”
db2 rename stogroup sg1 to sgroup1
删除存储组
第一步:在删除任何存储组之前,我们可以为表空间分配一些不同的存储组。
语法
为表空间分配另一个存储组。
db2 alter tablspace using stogroup
示例
为表空间“ts1”从一个旧存储组更改为名为“sg2”的新存储组
db2 alter tablespace ts1 using stogroup sg2
第二步
语法
删除现有的 stogroup
db2 drop stogorup
示例
从数据库中删除 stogroup ‘stg1’
db2 drop stogroup stg1