博客
关于我
DM达梦数据库表空间管理
阅读量:553 次
发布时间:2019-03-09

本文共 2131 字,大约阅读时间需要 7 分钟。

1、DM表空间介绍

达梦数据库的系统表空间有哪些?

select tablespace_name from dba_tablespaces;select name from v$tablespace;
SQL> select name from v$tablespace;LINEID     NAME  ---------- ------1          SYSTEM2          ROLL3          TEMP4          MAIN
  • System表空间:数据字典和全局的系统数据。

  • ROLL:存放了数据库运行过程中产生的回滚记录。

    UNDO_RETENTION: 单位是秒。

    Sp_set_para_double_value(2,’UNDO_RETENTION’,2400)

  • TEMP:临时表空间, 临时段,临时表默认都存放在临时表空间上。

  • MAIN: 数据库默认的表空间,创建数据对象时,如果不指定存储位置,默认存放到该表空间。

  • HMAIN: huge 表空间

2、表空间规划及相关案例

案例1:创建表空间

SQL> create tablespace tbs1 datafile '/dm7/data/DAMENG/tbs1_01.dbf' size 31;

用上述语句创建表空间会报错,如:

在这里插入图片描述
因为添加的数据文件大小最小为 4096页大小,如页大小为 8K,则可添加的文件最小值为 40968k=32M
所以应该改成:
在这里插入图片描述

案例2:创建一个表空间,初始大小50M,最大100M

SQL> create tablespace tbs2 datafile '/dm7/data/DAMENG/tbs2_01.dbf' size 50 autoextend on maxsize 100;

在这里插入图片描述

案例3:创建一个表空间,初始50M,每次扩展1M,最大100M

SQL> create tablespace tbs3 datafile '/dm7/data/DAMENG/tbs3_01.dbf' size 50 autoextend on next 1 maxsize 100;

在这里插入图片描述

案例4:创建一个表空间,初始50M,表空间由2个数据文件组成,分别存储到不同的磁盘上,每次扩展1m,每个数据文件最大100M

SQL> create tablespace tbs4 datafile '/dm7/data/DAMENG/tbs4_01.dbf' size 50 autoextend on next 1 maxsize 100,'/dm7/data/tbs4_02.dbf' size 50 autoextend on next 1 maxsize 100;

在这里插入图片描述

3、维护表空间

表空间不足的时候,如何去维护表空间:

  • 创建大表空间,数据导出,导入。
  • Resize 数据文件大小。
  • 增加数据文件。
SQL> alter tablespace tbs2 add datafile '/dm7/data/DAMENG/tbs2_02.dbf' size 50 autoextend on maxsize 100;

在这里插入图片描述

更换存储位置:
达梦表空间的状态:
0------ Online
1-------offline;

SQL> select TABLESPACE_NAME,STATUS from dba_tablespaces;

在这里插入图片描述

注意:system,roll,temp 不能offline;

–更换存储位置例子:

更换TBS1的存储位置。
1、表空间 offline;

SQL> alter tablespace tbs1 offline;

2、修改存储位置

SQL> alter tablespace tbs1 rename datafile '/dm7/data/DAMENG/tbs1_01.dbf' to '/dm7/data/tbs1_01.dbf';

在这里插入图片描述

3、表空间online

SQL> alter tablespace tbs1 online;

至此,表空间存储位置修改完成!

4、删除表空间

SQL> drop tablespace tbs1;

注意:如果表空间存数据,不允许直接删除!

5、HUGE表空间管理

huge表空间创建:

这里不同的是:huge表空间创建时需要指定一个空的目录,而不是数据文件。

SQL> create huge tablespace H1 path '/opt/dm/dmdbms/data/DAMENG/H1';executed successfully

在huge表空间中建表:

SQL> create huge table huge_t1(id int,name varchar) storage (on H1);executed successfully

删除huge表空间:

需要先删除表空间中对象。

SQL> drop table huge_t1 purge;executed successfullySQL> drop huge tablespace H1;executed successfully

转载地址:http://fdcpz.baihongyu.com/

你可能感兴趣的文章
MyEclipse用(JDBC)连接SQL出现的问题~
查看>>
myeclipse的新建severlet不见解决方法
查看>>
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
myeclipse配置springmvc教程
查看>>
MyEclipse配置SVN
查看>>
MTCNN 人脸检测
查看>>
MyEcplise中SpringBoot怎样定制启动banner?
查看>>
MyPython
查看>>
MTD技术介绍
查看>>
MySQL
查看>>
MySQL
查看>>
mysql
查看>>
MTK Android 如何获取系统权限
查看>>
MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
查看>>
MySQL - ERROR 1406
查看>>
mysql - 视图
查看>>
MySQL - 解读MySQL事务与锁机制
查看>>
MTTR、MTBF、MTTF的大白话理解
查看>>
mt_rand
查看>>
mysql /*! 50100 ... */ 条件编译
查看>>