达梦DM-表空间管理

1.表空间概述

在D数据库中,表空间是一种逻辑存储结构,数据库的对象如表、索引等在逻辑上都是存储在指定的表空间中。数据库在初始化的时候,系统会自动创建5个默认表空间,SYSTEM,MAIN,ROLL,TEMP和HMAIN表空间。
其中SYSTEM表空间是系统表空间,存储有数据字典信息,用户数据不能存放在该表空间上。ROLL,TEMP和HMAIN表空间,由系统自动维护,不需要用户干预。初始的MAIN表空间为用户默认表空间。表空间只是一种逻辑结构,对应的物理存储结构为数据文件。也即是,用户的数据是存储在表空间对应的数据文件上面。DM7数据库中,物理存储结构的数据文件后缀为DBF。
系统提供v$tablespace, v$datafile,v$dba_data_file视图查询表空间和数据文件。

SQL> select ID,NAME,STATUS$ from  V$TABLESPACE;

行号     ID          NAME   STATUS$    
---------- ----------- ------ -----------
1          0           SYSTEM 0
2          1           ROLL   0
3          3           TEMP   0
4          4           MAIN   0

已用时间: 0.372(毫秒). 执行号:6.
SQL> select GROUP_ID,PATH,CLIENT_PATH,STATUS$ from V$DATAFILE;

行号     GROUP_ID    PATH                                          CLIENT_PATH STATUS$    
---------- ----------- --------------------------------------------- ----------- -----------
1          0           /home/dmdba/opt/dmdbms/data/DAMENG/SYSTEM.DBF SYSTEM.DBF  1
2          1           /home/dmdba/opt/dmdbms/data/DAMENG/ROLL.DBF   ROLL.DBF    1
3          3           /home/dmdba/opt/dmdbms/data/DAMENG/TEMP.DBF   TEMP.DBF    1
4          4           /home/dmdba/opt/dmdbms/data/DAMENG/MAIN.DBF   MAIN.DBF    1

已用时间: 0.584(毫秒). 执行号:9.
SQL> select FILE_NAME,FILE_ID,TABLESPACE_NAME  from dba_data_files;

行号     FILE_NAME                                     FILE_ID     TABLESPACE_NAME
---------- --------------------------------------------- ----------- ---------------
1          /home/dmdba/opt/dmdbms/data/DAMENG/SYSTEM.DBF 0           SYSTEM
2          /home/dmdba/opt/dmdbms/data/DAMENG/test2.dbf  1           TEST1
3          /home/dmdba/opt/dmdbms/data/DAMENG/test1.dbf  0           TEST1
4          /home/dmdba/opt/dmdbms/data/DAMENG/MAIN.DBF   0           MAIN
5          /home/dmdba/opt/dmdbms/data/DAMENG/TEMP.DBF   0           TEMP
6          /home/dmdba/opt/dmdbms/data/DAMENG/ROLL.DBF   0           ROLL

6 rows got

已用时间: 2.821(毫秒). 执行号:27.

2.表空间管理

2.1 表空间创建

  • 最简洁表空间创建
SQL> create tablespace test1 datafile '/home/dmdba/opt/dmdbms/data/DAMENG/test1.dbf' size 50;
操作已执行
已用时间: 18.871(毫秒). 执行号:13.

注释:创建表空间语句,自动指定自动扩展,扩展最大大小,数据页的缓冲池名称。

  • 指定非自动扩展
SQL> create tablespace test1 datafile '/home/dmdba/opt/dmdbms/data/DAMENG/test1.dbf' size 50 autoextend off;
操作已执行
已用时间: 20.360(毫秒). 执行号:15.

注释:autoextend off 关闭自动扩展。

  • **指定自动扩展最大值 **

初始大小50M, 最大100M

SQL> create tablespace test1 datafile '/home/dmdba/opt/dmdbms/data/DAMENG/test1.dbf' size 50 autoextend on maxsize 100;
操作已执行
已用时间: 26.288(毫秒). 执行号:17.
  • 指定表空间多个文件组成

初始大小50M, 表空间由2个数据文件组成,每次扩展5M, 每个数据文件最大100M。

SQL> create tablespace test1 datafile '/home/dmdba/opt/dmdbms/data/DAMENG/test1_01.dbf' size 50 autoextend on next 5 maxsize 100,'/home/dmdba/opt/dmdbms/data/DAMENG/test1_02.dbf' size 50 autoextend on next 5 maxsize 100;
操作已执行
已用时间: 18.760(毫秒). 执行号:19.

注释:不同的数据文件可指定新增不同的位置或者磁盘进行设置。

2.2 表空间扩展

  • 新增数据文件方式
SQL> alter tablespace test1 add datafile '/home/dmdba/opt/dmdbms/data/DAMENG/test2.dbf' size 50 ;
操作已执行
已用时间: 7.712(毫秒). 执行号:24.
  • resize原先数据文件大小
SQL> alter tablespace test1 resize datafile '/home/dmdba/opt/dmdbms/data/DAMENG/test1.dbf' to 100 ;
操作已执行
已用时间: 11.189(毫秒). 执行号:25.

2.3 表空间位置更改

表空间进行脱机更改数据文件位置。

  • 脱机处理
SQL> alter tablespace test1 offline;
操作已执行
已用时间: 14.024(毫秒). 执行号:32.
SQL> alter tablespace test1 online;
操作已执行
已用时间: 99.821(毫秒). 执行号:28.
  • 更改文件位置
SQL> alter tablespace test1 rename datafile '/home/dmdba/opt/dmdbms/data/DAMENG/test1.dbf' to '/home/dmdba/opt/dmdbms/data/test1.dbf';
操作已执行
已用时间: 945.291(毫秒). 执行号:31.
  • 恢复在线
SQL> alter tablespace test1 online;
操作已执行
已用时间: 14.024(毫秒). 执行号:32.

2.4 表空间删除

删除表空间时,改表空间上必须没有数据库对象,否则会删除失败

SQL> drop tablespace test1;
操作已执行
已用时间: 107.000(毫秒). 执行号:33.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值