DB2创建数据库

本文详细介绍了DB2创建数据库时如何配置自动存储,包括表空间设置、自动扩展、初始大小、增加大小和最大限制等参数。通过自动存储简化了表空间的日常维护,并对比了手动管理表空间的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--下面的数据库创建语句将为数据库中的所有表空间设置自动存储
create database test
automatic storage on
/bd2/storagepath001,
/bd2/storagepath002,
/bd2/storagepath003
autoresize yes
initialsize 300M
increasesize 75M
maxsize none
[解释]
在 AUTOMATED STORAGE ON 选项后面,给出了三个文件目录(路径)。这三个路径是一个表空间的容器的位置。其他的选项是:
AUTORESIZE YES
当表空间用光空间时,系统将自动地扩展容器的大小。
INITIALSIZE 300 M
没有定义初始大小的任何表空间的大小默认为 300 MB。每个容器是 100 MB(有三个存储路径)。
INCREASESIZE 75 M (或百分数)
当表空间用光空间时,表空间的总空间增加 75 MB。还可以指定一个百分数,在这种情况下,表空间会增长它的当前大小的百分数。
MAXSIZE NONE
表空间的最大大小没有限制。如果 DBA 希望限制一个表空间可以占用的存储空间,那么可以指定一个最大值。
当使用 AUTOMATIC STORAGE 定义表空间时,不需要提供其他参数:
CREATE TABLESPACE TEST MANAGED BY AUTOMATIC STORAGE;

在这个命令中,可以提供与表空间相关联的任何参数;但是,使用自动存储可以大大简化日常的表空间维护。与重要的大型生产表相关联的表空间可能需要 DBA 更多地干预。
在没有启用自动存储的数据库中创建表空间时,必须指定 MANAGED BY SYSTEM 或 MANAGED BY DATABASE 子句。使用这些子句会分别创建 SMS 表空间和 DMS 表空间。在这两种情况下,都必须提供容器的显式列表。
如果数据库启用了自动存储,那么有另一个选择。可以指定 MANAGED BY AUTOMATIC STORAGE 子句,或者完全去掉 MANAGED BY 子句(这意味着自动存储)。在这种情况下,不提供容器定义,因为 DB2 会自动地分配容器。

-- create database example
create database my1stdb
dft_extent_sz 4
catalog tablespace managed by database using
(file 'C:\cat\catalog.dat' 2000,file 'D:\cat\catalog.dat' 2000)
extentsize 8
prefetchsize 16
temporary tablespace managed by system using
(file 'C:\tempts','D:\tempts')
user tablespace managed by database using
(file 'C:\ts\userts.dat' 121)
extentsize 24
prefetchsize 48
[解释]
我们来详细地看看每一行:
CREATE DATABASE:这个语句定义要创建的数据库的名称。
DFT_EXTENT_SZ 4:这个参数告诉 DB2 默认的区段大小是 4 个页面,除非在其他地方显式地声明。
CATALOG TABLEPSACE MANAGED BY DATABASE USING:DB2 编目空间将由数据库管理。
FILE 'C:\....':表空间的位置将跨两个文件,每个文件有 2,000 个页面的空间。
EXTENTSIZE 8:EXTENTSIZE 是 8 个页面。
PREFETCHSIZE 16:在查询处理期间,同时读取 16 个页面。
TEMPORARY TABLESPACE MANAGED BY SYSTEM USING:DB2 使用的临时空间将由操作系统处理。
'C:\TEMPTS' ...:临时空间将跨两个文件,文件的大小在 DB2 执行期间自动地调整。
USER TABLESPACE MANAGED BY DATABASE USING:用户空间(放置真正的表的地方)将由 DB2 直接管理。
FILE 'C:\TS\...':这个空间只有一个容器,它由 121 个页面组成。
EXTENTSIZE 24:USER 表空间的 EXTENTSIZE 是 24 个页面。
PREFETCHSIZE 48:查询将同时预获取 48 个页面。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值