达梦表空间管理

达梦表空间管理

登录达梦数据库

1,通过CRT连接到数据库服务器上,查询到达梦数据库

[dmdba@yunwei ~]$ ps -ef|grep dmserver
dmdba      2427      1  0 19:36 ?        00:00:01 /dm7/db/bin/dmserver /dm7/data/TEST/dm.ini -noconsole
dmdba      3371   3345  0 19:45 pts/1    00:00:00 grep dmserver

2,查询达梦数据占用的端口,这里查询出来的端口是5237,默认是5236端口

[dmdba@yunwei ~]$netstat -nap | grep 2427
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 :::5237                     :::*                        LISTEN      2427/dmserver       

3,连接达梦数据库

[dmdba@yunwei ~]$ disql sysdba/SYSDBA@127.0.0.1:5237
服务器[127.0.0.1:5237]:处于普通打开状态
登录使用时间: 4.291(毫秒)
disql V7.6.0.96-Build(2018.09.19-97292)ENT 
Connected to: DM 7.1.6.96

达梦表空间查询

SQL> select tablespace_name from dba_tablespaces;

行号     TABLESPACE_NAME
---------- ---------------
1          SYSTEM
2          ROLL
3          TEMP
4          MAIN
5          TBS
6          HMAIN

// SYSTEM:数据字典和全局的系统数据
// ROLL:回滚表空间,存放回滚数据,MVCC(事务多版本)
// TEMP:临时表空间,存放临时数据
// MAIN: main表空间,如果用户创建数据对象不指定存储位置,默认放到main
// HMAIN:Hmain表空间,存放的是huge table 的信息
// TBS: 之前建立的表空间

已用时间: 36.312(毫秒). 执行号:3

创建表空间

1,创建一个表空间

SQL> create tablespace tbs2 datafile '/dm7/data/TEST/TBS2.dbf' size 31;  
create tablespace tbs2 datafile '/dm7/data/TEST/TBS2.dbf' size 31;1 行附近出现错误[-2410]:数据文件[/dm7/data/TEST/TBS2.dbf]大小无效.
已用时间: 0.646(毫秒). 执行号:0.
//报错原因:表空间大小必须是page的4096倍
//最小的表空间查询
SQL> select page*4096/1024/1024;

行号     PAGE*4096/1024/1024
---------- -------------------
1          32

已用时间: 1.182(毫秒). 执行号:4.
//添加320M的表空间大小计算
SQL> select page*4096/1024/1024*10;

行号     PAGE*4096/1024/1024*10
---------- ----------------------
1          320

已用时间: 0.321(毫秒). 执行号:5.

添加表空间

//单位是M,添加32M表空间
SQL> create tablespace tbs2 datafile '/dm7/data/TEST/TBS2.dbf' size 32;
操作已执行
已用时间: 27.992(毫秒). 执行号:6.

2,创建一个表空间tbs3,要求2个数据文件,分别存放到不同的disk上,初始大小为32M,单个文件大100M

SQL> create tablespace tbs3 datafile '/dm7/data/TEST/disk1/TBS3_1.dbf' size 32 autoextend on maxsize 100,'/dm7/data/TEST/disk2/TBS3_2.dbf' size 32 autoextend on maxsize 100;
操作已执行
已用时间: 20.307(毫秒). 执行号:7.

3,表空间tbs4,初始文件大小32M,每次扩展1M,最大33M

SQL> create tablespace tbs4 datafile '/dm7/data/TEST/tbs4.dbf' size 32 autoextend on next 1 maxsize 33;
操作已执行

表空间维护

1,当表空间不足时,添加数据文件

SQL> alter tablespace tbs add datafile '/dm7/data/TEST/tbs_02.dbf' size 50 autoextend on maxsize 100;
操作已执行

//查询tbs表空间的数据文件
SQL> select tablespace_name,file_name from dba_data_files where tablespace_name='TBS';

行号     TABLESPACE_NAME FILE_NAME                
---------- --------------- -------------------------
1          TBS             /dm7/data/TEST/TBS.dbf
2          TBS             /dm7/data/TEST/tbs_02.dbf

2,表空间更换存储位置
先查询表空间状态,0-online;1-offline,更换存储位置要先把表空间offline

SQL> select TABLESPACE_NAME,STATUS from dba_tablespaces;

行号     TABLESPACE_NAME STATUS     
---------- --------------- -----------
1          SYSTEM          0
2          ROLL            0
3          TEMP            0
4          MAIN            0
5          TBS             0
6          TBS2            0
7          TBS3            0
8          TBS4            0
9          HMAIN           NULL

更改tbs2的存储位置

//查询tbs2数据文件
SQL> select tablespace_name,file_name from dba_data_files where tablespace_name='TBS2';

行号     TABLESPACE_NAME FILE_NAME              
---------- --------------- -----------------------
1          TBS2            /dm7/data/TEST/TBS2.dbf

//表空间offline
SQL> alter tablespace tbs2 offline;
操作已执行
已用时间: 97.127(毫秒). 执行号:15.

SQL> alter tablespace tbs2 rename datafile '/dm7/data/TEST/TBS2.dbf' to '/dm7/data/TBS2.dbf';
操作已执行
已用时间: 321.348(毫秒). 执行号:16.

SQL> select tablespace_name,file_name from dba_data_files where tablespace_name='TBS2';

行号     TABLESPACE_NAME FILE_NAME         
---------- --------------- ------------------
1          TBS2            /dm7/data/TBS2.dbf

//online
SQL> alter tablespace tbs2 online;
操作已执行

3,删除表空间—表空间有数据不允许删除

SQL> drop tablespace tbs4;
操作已执行

你可能感兴趣的:(表空间)