您的位置:首页 > 数据库

DB2创建数据库

2013-09-05 09:42 148 查看
--下面的数据库创建语句将为数据库中的所有表空间设置自动存储
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 个页面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: