db2建立表空间 linux,DB2实验教程:创建数据库/表空间

实验任务:

A.建立数据库;

B. 建立表空间;

C. 执行脚本文件来建立多个表空间;

D.访问那些包含表空间信息的SYSCAT视图;

E. 列出表空间相关信息;

F. 列出容器相关信息。

一. 创建数据库

1.查看create database指令语法

创建数据库可以通过DB2命令create database来完成。通过在线帮助工具可以查看create database指令语法。

(1)选择菜单“工具”à“命令中心”,或相应的图标来启动“命令中心”;

(2)在“命令中心”中选择“交互式”标签页,并且在“命令”下的文本框中输入“create database”;

(3)选择菜单“交互式—>执行”(或ctrl+enter,或点击左上角工具栏的齿轮图标)。

(4)从Create database命令语法可以看出,该命令可以指定:数据库名﹑数据库位置(控制文件﹑设定文件﹑事务日志文件以及默认的表格空间要建立在什么位置)﹑数据库别名﹑国别区码﹑排序集﹑默认数据块大小,该语句也可为编目表空间﹑临时表空间﹑用户表空间指定特定值。

此外,也可以通过“创建数据库向导”来创建一个新数据(本实验采用该方法)。

2.通过“创建数据库向导”创建数据库。

(1)在“控制中心”中,右键单击inst1下的“数据库”,在弹出菜单中选择“创建—>使用向导创建数据库”;

(2)在向导的“名称”页面中,数据库名一栏输入MUSICDB,其它值均按默认设置,点击“下一步”按钮;

(3)分别选择向导左边的“用户表”﹑“目录表”﹑“临时表”标签页,并点击相应页面的“下一步”按钮完成相关设置。“用户表”﹑“目录表”﹑“临时表”默认使用的表空间类型为SMS,即各页面中的“低维护-自动增加(系统管理的表空间)(L)”选项。

(4)在向导的“性能”页面中,因为MUSICDB的表空间均按照系统缺省设置,所以此时不能修改数据块大小或者预取大小。(如果为用户表﹑目录表﹑临时表设置了特定的容器,则可以通过“性能”页面设置数据块或预取大小)。点击“下一步”按钮开始数据库“区域”的设置。

(5)向导的“区域”页面可以设置数据库的语言环境和整理顺序,系统已自动设置完成这些选项,直接点击“下一步”按钮。

(6)在向导“总结”页面中,会显示前几步所设的创建数据库的参数。点击“显示命令”按钮即可查看创建该数据库的全部命令。单击“上一步”则回到前面步骤修改创建参数。点击“总结”页面的“完成”按钮,则生成数据库。

等待一小段时间,系统就会弹出“DB2消息”窗口提示数据库已经创建完毕,并且询问是否启动“配置顾问程序”来调整数据库。点击“否”按钮关闭该窗口。这时,所创建的MUSIC数据库会出现在控制中心对象树中“数据库”节点下。

3.查看数据库信息。

系统数据库目录包含了当前实例下所有数据库的条目信息,可以在“命令中心”输入命令“list db directory”来查看系统数据库目录中MUSICDB的信息。

(1)数据库建立时如果未设置别名,系统会自动为它设置一个与数据库名相同的别名。MUSICDB的别名为MUSICDB。

(2)目录条目类型的“间接”是指该数据库为本地数据库(运行在同一主机),而“远程”是指数据库运行在另一个远程系统中。本实验中MUSICDB的目录条目类型为“间接”。

4.查看数据库的连接状态。

(1)在“命令中心”输入如下命令来检查现在的连接状态:get connection state

执行该命令后,输出窗口显示连接状态为“可连接而未连接”。

(2)输入如下命令连接到MUSICDB:

connect to MUSICDB

(3)再次输入命令“get connection state”检查连接状态,输出窗口显示连接状态为“可连接并已连接”,并列出相应的“SQL授权标识”及“本地数据库别名”等信息。

5.修改数据库配置文件

每一个数据库都有它自己的数据库配置文件,该文件包含了该数据库的相关信息和配置参数。要查看MUSICDB数据库配置文件,可在控制中心的对象树中右键单击“MUSICDB”,并在弹出菜单中选择“配置参数”。借助弹出的“数据库配置?—?MUSICDB”窗口,可以看查或更改相应的参数值。

(1)在“命令中心”中输入命令“update db cfg for MUSICDB using maxlocks 20 num_freqvalues 12”,该命令将每个应用程序的最大锁列表的百分比设为20,并指定当RUNSTAS命令上指定了With Distribution 选项时,将收集的最高频出现的值的数目设为12。

(2)查看MAXLOCKS和NUM_FREQVALUES的当前值与延迟值是否相同。

connect to MUSICDB

get db cfg for MUSICDB show detail

通过输出窗口可见这两个参数的当前值和延迟值是一致的。

6.查看表空间及表空间容器等信息

(1)数据库创建时,三个表空间也同时被创建,在命令中心中输入命令list tablespaces,可查看这些表空间的相关信息。结果如下:

SYSCATSPACE——ID 0

TEMPSPACE1——ID 1

USERSPACE1——ID 2

(2)表空间容器信息可以通过命令list tablespace containers获取。

要查看MUSICDB中标识为0的表空间容器信息,可输入命令:list tablespace containers for 0。该容器类型为路径/目录,此目录为X:inst1NODE0000SQL00001SQLT0000.0。

(3)要查看临时表空间(ID=1)和默认用户表空间(ID=2)的容器信息,可用下列语句实现:

list tablespace containers for 1

list tablespace containers for 2

临时表空间的默认路径为X:inst1NODE0000SQL00001SQLT0001.0

用户表空间的默认路径为X:inst1NODE0000SQL00001SQLT0002.0

7.查看系统目录表和视图

在命令中心中输入命令list tables for system列出系统目录表和视图,这些表和视图存储在SYSCATSPACE表空间中。

SYSCAT模式拥有所有建立在系统目录表上的视图,可通过该模式的这些视图来访问系统目录表。例如在命令中心中输入如下命令查看所有模式为“SYSIBM”(即系统目录表)的表名和表标识号:

select tabname, tableid from syscat.tables where tabschema='SYSIBM' and type='T'

二. 建立表空间

数据库MUSICDB需要额外的几个表空间,本节先通过“控制中心”来创建其中一个表空间。其余表空间通过的脚本命令文件来创建。

1.通过向导建立表空间dms01

(1)在控制中心的左边的对象树上,右键单击数据库“MUSICDB”下的“表空间”,在弹出菜单中选择“创建”;

(2)在“创建表空间向导”的第一页中,指定新表空间的名称为dms01,并点击“下一步”;

(3)在向导的“类型”页面,选择表空间的类型为常规,并点击“下一步”;

(4)在“空间管理”页面,选择该表空间为“数据库管理表空间”,并在下一步的“容器”页面中,点击“添加”按钮,弹出“定义容器”窗口。

(5)选择容器大小的计算单位为4KB页,并在大小一栏输入160,选择驱动器为X:在容器一栏输入dmsdms01,然后点击“确定”按钮。继续点击“下一步”按钮;

(6)在向导的“读/写”页面,将数据块大小设置为4 个4KB页面;

(7)设置完该表空间的所有性质后,单击“总结”页面的“显示SQL”按钮查看刚才所作的设定,SQL语句应为:CREATE REGULAR TABLESPACE DMS01 PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE 'X:dms01' 106 ) EXTENTSIZE 4 OVERHEAD 10.5 PREFETCHSIZE 4 TRANSFERRATE 0.33 BUFFERPOOL "IBMDEFAULTBP" DROPPED TABLE RECOVERY OFF,点击“关闭”按钮关闭“显示SQL”窗口;

(8)点击向导的完成按钮。

在命令中心中输入命令list tablespaces show detail检查新创建的表空间。(应先执行connect to MUSICDB)

2.执行脚本命令文件来创建其它表空间。

(1)在加载并执行脚本之前,首先要检查命令中心的选项和工具设置,并完成下面设置:

在命令中心中,选择“命令中心—>选项”菜单,选择“命令中心选项”窗口的“执行”标签页,确保“自动落实SQL语句”和“若发生错误则停止执行”两选项都被选中,选择“结果”标签页,确保“详细(将命令文本回送执输出)”选项被选中,然后点击“确定”按钮。

选择“工具—>工具设置”菜单,选择“工具设置”窗口的“一般”标签页,确保该页面的“使用语句终止符;”选项被选中。关闭“工具设置”窗口。

(2)通过执行脚本文件CRTBLSP创建其余表空间。

在命令中心中,选择“脚本”标签页,选择菜单“脚本—>导入”;

确保“导入”窗口中的系统名一栏与Windows系统名一致。选择目录和文件列表框找到CRTBLSP脚本,单击“确定”按钮。该脚本将创建dms02,dms03,dms04,dms05,dms06和sms01六个表空间,执行该脚本。

3.查看表空间信息。

(1)在控制中心对象树中右键单击MUSICDB下的表空间,并在弹出菜单中选择“刷新”。在控制中心里并不能查看到表空间的标识号,但可通过在命令中心中输入list tablespace看到。

表空间及其关联的标识号如下:

SYSCATSPACE—ID 0

TEMPSPACE1—ID 1

USERSPACE1—ID 2

DMS01—ID 3

DMS02—ID 4

DMS03—ID 5

DMS04—ID 6

DMS05—ID 7

DMS06—ID 8

SMS01—ID 9

在命令中心中输入命令:list tablespaces show detail,查看表空间的详细信息。

(2)SMS表空间并不使用预先格式好的容器,因此SMS的目录容器所在的文件系统中可用空间的变动会直接影响到SMS表格空间的容量,而DMS表空间则要设置预留空间的大小。

查看标识号为3的表空间的容器的详细信息:

list tablespace containers for 3 show detail

容器类型为文件,且该文件为X:dmsdms01。

查看标识号为9的表空间的容器的详细信息:

list tablespace containers for 9 show detail

容器类型为路径/目录,且路径为x:smssms01和x:smssms02

(3)表空间的信息也可通过视图SYSCAT.TABLESPACES来访问,该视图中包含表空间信息的列有:

TBSPACE-表空间名

DEFINER-表空间创建者的用户名

TBSPACEID-表空间的内部标识号

TBSPACETYPE-表空间类型,D代表DMS,S代表SMS

DATATYPE-表空间可存储的数据的类型。L代表只能存储大对象数据对象,A代表所有永久对象,T代表只能存储临时表。

在命令中心中输入下列SQL语句,可实现上述信息的查询:

select tbspace, definer, tbspaceid, tbspacetype, datatype from syscat.tablespaces

(4)特定的表所相关的表空间信息可以通过SYSCAT.TABLES视图来访问,该视图中包含表空间信息的列有:

TBSPACEID-该表所在的主表空间内部标识号;

TBSPACE-该表所在的主表空间名称;

INDEX_TBSPACE-包含该表索引的表空间;

LONG_TBSPACE-包含该表大对象数据的表空间。

为列出表SYSIBM.SYSTABLES所在表空间的信息,可在命令中心输入如下SQL语句:

select tabname, tbspaceid, tbspace, index_tbspace, long_tbspace

from syscat.tables

where tabname=’SYSTABLES’

在命令中心中输入命令connect reset断开与MUSICDB的连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值