注册
【与达梦同行】DM表空间管理
技术分享/ 文章详情 /

【与达梦同行】DM表空间管理

niuniuniu 2022/12/30 1285 11 1

DM 数据库中的表空间可以分为普通表空间和混合表空间。使用<HUGE 路径子句>创建的表空间为混合表空间,未使用<HUGE 路径子句>创建的表空间即为普通表空间。普通表空间只能存储普通表(非 HUGE 表);而混合表空间既可以存储普通表又可以存储 HUGE 表。
语法格式
CREATE TABLESPACE <表空间名> <数据文件子句>[<数据页缓冲池子句>][<存储加密子句>][<
指定 DFS 副本子句>][<HUGE 路径子句>]
<数据文件子句> ::= DATAFILE <文件说明项>{,<文件说明项>}
<文件说明项> ::= <文件路径> [ MIRROR <文件路径>] SIZE <文件大小>[<自动扩展子句>]
<自动扩展子句> ::= AUTOEXTEND <ON [<每次扩展大小子句>][<最大大小子句>] |OFF>
<每次扩展大小子句> ::= NEXT <扩展大小>
<最大大小子句> ::= MAXSIZE <文件最大大小>
<数据页缓冲池子句> ::= CACHE = <缓冲池名>
<存储加密子句> ::= ENCRYPT WITH <加密算法> [BY <加密密码>]
<指定 DFS 副本子句> ::= [<指定副本数子句>][<副本策略子句>]
<指定副本数子句> ::= COPY <副本数>
<副本策略子句> ::= GREAT | MICRO
<HUGE 路径子句> ::= WITH HUGE PATH <HUGE 数据文件路径> [<副本策略子句>]
参数

  1. <表空间名> 表空间的名称,最大长度 128 字节;
  2. <文件路径> 指明新生成的数据文件在操作系统下的路径+新数据文件名。数据文件的存放路径符合 DM 安装路径的规则, 若指定目录不存在则自动创建相应目录;
  3. MIRROR 数据文件镜像,用于在数据文件出现损坏时替代数据文件进行服务;
    MIRROR 数据文件的<文件路径>必须是绝对路径。要使用数据文件镜像,必须在建库时开启页校验的参数 PAGE_CHECK;
  4. <文件大小> 整数值,指明新增数据文件的大小(单位 MB),取值范围 4096页大小~2147483647页大小;
  5. <缓冲池名> 系统数据页缓冲池名 NORMAL 或 KEEP。缓冲池名 KEEP 是 DM 的保留关键字,使用时必须加双引号;
  6. <加密算法> 可通过查看动态视图 V$CIPHERS 获取算法名;
  7. <加密密码> 最大长度 32 字节, 若未指定,由 DM 随机生成;
  8. <指定 DFS 副本子句> 专门用于指定分布式文件系统 DFS 中副本的属性;
  9. < 副 本 数> 表空 间文件 在 DFS 中 的副 本 数, 默 认为 DMDFS.INI 中 的DFS_COPY_NUM 的值;
  10. <副本策略子句> 指定管理 DFS 副本的区块:宏区(GREAT)或是微区(MICRO);
  11. <HUGE 路径子句> 用于创建一个混合表空间。 HUGE 数据文件存储在<HUGE 路径子句>指定的路径中,普通(非 HUGE)数据文件存储在<数据文件子句>指定的路径中。
    1、达梦数据库表空间
    SYSTEM: 数据字典信息, 动态性能视图
    ROLL: 数据库运行中的回滚记录
    MAIN: 数据库的默认表空间, 存放的真实数据。 创建用户或者创建数据库对象不指定表空间, 就放在默认表空间中。
    HMAIN: HUGE 表空间
    TEMP: 临时表空间, 临时数据库、 排序
    2、创建表空间
    表空间数据文件初始化大小是 4096(页) *8192=32M
    案例 1: 创建一个初始大小为 20m 的表空间。
    create tablespace test datafile ‘/dm8/data/DAMENG/TEST01.DBF’ size20;
    create tablespace test datafile ‘/dm8/data/DAMENG/TEST01.DBF’ size20;
    第 1 行 附 近 出 现 错 误 [-2410]: 数 据 文 件
    [/dm8/data/DAMENG/TEST01.DBF]大小无效.

案例 2: 创建表空间 TEST,数据文件初始大小为 50m, 每次自动扩展2m, 最大可扩展 1024m;
create tablespace “TEST” datafile ‘/dm8/data/DAMENG/TEST01.DBF’ size 50 autoextend on next 2 maxsize 1024 CACHE = NORMAL;

3、 表空间状态
脱机状态
Alter tablespace test offline;
联机状态
Alter tablespace test online;
查看状态
select a.TABLESPACE_NAME,a.STATUS from dba_tablespaces a
0 为联机状态
1 为脱机状态
4、 维护表空间
4.1、表空间不足
Resize 数据文件
alter tablespace “TEST” resize datafile ‘TEST01.DBF’ to 100;
添加数据文件
alter tablespace “TEST” add datafile ‘/dm8/data/DAMENG/TEST02.DBF’ size 100 autoextend on next 2 maxsize 1024;
4.2 、更换数据文件路径
表空间脱机
Alter tablespace test offline;
更换路径
alter tablespace test rename datafile ‘/dm8/data/DAMENG/TEST01.DBF’
to ‘/dm8/TEST01.DBF’;
表空间联机
SQL> ALTER TABLESPACE TEST ONLINE;
5、 回滚表空间
alter tablespace “ROLL” add datafile ‘/dm8/data/DAMENG/ROLL02.DBF’
size 32;
alter talespace ROLL resize datafile ‘ROLL02.DBF’ TO 128;
6、 临时表空间
注意: system、 temp、 roll 表空间不允许脱机, TEMP 表空间不许被删
除。
7、 表空间删除
drop tablespace test;

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服