博客
关于我
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/

你可能感兴趣的文章
mysql查询数据库储存数据的占用容量大小
查看>>
MySQL查询数据库所有表名及其注释
查看>>
MySQL查询数据表中数据记录(包括多表查询)
查看>>
MySQL查询结果排序
查看>>
MYSQL查询语句优化
查看>>
mysql查询语句能否让一个字段不显示出来_天天写order by,你知道Mysql底层执行原理吗?
查看>>
MySQL查询语句:揭秘专家秘籍,让你秒变数据库达人!
查看>>
mysql查询超时对PHP执行的影响
查看>>
mysql查询输出到excel文件_如何保存mysql查询输出到excel或.txt文件?
查看>>
mysql查询过程
查看>>
Mysql模糊查询like效率,以及更高效的写法
查看>>
MySQL死锁套路:一次诡异的批量插入死锁问题分析
查看>>
Mysql死锁问题Deadlock found when trying to get lock;try restarting transaction
查看>>
mysql每个数据库的最大连接数_MySQL数据库最大连接数
查看>>
Mysql流程控制结构,if函数、case结构、if结构、循环结构
查看>>
mysql添加外网访问权限
查看>>
mysql添加用户
查看>>
MySQL添加用户、删除用户与授权
查看>>
mysql添加用户及权限
查看>>
Mysql添加用户并授予只能查询权限
查看>>