购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 表空间管理

创建表空间的过程就是在磁盘上创建一个或多个数据文件的过程。这些数据文件被达梦数据库管理系统控制和使用,所占的磁盘存储空间归数据库使用。表空间用于存储表、视图、索引等内容,可以占据固定的磁盘空间,也可以随着存储数据量的增加而不断扩展。

2.1.1 创建表空间

1.用DM管理工具创建表空间

达梦数据库提供图形化管理工具对表空间进行管理活动,本节直接通过例子介绍使用DM管理工具创建表空间的方法。

例2-1 】创建一个名为EXAMPLE2的表空间,包含一个数据文件EXAMPLE2.DBF,初始大小为128MB。

步骤1:启动DM管理工具,并使用具有DBA角色的用户登录数据库,如使用SYSDBA用户,如图2-1所示。由于达梦数据库严格区分大小写,在输入口令时注意大小写。同时,在后续操作中也需要注意大小写问题。

图2-1 登录DM管理工具

步骤2:登录DM管理工具后,右键单击对象导航页面的“表空间”节点,在弹出的快捷菜单中单击“新建表空间”选项,如图2-2所示。

图2-2 “新建表空间”选项

步骤3:在弹出的如图2-3所示的“新建表空间”对话框中,在“表空间名”文本框中设置表空间的名称为EXAMPLE2,请注意大小写。对话框中的参数说明如表2-1所示。

图2-3 “新建表空间”对话框

表2-1 DM管理工具新建表空间参数说明

步骤4:在图2-3中单击“添加”按钮,在表格中自动添加一行记录,数据文件大小默认为32MB,修改为128MB,在文件路径单元格中输入或选择“/dm8/data/DAMENG/EXAMPLE2.DBF”文件,其他参数不变,结果如图2-4所示。

步骤5:参数设置完成后,可单击“新建表空间”对话框左侧的DDL选择项,观察新建表空间对应的语句,如图2-5所示。单击“确定”按钮,完成EXAMPLE2表空间的创建。可在DM管理工具左侧对象导航页面的“表空间”节点下,观察到新建的EXAMPLE2表空间。

图2-4 新建EXAMPLE2表空间

图2-5 新建EXAMPLE2表空间对应的DDL语句

2.用SQL语句创建表空间

1)语法格式

创建表空间的SQL命令格式如下:

其中,各子句具体语法如下:

在创建表空间时必须指定表空间的名称和表空间使用的数据文件,当一个表空间中有多个数据文件时,在数据文件子句中依次列出。数据页缓冲池子句是可选项,默认值为“NORMAL”;存储加密子句是可选项,默认不加密。语法格式中的部分参数的详细说明如表2-2所示。

表2-2 新建表空间SQL语句部分参数说明

2)应用举例

例2-2 】使用SQL语句创建表空间。

(1)创建一个名为EXAMPLE的表空间,包含一个数据文件EXAMPLE.DBF,初始大小为128MB。

注:在SQL命令中,文件大小的单位默认为MB,在命令中只写数据文件大小的阿拉伯数字即可。

(2)创建一个名称为TS1的表空间,包含两个数据文件,其中,TS101.DBF文件的初始大小为128MB,可自动扩展,每次扩展4MB,最大扩展至1024MB;TS102.DBF文件的初始大小为256MB,不能自动扩展。

创建TS1表空间的SQL语句如下。

查询TS1表空间的SQL语句如下。

查询结果如下。

这个例子说明,一个逻辑意义上的表空间可以包含磁盘上的多个物理数据文件。

(3)创建一个名称为TS2的表空间,包含一个数据文件TS201.DBF,其初始大小为512MB。

这个例子说明,在创建表空间的命令中,除一些必要的参数外,其他参数都可以省略,采用默认值。

3.创建表空间注意事项

(1)创建表空间的用户必须具有创建表空间的权限,一般登录具有DBA权限的用户账户进行创建、修改、删除等表空间管理活动。

(2)表空间名在服务器中必须唯一。

(3)一个表空间最多可以拥有256个数据文件。

2.1.2 修改表空间

随着数据库的数据量不断增加,原来创建的表空间可能不能满足数据存储的需要,应适当对表空间进行修改,增加数据文件或者扩展数据文件的大小。对表空间的修改可以通过应用SQL命令和DM管理工具来完成。

1.用DM管理工具修改表空间

达梦数据库提供图形化管理工具对表空间进行管理活动,本节直接通过例子介绍用DM管理工具修改表空间的方法。

例2-3 】将EXAMPLE2表空间名改为EXAMPLE1,并为该表空间增加一个名为EXAMPLE1.DBF的数据文件,将该文件的初始大小修改为768MB,并设置为不能自动扩展。

步骤1:在DM管理工具中,右键单击“表空间”节点下的“EXAMPLE2”节点,弹出如图2-6所示的用于重命名表空间的菜单。

图2-6 用于重命名表空间的菜单

步骤2:在图2-6中,单击“重命名”选项,弹出如图2-7所示的“重命名”对话框。在对话框中,设置名称为EXAMPLE1,然后单击“确定”按钮,完成表空间的重命名。

图2-7 “重命名”对话框

步骤3:再次进入如图2-6所示界面,单击“修改”菜单,进入如图2-8所示的“修改表空间”对话框。

图2-8 “修改表空间”对话框

步骤4:在图2-8中,单击“添加”按钮,添加一行数据文件记录,按照如图2-9所示设置文件路径、文件大小、自动扩展等参数,并单击“确定”按钮完成数据文件的添加。

图2-9 为表空间添加数据文件

2.用SQL语句修改表空间

1)语法格式

修改表空间的SQL命令格式如下。

其中,部分子句说明如下:

通过这条SQL命令,可以设置表空间脱机或联机,可以修改表空间的名称,可以修改数据文件的名称,可以增加数据文件,可以修改数据文件的大小,还可以修改数据文件的自动扩展特性等。

2)应用举例

例2-4 】使用SQL语句修改表空间。

(1)给TS1表空间增加数据文件TS103.DBF,大小为128MB。

(2)修改TS1表空间数据文件TS103.DBF的大小为256MB。

(3)重命名数据文件TS103.DBF为TS102.DBF。

在重命名数据文件时,必须先将数据文件设置为离线状态,然后才能重命名文件。

①设置数据文件离线。

②修改数据文件名。

③设置数据文件在线。

(4)修改数据文件TS102.DBF为自动扩展,每次扩展4MB,最大可扩展至1024MB。

(5)将TS1表空间重命名为TS_1。

(6)修改TS_1表空间缓冲池名称为KEEP。

注意:KEEP要大写并加上双引号。

3.修改表空间注意事项

(1)修改表空间的用户必须具有修改表空间的权限,一般登录具有DBA权限的用户账户进行创建、修改、删除等表空间管理活动。

(2)在修改表空间数据文件大小时,修改后的文件大小必须大于原文件的大小。

(3)如果表空间有未提交事务,则表空间不能修改为OFFLINE状态。

(4)在重命名表空间数据文件时,表空间必须处于OFFLINE状态,在表空间修改成功后再将表空间修改为ONLINE状态。

2.1.3 删除表空间

虽然在实际工作中很少进行删除表空间的操作,但是掌握删除表空间的方法还是很有必要的。由于表空间中存储了表、视图、索引等数据对象,因此删除表空间必然会带来数据损失,达梦数据库对删除表空间有严格限制。

1.用DM管理工具删除表空间

本节直接通过例子介绍用DM管理工具删除表空间的方法。

例2-5 】删除表空间EXAMPLE1。

步骤1:登录DM管理工具,右键单击“表空间”节点下的“EXAMPLE1”节点,弹出如图2-6所示的菜单。

步骤2:在弹出的快捷菜单中单击“删除”按钮,进入删除表空间主界面,如图2-10所示。

图2-10 删除表空间主界面

步骤3:在图2-10中列出了被删除表空间的对象名、对象类型、所属模式、状态、消息等内容。EXAMPLE1处于等待删除的状态,“取消”按钮表示不删除,“确定”按钮表示删除。单击“确定”按钮后,完成EXAMPLE1表空间及其数据文件的删除。

2.用SQL语句删除表空间

1)语法格式

删除表空间的SQL命令格式如下:

2)应用举例

例2-6 】使用SQL语句删除表空间。

(1)删除表空间TS2。

(2)试图删除TEMP表空间。

该命令的执行结果是:

这个例子说明删除表空间是有限制的,数据库在安装过程中创建的表空间SYSTEM、TEMP等不允许被删除;如果表空间中已经存在数据对象,则该表空间也不允许被删除。

3.删除表空间注意事项

(1)SYSTEM、RLOG、ROLL和TEMP等表空间不允许被删除。

(2)删除表空间的用户必须具有删除表空间的权限,一般登录具有DBA权限的用户账户进行创建、修改、删除等表空间管理活动。

(3)系统在处于SUSPEND或MOUNT状态时不允许删除表空间,系统只有在处于OPEN状态下才允许删除表空间。

(4)如果表空间中存放了数据对象,则不允许删除表空间;如果确实要删除表空间,则必须先删除表空间中的数据对象。 jkoyEBU4fyyO3FaCuntgQQPNbts6Jxn/kxVAef2Hru9D0pU7g5z5gVNOObk122F4

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开