DB2表空间相关详细说明
Posted 奔跑的金鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DB2表空间相关详细说明相关的知识,希望对你有一定的参考价值。
-、创建表空间
1.创建用户表空间
声明:在指定表空间创建路径的时候,需要指定空文件夹,非空文件夹会导致创建报错!!!如果文件夹不存在,那么在创建表空间的时候会自动创建文件夹!
1.1 创建SMS表空间
CREATE TABLESPACE <NAME> MANAGED BY SYSTEM USING (\'<path>\')
例子:db2 "create tablespace tbs1 managed by system using (\'/db2home/db2inst1/db2inst1/NODE0000/QINDB/tb_dm1\')"
1.2 创建DMS表空间
CREATE TABLESPACE <NAME> MANAGED BY DATABASE USING (DEVICE|FILE\'<path>\')
例子:db2 "create tablespace tbs2 managed by database using (FILE \'/db2home/db2inst1/db2inst1/NODE0000/QINDB/tb_dm\' 100M)"
1.2 创建自动存储器表空间
CREATE TABLESPACE <name>
CREATE TABLESPACE <name> MANAGED BY AUTOMATIC STORAGE
2.创建临时表空间
系统临时表空间用来存储分组、排序、连接、重组、创建索引等中间结果。数据库中至少有一个这样的表空间。创建数据库的时候默认表空间之一便是名为TEMPSPACE1的系统临时表空间
CREATE SYSTEM TEMPORARY TABLESPACE <NAME> MANAGED BY DATABASE USING (\'<path1>\',<path2>\')
例子:db2 "CREATE SYSTEM TEMPORARY TABLESPACE tbs_tmp MANAGED BY SYSTEM USING (\'/db2home/db2inst1/db2inst1/NODE0000/QINDB/tmp1\',\'/db2home/db2inst1/db2inst1/NODE0000/QINDB/tmp2\')"
3.创建用户临时表空间
用户临时表空间不是在创建数据库时默认创建的,用户临时表空间通常用来批量插入、批量删除、批量更新以加快速度。
CREATE USER TEMPORARY TABLESPACE tbs1_tmp MANAGED BY DATABASE USING (FILE \'<path1>\' size)
例子:db2 "CREATE USER TEMPORARY TABLESPACE tbs1_tmp MANAGED BY DATABASE USING (FILE \'/db2home/db2inst1/db2inst1/NODE0000/QINDB/tmp3\' 5000)"
上述语句表示:建立一个5000页的用户临时表空间
二、表空间维护
1.查看表空间
db2 list tablespaces --粗略查看表空间
或者
db2 list tablespaces show detail --查看表空间详细
2.查看容器
db2 list tablespace containers for 【容器ID】 show detail
例子:
3.缩小表空间容量
ALTER TABLESPACE <name> REDUCE (FILE \'<path>\' 10M)"
例子:db2 "ALTER TABLESPACE tbs2 REDUCE (FILE \'/db2home/db2inst1/db2inst1/NODE0000/QINDB/tb_dm\' size)"
4.扩大表空间容量
ALTER TABLESPACE <name> RESIZE (FILE \'<path>\' 10M)"
例子:db2 "ALTER TABLESPACE tbs2 RESIZE (FILE \'/db2home/db2inst1/db2inst1/NODE0000/QINDB/tb_dm\' 200M)"
5.添加容器
ALTER TABLESPACE <name> ADD(FILE \'<path>\' size)
例子:db2 "ALTER TABLESPACE tbs2 ADD(FILE \'/db2home/db2inst1/db2inst1/NODE0000/QINDB/tmp1.LRG\' 150M)"
6.删除容器
在上述创建的表空间tbs_tmp中存在两个容器,现在我们删除容器
ALTER TABLESPACE <name> DROP(FILE \'<path>\')
例子:db2 "ALTER TABLESPACE tbs2 DROP(FILE \'/db2home/db2inst1/db2inst1/NODE0000/QINDB/tmp1.LRG\')"
7.更改表空间表名称
RENAME TABLESPACE 原表空间名 to 新表空间名
例子:db2 "rename tablespace tbs2 to tbs2_tmp"
以上是关于DB2表空间相关详细说明的主要内容,如果未能解决你的问题,请参考以下文章
转载Oracle Spatial中SDO_Geometry详细说明
DB2中where子句中用了1=1的话,会不会导致索引失效,请详细说明.
如何把已有的ArcGIS的Shape File空间数据文件,转入到Oracle Spatial中,举例说明详细的工作步骤。