达梦数据库表空间管理

表空间

数据库的物理结构:文件系统—数据文件
数据库的逻辑结构:数据库—表空间(多个数据文件构成)—段—簇—页
(一) 达梦默认有哪些表空间及其作用
1、查看表空间
【语句】SQL>select tablespace name from dba tablespaces;
(1) SYSTEM:系统表空间,存放数据字典信息
(2) ROLL:回滚表空间,存放回滚数据,对一个数据进行更新操作,存放的是更新前的版本信息,可以支持MVCC(事务多版本机制)
(3) TEMP:临时表空间,存放临时数据,可不做备份
(4) MAIN:main表空间,如果用户创建数据对象不指定存储位置,默认存放到main表空间上
(5) HMAIN:hmain表空间,存放的是huge table的信息
(二) 创建表空间
1、 规划表空间
案例一:创建一个表空间tbs,放在$DM_HOME /data/DB_NAME数据,处室文件大小为31M【注意,初始文件的大小是page的4096倍】
【语句】
SQL>create tablespace tbs datafile ‘/dm7/data/DAMENG/TBS.dbf’SIZE 31
案例二:,建一个表空间tbs2,有两个数据文件,分别存放到不同的disk上,初始大小为32M,单个文件最大为100M
【语句】
首先cd到dm7下,使用mkdir disk{1,2}
SQL>create tablespace tbs2 datafile’/dm7/data/DAMENG/disk1/TBS2_1.DBF’SIZE 32 autoextend on maxsize 100,’/dm7/ data/DAMENG/disk1/TBS2_2.DBF’SIZE 32 autoextend on maxsize 100,’
未指定扩展的大小是多少?
【语句】???
案例三:规划表空间tbs3,初始文件大小为32M,每次自动扩展1M,最大为33M
【语句】
SQL>create tablespace tbs3 datafile ‘/dm7/data/DAMENG/TBS3.dbf’SIZE 32 autoextend on next 1 maxsize 100,
2、 如何查询表可用表空间的大小
【语句】??
(三) 如何维护和管理表空间
1. 表空间不足(报错为磁盘空间不足)
(1) 创建大的表空间数据,导出再导入(不推荐使用)
(2) 把表空间的数据文件resize(变大某一个表空间,不推荐使用)
(3) 增加数据文件(推荐使用)
【语句】
SQL>alter tablespace tbs3 add datafile ‘/dm7/data/DAMENG/TBS3_1.dbf’ size 32 autoextend on maxsize 100;
2. 表空间更换存储位置
案例一:将tbs表空间放置到增加的新空间
先查找目前tbs所在位置
【语句】SQL>select tablespace_name ,file_name from dba_data_files where tablespace_name=’TBS’;
表空间更换存储位置时,要求表offline,0=online,1=offline
【语句】
SQL>select tablespace_name,status from dba_tablespaces;
更换表空间位置
【语句】
SQL>alter tablespace tbs rename datafile‘/dm7/data/DAMENG/TBS.dbf’ to ‘/dm7/tbs/ TBS.dbf’;
SQL>???
3. 删除表空间
删除TBS3表空间(如果表空间存在数据,不允许直接删除)
【语句】
SQL>drop tablespace tbs3
4. 利用管理工具创建表空间更简单

原文地址:https://blog.51cto.com/14613601/2450151

时间: 2024-10-12 23:45:54

达梦数据库表空间管理的相关文章

达梦数据库的用户管理

达梦数据库的用户管理 安装完达成梦数据库,系统默认会自带有一些系统级的用户:1.sys -----达梦数据库内置管理用户,不能登录数据库,数据库使用的大部分的数据字典和动态性能视图sys.2.Sysdba -----数据库的管理员3.Sysauditor---审计用户4.Syssso---安全用户 在达梦数据库里每一个用户都有一个默认的表空间,对于 SYS.SYSSSO.SYSAUDITOR 系统用户,默认的用户表空间是 SYSTEM,SYSDBA 的默认表空间为 MAIN,新创建的用户如果没有

达梦数据库的视图管理

达梦数据库的视图管理 视图(view),也称虚表, 不占用物理空间,因为视图本身的定义语句还是要存储在数据字典里的.视图只有逻辑表,每次使用的时候,只是重新执行SQL.还有一种叫物化视图(materialized view),也称实体化视图,它是含有数据的,占用存储空间. 1.视图管理视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中.那些用于产生视图的表叫做该视图的基表,一个视图也可以从另一个视图中产生. 创建测试表,并且插入一条数据测试create table tab_view_c

达梦数据库的角色管理

达梦数据库的角色管理 角色管理在日常中的使用场景是比较少,一般主要数据库自带的角色,外加针对部分用户或部分表的各性化需求来配置就可以,这篇也同样按之前的思路来对角色的创建.修改.删除等基本功能做下实践操作,及给角增加权限建表等权限,测试权限功能. 1.查看所有角色select * from dba_roles; 2.创建角色接下来我们创建create role role1; 创建一张tab1表做个测试 3.角色添加权限我们先来给这个角色赋值查询表的权限,并分配给test1用户,来做个测试赋值查询

达梦数据库的触发器管理

达梦数据库的触发器管理 触发器类型有分为操作前触发.操作后触发.DLL事件触发.系统事件触发.时间触发等等,触发器与存储过程的区别是触发器不能单独执行调用,而是在用户执行特定语句时自动触发执行触发器.以下举例常见的插入事件.更新事件做演示. 1.创建BEFORE触发器测试准备工作创建触发器前先建两张测试表(数据表和结果表),目的在数据表插入前就执行触发器里的语句,触发器里的语句是统计当前数据库的记录数.create table tab_before(id int, name varchar(20

达梦数据库安装和创建表

1.达梦数据库安装 2.达梦命令行sql工具 进去达梦数据库安装目录下的/bin目录 运行./disql 输入用户名和密码: 默认的管理用户SYSDBA 的初始密码是SYSDBA 在sql> 工具里边执行sql操作

达梦数据库数据库表误删后的处理--非数据恢复

0. 注意我这里解决不了丢数据的问题 只是变通解决./ 1. 同事不小心将一个达梦的数据库中的某张表的内容清空了. 没有备份. 2. 解决办法 因为是一张系统配置表,所以想到的办法是创建一个空的数据库,然后更新一些补丁,然后再将数据导入到被删掉的数据库中. 3.创建新库执行更新增量补丁等. 4.之前的blog里面说过 达梦是模仿的oracle数据库. 所以这边最简单的方式使用oracle的语法进行备份和导入操作. 4.1 在新库里面执行备份操作. 条件, 随便找一台安装了达梦数据库并且能够连接目

【达梦数据库】超出全局HASH JOIN空间,解决办法

首先我们讲一个故事:?你是上帝视角[1],你给了小明100个棒槌[2],这个时候来了10个叫做小花的人,小花可以去仓库里拿面粉做包子,但是做一次包子,需要借用小明的棒槌,假如每一个小花都借用掉了10个棒槌,如果同时来了11个小花,前10个小花都能接到棒槌,第11个小花去找小明借棒槌的时候,小明就告诉她:"超出我的棒槌个数了,小花做包子失败."-- 这句话翻译一下就是:"数据库服务器报错超出全局hashjoin空间,应用请求在数据库执行失败."?但是呢,故事其实复杂一

DB 查询分析器 6.03 如何灵活、快捷地操作国产达梦数据库

DB 查询分析器 6.03 如何灵活.快捷地操作国产达梦数据库 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要       本文详细地介绍了"万能数据库查询分析器",中文版本<DB 查询分析器>.英文版本<DB Query Analyzer>6.03如何灵活.快捷地操作国产达梦数据库.除了创建基于不同数据库产品的ODBC数据源有所不同外,用"万能数据库查询分析器"操作任何数据库.EXCEL.TXT/CSV文件的方法跟本文

达梦数据库(第二部分)

1.达梦数据库创建表 达梦数据安装完成之后,打开DM管理工具,可以进行数据库的相关操作.可以通过新建查询,在SQL命令窗口输入sql语句,创建表,sql输入完成之后,选择sql进行执行,则会在表空间MAIN下的表路径下产生新建的表文件,如下图: 2.建立主键 Create table时通过primary key创建主键 如:create table person(ID int primary key,name varchar(10),address varchar(60)) 或者通过alter语