位置:首页 > > DB2存储组

DB2存储组

本章将介绍数据库存储组:

Storage

介绍

一组存储路径用来存储数据库表或对象,是一个存储组。可以将表空间的存储组。当创建一个数据库,所有的表空间采取默认存储组。默认的存储组的数据库“IBMSTOGROUP”。当创建一个新的数据库,默认的存储组是活动的,如果通过“AUTOMATIC STOGROUP NO”参数在“CREATE DATABASE”命令的结束。该数据库不具有任何默认存储组。

存储组列表

可以列出数据库中的所有存储组。

语法:[要查看可用的存储组列表在当前数据库]

db2 select * from syscat.stogroups

例如:[查看可用的存储组列表在当前数据库]

db2 select * from syscat.stogroups

创建一个存储组

下面是在数据库中创建一个存储组的语法:

语法:[要创建一个新的存储组。“stogropu_name”表示新的存储组名字和“path”表示数据(表)的存储位置]

db2 create stogroupon ‘path’

例如:[要创建一个新的存储组“stg1'在data1文件夹]

db2 create stogroup stg1 on ‘/data1’

输出

DB20000I The SQL command completed succesfully 

创建存储组表空间

这里显示如何创建存储组的表空间:

语法:[要使用存在的存储组中创建一个新的表空间]

db2 create tablespace <tablespace_name>  using stogroup <stogroup_name> 

例如:要创建一个名为“ts1”使用已有的存储组“stg1”新表空间]

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’ 

存储组中删除文件夹路径

删除存储组的文件夹路径,可以通过使用alter命令存储组添加新的位置。

语法:[要删除的存储组位置旧路径]

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>    

例如:从一个旧存储组改为名为“sg2”表空间“ts1”的新存储组]

db2 alter tablespace ts1 using stogroup sg2   

第1步:

语法:[ 删除现有存储组 ]

db2 drop stogorup <stogroup_name>   

例如:[从数据库中删除存储组“stg1”]

db2 drop stogroup stg1