程序员笔记 (二十五)达梦数据库 表空间


aihuafeng66t
克里斯蒂亚诺诺 2024-01-12 13:59:36 47853 赞同 0 反对 0
分类: 资源 标签: 运维
程序员笔记 (二十五)达梦数据库 表空间

(一)表空间

1.DM7表空间概述

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

--查询表空间

SQL>select * from v$tablespace;

--查询数据文件

SQL>select * from v$datafile;

--查询表空间对应的数据文件

SELECT

     ts.NAME,

     df.PATH

FROM

     V$TABLESPACE AS ts,

     V$DATAFILE   AS df

WHERE

     ts.ID = df.GROUP_ID;

2.DM7表空间管理

2.1表空间创建与删除

--创建表空间,最简洁形式

--仅指定数据文件路径,以及数据文件初始大小,单位为(MB)

--注意大小仅为数字,不能带M符号

CREATE TABLESPACE bookshop DATAFILE '/opt/bookshop1.dbf' SIZE 128;

--以上创建表空间语句,自动指定如下属性:

autoextend on    

maxsize 33554431 

CACHE = NORMAL

属性分别指:数据文件自动扩展,扩展最大大小,数据页的缓冲池名称

--创建表空间,指定非自动扩展

CREATE TABLESPACE bookshop DATAFILE '/opt/bookshop1.dbf' SIZE 128 autoextend off;

--删除表空间

drop tablespace bookshop;

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

2.2表空间扩展

     当未指定表空间自动扩展,或是某一操作系统目录空间不足,数据库需要新的空间时,可以对表空间进行扩展操作。扩展有两种操作,一是新增数据文件;另外一种是增大已有的数据文件。

--新增数据文件

ALTER TABLESPACE bookshop ADD DATAFILE '/opt/book2.dbf' SIZE 64;

-- 增大已有数据文件

ALTER TABLESPACE bookshop RESIZE DATAFILE '/opt/book.dbf' TO 1024;

2.3表空间数据文件路径修改

当已有操作系统目录空间不足,需要将存放在该目录下的数据库数据文件更新目录时,可以使用如下语句。使用本方法的前提是,表空间必须处在脱机状态:

--表空间脱机处理

ALTER TABLESPACE bookshop OFFLINE;

--更改数据文件路径

ALTER TABLESPACE bookshop RENAME DATAFILE '/opt/book.dbf' TO '/data/book.dbf';

当该表空间有事务操作时,脱机处理会失败。更改数据文件路径,系统会自动修改控制文件,并将操作系统文件移动到新的路径。

--在使用脱机处理失效时,可以将数据库系统进行关闭处理,然后手动修改控制文件,并移动数据文件至新的目录后,重新启动数据库系统。

3.DM7表空间监控

监控表空间使用空间情况:

--DM7 查询表空间使用

select

        t.name tablespace_name,

        d.free_size*SF_GET_PAGE_SIZE()/1024/1024

        ||'M' free_space,

        d.total_size*SF_GET_PAGE_SIZE()/1024/1024

        ||'M' total_space,

        d.free_size*100/d.total_size "% FREE"

from

        v$tablespace t,

        v$datafile d

where

        t.id=d.group_id;

4.DM7表空间备份

DM7数据库支持用户表空间的备份还原操作。表空间备份需要在联机状态下执行,并且需要开启数据库归档模式。这是因为,表空间的数据库对象的字典信息是存储在数据库的系统SYSTEM表空间中。表空间的还原恢复,只能在备份源库上联机执行。

--表空间全量备份

BACKUP TABLESPACE t1 FULL TO TS_BAK BAKFILE '/opt/tablespace_bak.bak' ;

--表空间还原

ALTER TABLESPACE t1 OFFLINE;

RESTORE TABLESPACE t1 FROM '/opt/tablespace_bak.bak' IDENTIFIED BY ABCDEF;

ALTER TABLESPACE t1 ONLINE;

https://blog.csdn.net/weixin_42741154/article/details/107999506

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
克里斯蒂亚诺诺L1
粉丝 0 资源 831 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  126
统信桌面专业版【全盘安装UOS系统】介绍  121
银河麒麟桌面操作系统安装佳能打印机驱动方法  114
银河麒麟桌面操作系统 V10-SP1用户密码修改  105
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益209.03元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!