达梦数据库基础管理—表空间管理

表空间管理



一、表空间管理

1.1、DM逻辑存储架构

  DM 数据库为数据库中的所有对象分配逻辑空间,并存放在数据文件中。在 DM 数据库内 部,所有的数据文件组合在一起被划分到一个或者多个表空间中,所有的数据库内部对象都 存放在这些表空间中。同时,表空间被进一步划分为段、簇和页(也称块)。通过这种细分,可以使得DM 数据库能够更加高效地控制磁盘空间的利用率。

  在 DM8 中存储的层次结构如下:
在这里插入图片描述

  1. 数据库由一个或多个表空间组成;
  2. 每个表空间由一个或多个数据文件组成;
  3. 每个数据文件由一个或多个簇组成;
  4. 段是簇的上级逻辑单元,一个段可以跨多个数据文件;
  5. 簇由磁盘上连续的页组成,一个簇总是在一个数据文件中;
  6. 页是数据库中最小的分配单元,也是数据库中使用的最小的 IO 单元

1.2、表空间

  在创建 DM 数据库时,会自动创建 5 个表空间:SYSTEM 表空间、ROLL 表空间、MAIN
表空间、TEMP 表空间和 HMAIN 表空间。

  1. SYSTEM 表空间存放了有关 DM 数据库的字典信息,用户不能在 SYSTEM 表空间创建表和索引。
  2. ROLL 表空间完全由 DM 数据库自动维护,用户无需干预。该表空间用来存放事务运行过程中执行 DML 操作之前的值,从而为访问该表的其他用户提供表数据的读一致性视图。
  3. MAIN 表空间在初始化库的时候,就会自动创建一个大小为 128M 的数据文件 MAIN.DBF。在创建用户时,如果没有指定默认表空间,则系统自动指定 MAIN 表空间为用户默认的表空间。
  4. TEMP 表空间完全由 DM 数据库自动维护。当用户的 SQL 语句需要磁盘空间来完成某个操作时,DM 数据库会从 TEMP 表空间分配临时段。如创建索引、无法在内存中完成的排序操作、SQL 语句中间结果集以及用户创建的临时表等都会使用到 TEMP 表空间。
  5. HMAIN 表空间属于 HTS 表空间,完全由 DM 数据库自动维护,用户无需干涉。当用户在创建 HUGE 表时,未指定 HTS 表空间的情况下,充当默认 HTS 表空间。

1.3、表空间使用常用语法

1.3.1、语法格式

CREATE TABLESPACE <表空间名> <数据文件子句>[<数据页缓冲池子句>][<存储加密子句>]
<数据文件子句> ::= DATAFILE <文件说明项>{,<文件说明项>}
<文件说明项> ::= <文件路径> [ MIRROR <文件路径>] SIZE <文件大小>[<自动扩展子句>]
<自动扩展子句> ::= AUTOEXTEND <ON [<每次扩展大小子句>][<最大大小子句> |OFF>
<每次扩展大小子句> ::= NEXT <扩展大小>
<最大大小子句> ::= MAXSIZE <文件最大大小>
<数据页缓冲池子句> ::= CACHE = <缓冲池名>
<存储加密子句> ::= ENCRYPT WITH <加密算法> [[BY] <加密密码>]

1.3.2、注意事项

  在创建表空间时,通常只需要指定表空间名称,数据文件路径、数据文件大小、其他属性。有几点需要注意:

  1. 单个表空间的数据文件数量不能超过256个
  2. 达梦数据库最多支持65535个表空间
  3. 数据文件的单位是MB,在创建的时候只需要写数字。不需要额外添加单位。数据文件大小取决于页大小。

数据库页大小	每个字符类型字段实际最大长度(字节)	每行记录最大字段外其他字段总长度(字节)	表空间单个数据文件最小/最大(MB)
4KB	1938	2047	16/8388608
8KB	3878	4095	32/16777216
16KB	8000	8195	64/33554432
32KB	8188	16176	128/67108864

1.3.3、创建表空间

SQL> create tablespace test datafile '+DMDATA/data/dsc/test.dbf' size 256;  
操作已执行
已用时间: 00:00:03.482. 执行号:402.
SQL> select file_name, tablespace_name, status, autoextensible from dba_data_files where tablespace_name='TEST';

行号     FILE_NAME                 TABLESPACE_NAME STATUS    AUTOEXTENSIBLE
---------- ------------------------- --------------- --------- --------------
1          +DMDATA/data/dsc/test.dbf TEST            AVAILABLE YES

已用时间: 6.086(毫秒). 执行号:403.

--创建表空间指定两个数据文件
SQL> create tablespace test1 datafile '+DMDATA/data/dsc/test1_01.dbf' size 256,'+DMDATA/data/dsc/test1_02.dbf' size 256;
操作已执行
已用时间: 00:00:07.732. 执行号:404.
SQL> 
SQL> select file_name, tablespace_name, status, autoextensible from dba_data_files where tablespace_name='TEST1';

行号     FILE_NAME                     TABLESPACE_NAME STATUS    AUTOEXTENSIBLE
---------- ----------------------------- --------------- --------- --------------
1          +DMDATA/data/dsc/test1_01.dbf TEST1           AVAILABLE YES
2          +DMDATA/data/dsc/test1_02.dbf TEST1           AVAILABLE YES

已用时间: 6.748(毫秒). 执行号:405.

1.3.4、扩展表空间

扩展表空间有两种方法:(1)、增加数据文件(2)、resize原数据文件大小
例:扩展表空间TEST
--resize数据文件
SQL> alter tablespace test resize datafile '+DMDATA/data/dsc/test.dbf' to 500;
操作已执行
已用时间: 00:00:01.757. 执行号:406.

--增加数据文件
SQL> alter tablespace test add datafile '+DMDATA/data/dsc/test_02.dbf' size 256;
操作已执行
已用时间: 00:00:03.098. 执行号:407.

--查询表空间情况
SQL> select file_name, tablespace_name, BYTES/1024/1024 "Size (MB)", status, autoextensible from dba_data_files where tablespace_name='TEST';

行号     FILE_NAME                    TABLESPACE_NAME Size (MB)            STATUS    AUTOEXTENSIBLE
---------- ---------------------------- --------------- -------------------- --------- --------------
1          +DMDATA/data/dsc/test.dbf    TEST            500                  AVAILABLE YES
2          +DMDATA/data/dsc/test_02.dbf TEST            256                  AVAILABLE YES

已用时间: 7.501(毫秒). 执行号:409.
SQL> 

1.3.5、修改数据文件扩展属性

表空间默认是自动扩展的,用户可以修改表空间的相应属性。
(1)是否开启自动扩展属性 autoextend
(2)每次扩展的大小,取值范围 0~2048 单位 MB
(3)数据文件最大大小,maxsize <文件限制大小> 单位MB

--关闭自动扩展
SQL> alter tablespace test datafile '+DMDATA/data/dsc/test.dbf' autoextend off;
操作已执行
已用时间: 178.263(毫秒). 执行号:410.
SQL> 

--开启自动扩展并设置最大限制
SQL> alter tablespace test datafile '+DMDATA/data/dsc/test_02.dbf' autoextend on next 10 maxsize 10240;
操作已执行
已用时间: 168.614(毫秒). 执行号:411.
SQL> 

--查询数据文件自动扩展信息
SQL> select file_name, tablespace_name, BYTES/1024/1024 "Size (MB)", status, autoextensible, INCREMENT_BY, MAXBYTES/1024/1024 "MaxSize(MB)" from dba_data_files where tablespace_name='TEST';

行号     FILE_NAME                    TABLESPACE_NAME Size (MB)            STATUS    AUTOEXTENSIBLE INCREMENT_BY MaxSize(MB)
---------- ---------------------------- --------------- -------------------- --------- -------------- ------------ -----------
1          +DMDATA/data/dsc/test.dbf    TEST            500                  AVAILABLE NO             0            0
2          +DMDATA/data/dsc/test_02.dbf TEST            256                  AVAILABLE YES            10           10240

已用时间: 6.441(毫秒). 执行号:413.

1.3.6、修改表空间名以及移动数据文件

--在线修改表空间名称
SQL> alter tablespace test rename to test3;
操作已执行
已用时间: 161.084(毫秒). 执行号:414.

--查询表空间信息
SQL> select file_name, tablespace_name, BYTES/1024/1024 "Size (MB)", status, autoextensible, INCREMENT_BY, MAXBYTES/1024/1024 "MaxSize(MB)" from dba_data_files where tablespace_name='TEST3';

行号     FILE_NAME                    TABLESPACE_NAME Size (MB)            STATUS    AUTOEXTENSIBLE INCREMENT_BY MaxSize(MB)
---------- ---------------------------- --------------- -------------------- --------- -------------- ------------ -----------
1          +DMDATA/data/dsc/test.dbf    TEST3           500                  AVAILABLE NO             0            0
2          +DMDATA/data/dsc/test_02.dbf TEST3           256                  AVAILABLE YES            10           10240

已用时间: 6.330(毫秒). 执行号:415.
SQL> 

--RENAME数据文件位置,自动帮你移动不需要人为手动

SQL> alter tablespace test3 offline;
操作已执行
已用时间: 195.263(毫秒). 执行号:416.
SQL> 
SQL> alter tablespace test3 rename datafile '+DMDATA/data/dsc/test.dbf' to '+DMDATA/data/dsc/test3_01.dbf';
操作已执行
已用时间: 00:00:07.221. 执行号:417.
SQL> 
SQL> alter tablespace test3 rename datafile '+DMDATA/data/dsc/test_02.dbf' to '+DMDATA/data/dsc/test3_02.dbf';
操作已执行
已用时间: 00:00:03.534. 执行号:418.
SQL> 
SQL> alter tablespace test3 online;
操作已执行
已用时间: 162.082(毫秒). 执行号:419.
SQL> 
SQL> select file_name, tablespace_name, BYTES/1024/1024 "Size (MB)", status, autoextensible, INCREMENT_BY, MAXBYTES/1024/1024 "MaxSize(MB)" from dba_data_files where tablespace_name='TEST3';

行号     FILE_NAME                     TABLESPACE_NAME Size (MB)            STATUS    AUTOEXTENSIBLE INCREMENT_BY MaxSize(MB)
---------- ----------------------------- --------------- -------------------- --------- -------------- ------------ -----------
1          +DMDATA/data/dsc/test3_01.dbf TEST3           500                  AVAILABLE NO             0            0
2          +DMDATA/data/dsc/test3_02.dbf TEST3           256                  AVAILABLE YES            10           10240

已用时间: 2.080(毫秒). 执行号:420.

1.3.7、数据文件被删除如何恢复

1.3.7.1、准备测试环境
--创建测试表空间
SQL> create tablespace llf datafile '/dm8/data/DAMENG/llf_01.dbf' size 256;
操作已执行
已用时间: 28.847(毫秒). 执行号:55603.

--创建测试用户以及数据

SQL> create user llf identified by llf123456 default tablespace llf default index tablespace llf;
操作已执行
已用时间: 9.697(毫秒). 执行号:55604.
SQL> 
SQL> grant "PUBLIC","RESOURCE","SOI","VTI" to llf;     
操作已执行
已用时间: 3.684(毫秒). 执行号:55605.

SQL> conn llf/llf123456:5238

服务器[LOCALHOST:5238]:处于普通打开状态
登录使用时间 : 1.554(ms)
SQL> 
SQL> create table test(id number);
操作已执行
已用时间: 7.524(毫秒). 执行号:55700.
SQL> 
SQL> insert into test values(1);
影响行数 1

已用时间: 1.178(毫秒). 执行号:55701.
SQL> insert into test values(2);
影响行数 1

已用时间: 0.812(毫秒). 执行号:55702.
SQL> insert into test values(3);
影响行数 1

已用时间: 0.698(毫秒). 执行号:55703.
SQL> insert into test values(4);
影响行数 1

已用时间: 0.789(毫秒). 执行号:55704.
SQL> commit;
操作已执行
已用时间: 1.652(毫秒). 执行号:55705.
SQL> 
SQL> select * from test;

行号     ID
---------- --
1          1
2          2
3          3
4          4

已用时间: 1.228(毫秒). 执行号:55706.
SQL> 
1.3.7.2、删除表空间数据文件
[dmdba@dmdw01 data]$ cd DAMENG/
[dmdba@dmdw01 DAMENG]$ ls
arch  bak  ctl_bak  DAMENG01.log  DAMENG02.log  dmarch.ini  dm.ctl  dm.ini  dminit20220621104445.log  dm_service.prikey  HMAIN  llf_01.dbf  MAIN.DBF  rep_conflict.log  ROLL.DBF  sqllog.ini  SYSTEM.DBF  TEMP.DBF  trace
[dmdba@dmdw01 DAMENG]$ rm -fr llf_01.dbf 
1.3.7.3、查询数据以及表空间情况
SQL> conn SYSDBA/SYSDBA:5238

服务器[LOCALHOST:5238]:处于普通打开状态
登录使用时间 : 2.487(ms)
SQL> 
SQL> select * from llf.test;

行号     ID
---------- --
1          1
2          2
3          3
4          4
已用时间: 0.854(毫秒). 执行号:55709.

SQL> select file_name, tablespace_name, status from dba_data_files; 

行号     FILE_NAME                   TABLESPACE_NAME STATUS   
---------- --------------------------- --------------- ---------
1          /dm8/data/DAMENG/SYSTEM.DBF SYSTEM          AVAILABLE
2          /dm8/data/DAMENG/llf_01.dbf LLF             AVAILABLE
3          /dm8/data/DAMENG/MAIN.DBF   MAIN            AVAILABLE
4          /dm8/data/DAMENG/TEMP.DBF   TEMP            AVAILABLE
5          /dm8/data/DAMENG/ROLL.DBF   ROLL            AVAILABLE

已用时间: 22.539(毫秒). 执行号:55800.
SQL> 
SQL> SELECT GROUP_ID,PATH,CLIENT_PATH FROM v$datafile;  

行号     GROUP_ID    PATH                        CLIENT_PATH
---------- ----------- --------------------------- -----------
1          0           /dm8/data/DAMENG/SYSTEM.DBF SYSTEM.DBF
2          1           /dm8/data/DAMENG/ROLL.DBF   ROLL.DBF
3          3           /dm8/data/DAMENG/TEMP.DBF   TEMP.DBF
4          4           /dm8/data/DAMENG/MAIN.DBF   MAIN.DBF
5          6           /dm8/data/DAMENG/llf_01.dbf llf_01.dbf

已用时间: 1.145(毫秒). 执行号:55801.
1.3.7.4、模拟插入数据
--模拟插入数据
SQL> insert into test values(5);
影响行数 1

已用时间: 0.970(毫秒). 执行号:55802.
SQL> commit;
操作已执行
已用时间: 0.854(毫秒). 执行号:55803.
SQL> 
SQL> select * from llf.test;

行号     ID
---------- --
1          1
2          2
3          3
4          4
5          5

已用时间: 0.375(毫秒). 执行号:55804.
1.3.7.5、进行数据文件检查
--执行检查
SQL>  call SP_FILE_SYS_CHECK();
DMSQL 过程已成功完成
已用时间: 0.794(毫秒). 执行号:55805.
SQL> 

--查询数据
SQL> select * from llf.test;
select * from llf.test;
[-3433]:表空间处于脱机状态.
已用时间: 1.089(毫秒). 执行号:0.


SQL> SELECT GROUP_ID,PATH,CLIENT_PATH FROM v$datafile;  

行号     GROUP_ID    PATH                        CLIENT_PATH
---------- ----------- --------------------------- -----------
1          0           /dm8/data/DAMENG/SYSTEM.DBF SYSTEM.DBF
2          1           /dm8/data/DAMENG/ROLL.DBF   ROLL.DBF
3          3           /dm8/data/DAMENG/TEMP.DBF   TEMP.DBF
4          4           /dm8/data/DAMENG/MAIN.DBF   MAIN.DBF
5          6           /dm8/data/DAMENG/llf_01.dbf llf_01.dbf

已用时间: 0.501(毫秒). 执行号:55806.
SQL> select tablespace_name, file_name, status from dba_data_files;

行号     TABLESPACE_NAME FILE_NAME                   STATUS   
---------- --------------- --------------------------- ---------
1          SYSTEM          /dm8/data/DAMENG/SYSTEM.DBF AVAILABLE
2          LLF             /dm8/data/DAMENG/llf_01.dbf INVALID
3          MAIN            /dm8/data/DAMENG/MAIN.DBF   AVAILABLE
4          TEMP            /dm8/data/DAMENG/TEMP.DBF   AVAILABLE
5          ROLL            /dm8/data/DAMENG/ROLL.DBF   AVAILABLE

已用时间: 2.550(毫秒). 执行号:55807.

  上面看得到如果未做数据文件检查的话,被删除的数据文件上的表和对象可以查询并且插入数据,在做了数据文件校验之后将无法正常查询。
  数据文件的状态STATUS=INVALID

1.3.7.6、先执行恢复前的准备工作
SQL> call sp_tablespace_prepare_recover('LLF');
DMSQL 过程已成功完成
已用时间: 0.330(毫秒). 执行号:55808.
1.3.7.7、查看数据库进程号,找到未释放的文件句柄号和被删除的数据文件
[dmdba@dmdw01 DAMENG]$ ps -ef |grep dmserver
dmdba      2270      1  0 09:17 ?        00:00:56 /dm8/bin/dmserver path=/dm8/dsc/config/dsc2_config/dm.ini dcr_ini=/dm8/dsc/config/dmdcr.ini -noconsole
dmdba      6305   2287  0 10:45 pts/0    00:00:14 dmserver path=/dm8/data/DAMENG/dm.ini
dmdba      8099   6624  0 11:24 pts/2    00:00:00 grep --color=auto dmserver
[dmdba@dmdw01 DAMENG]$ 
[dmdba@dmdw01 DAMENG]$ cd /proc/6305/fd
[dmdba@dmdw01 fd]$ ls -ltr
总用量 0
lrwx------ 1 dmdba dinstall 64 621 11:24 2 -> /dev/pts/0
lrwx------ 1 dmdba dinstall 64 621 11:25 9 -> /dm8/data/DAMENG/DAMENG02.log
lrwx------ 1 dmdba dinstall 64 621 11:25 8 -> /dm8/data/DAMENG/DAMENG01.log
lrwx------ 1 dmdba dinstall 64 621 11:25 7 -> /dm8/data/DAMENG/TEMP.DBF
lrwx------ 1 dmdba dinstall 64 621 11:25 6 -> /dm8/data/DAMENG/SYSTEM.DBF
lrwx------ 1 dmdba dinstall 64 621 11:25 5 -> socket:[65217]
lrwx------ 1 dmdba dinstall 64 621 11:25 46 -> /dm8/data/DAMENG/llf_01.dbf (deleted)
lrwx------ 1 dmdba dinstall 64 621 11:25 45 -> /dm8/data/DAMENG/arch/ARCHIVE_LOCAL1_0x33956438_EP0_2022-06-21_10-51-27.log
lrwx------ 1 dmdba dinstall 64 621 11:25 44 -> socket:[77886]
l-wx------ 1 dmdba dinstall 64 621 11:25 43 -> pipe:[65242]
lr-x------ 1 dmdba dinstall 64 621 11:25 42 -> pipe:[65242]
l-wx------ 1 dmdba dinstall 64 621 11:25 41 -> pipe:[65241]
lr-x------ 1 dmdba dinstall 64 621 11:25 40 -> pipe:[65241]
lrwx------ 1 dmdba dinstall 64 621 11:25 4 -> socket:[65216]
l-wx------ 1 dmdba dinstall 64 621 11:25 39 -> pipe:[65240]
lr-x------ 1 dmdba dinstall 64 621 11:25 38 -> pipe:[65240]
l-wx------ 1 dmdba dinstall 64 621 11:25 37 -> pipe:[65239]
lr-x------ 1 dmdba dinstall 64 621 11:25 36 -> pipe:[65239]
l-wx------ 1 dmdba dinstall 64 621 11:25 35 -> pipe:[65238]
lr-x------ 1 dmdba dinstall 64 621 11:25 34 -> pipe:[65238]
l-wx------ 1 dmdba dinstall 64 621 11:25 33 -> pipe:[65237]
lr-x------ 1 dmdba dinstall 64 621 11:25 32 -> pipe:[65237]
l-wx------ 1 dmdba dinstall 64 621 11:25 31 -> pipe:[65236]
lr-x------ 1 dmdba dinstall 64 621 11:25 30 -> pipe:[65236]
lr-x------ 1 dmdba dinstall 64 621 11:25 3 -> /dev/urandom
l-wx------ 1 dmdba dinstall 64 621 11:25 29 -> pipe:[65235]
lr-x------ 1 dmdba dinstall 64 621 11:25 28 -> pipe:[65235]
l-wx------ 1 dmdba dinstall 64 621 11:25 27 -> pipe:[65234]
lr-x------ 1 dmdba dinstall 64 621 11:25 26 -> pipe:[65234]
l-wx------ 1 dmdba dinstall 64 621 11:25 25 -> pipe:[65233]
lr-x------ 1 dmdba dinstall 64 621 11:25 24 -> pipe:[65233]
l-wx------ 1 dmdba dinstall 64 621 11:25 23 -> pipe:[65232]
lr-x------ 1 dmdba dinstall 64 621 11:25 22 -> pipe:[65232]
l-wx------ 1 dmdba dinstall 64 621 11:25 21 -> pipe:[65231]
lr-x------ 1 dmdba dinstall 64 621 11:25 20 -> pipe:[65231]
l-wx------ 1 dmdba dinstall 64 621 11:25 19 -> pipe:[65230]
lr-x------ 1 dmdba dinstall 64 621 11:25 18 -> pipe:[65230]
l-wx------ 1 dmdba dinstall 64 621 11:25 17 -> pipe:[65229]
lr-x------ 1 dmdba dinstall 64 621 11:25 16 -> pipe:[65229]
l-wx------ 1 dmdba dinstall 64 621 11:25 15 -> pipe:[65228]
lr-x------ 1 dmdba dinstall 64 621 11:25 14 -> pipe:[65228]
l-wx------ 1 dmdba dinstall 64 621 11:25 13 -> pipe:[65227]
lr-x------ 1 dmdba dinstall 64 621 11:25 12 -> pipe:[65227]
lrwx------ 1 dmdba dinstall 64 621 11:25 11 -> /dm8/data/DAMENG/MAIN.DBF
lrwx------ 1 dmdba dinstall 64 621 11:25 10 -> /dm8/data/DAMENG/ROLL.DBF
lrwx------ 1 dmdba dinstall 64 621 11:25 1 -> /dev/pts/0
lrwx------ 1 dmdba dinstall 64 621 11:25 0 -> /dev/pts/0
1.3.7.8、将数据文件复制回去
[dmdba@dmdw01 fd]$ cp 46 /dm8/data/DAMENG/llf_01.dbf
1.3.7.9、然后执行数据文件恢复过程并检查
--然后执行数据文件恢复过程
SQL> call sp_tablespace_recover('LLF');
DMSQL 过程已成功完成
已用时间: 0.890(毫秒). 执行号:55809.

SQL> call SP_FILE_SYS_CHECK();
DMSQL 过程已成功完成
已用时间: 0.622(毫秒). 执行号:55810.

--查询数据和表空间进行数据验证
SQL> select tablespace_name, file_name, status from dba_data_files;

行号     TABLESPACE_NAME FILE_NAME                   STATUS   
---------- --------------- --------------------------- ---------
1          SYSTEM          /dm8/data/DAMENG/SYSTEM.DBF AVAILABLE
2          LLF             /dm8/data/DAMENG/llf_01.dbf AVAILABLE
3          MAIN            /dm8/data/DAMENG/MAIN.DBF   AVAILABLE
4          TEMP            /dm8/data/DAMENG/TEMP.DBF   AVAILABLE
5          ROLL            /dm8/data/DAMENG/ROLL.DBF   AVAILABLE

已用时间: 5.629(毫秒). 执行号:55811.
SQL> 
SQL> SELECT GROUP_ID,PATH,CLIENT_PATH FROM v$datafile;  

行号     GROUP_ID    PATH                        CLIENT_PATH
---------- ----------- --------------------------- -----------
1          0           /dm8/data/DAMENG/SYSTEM.DBF SYSTEM.DBF
2          1           /dm8/data/DAMENG/ROLL.DBF   ROLL.DBF
3          3           /dm8/data/DAMENG/TEMP.DBF   TEMP.DBF
4          4           /dm8/data/DAMENG/MAIN.DBF   MAIN.DBF
5          6           /dm8/data/DAMENG/llf_01.dbf llf_01.dbf

已用时间: 0.918(毫秒). 执行号:55812.

SQL> select * from llf.test;

行号     ID
---------- --
1          1
2          2
3          3
4          4
5          5

已用时间: 0.485(毫秒). 执行号:55813.

1.3.8、修改表空间数据缓冲区

可以使用的数据缓冲区有 NORMAL 和 KEEP
SQL> select id, name, cache, status$ from v$tablespace;  

行号     ID          NAME     CACHE  STATUS$    
---------- ----------- -------- ------ -----------
1          0           SYSTEM          0
2          1           ROLL            0
3          3           TEMP            0
4          4           MAIN            0
5          5           LLF             0
6          7           DTS_TEST NORMAL 0
7          8           TEST3    NORMAL 0

7 rows got

已用时间: 4.480(毫秒). 执行号:449.
SQL>          

--修改表空间数据缓冲区
SQL> alter tablespace TEST3 cache="KEEP";
操作已执行
已用时间: 160.110(毫秒). 执行号:450.
SQL> 
SQL> select id, name, cache, status$ from v$tablespace;  

行号     ID          NAME     CACHE  STATUS$    
---------- ----------- -------- ------ -----------
1          0           SYSTEM          0
2          1           ROLL            0
3          3           TEMP            0
4          4           MAIN            0
5          5           LLF             0
6          7           DTS_TEST NORMAL 0
7          8           TEST3    KEEP   0

7 rows got

已用时间: 0.886(毫秒). 执行号:451.

1.3.9、删除表空间

SQL> select file_name, tablespace_name from dba_data_files;

行号     FILE_NAME                     TABLESPACE_NAME
---------- ----------------------------- ---------------
1          +DMDATA/data/dsc/system.dbf   SYSTEM
2          +DMDATA/data/dsc/test1_02.dbf TEST1
3          +DMDATA/data/dsc/test1_01.dbf TEST1
4          +DMDATA/data/dsc/test3_02.dbf TEST3
5          +DMDATA/data/dsc/test3_01.dbf TEST3
6          +DMDATA/data/dsc/DTS_TEST.dbf DTS_TEST
7          +DMDATA/data/dsc/llf.dbf      LLF
8          +DMDATA/data/dsc/main.dbf     MAIN
9          +DMDATA/data/dsc/TEMP2.DBF    TEMP
10         +DMDATA/data/dsc/roll.dbf     ROLL

10 rows got

已用时间: 85.197(毫秒). 执行号:100.

--删除表空间 
SQL> drop tablespace test1;
操作已执行
已用时间: 281.815(毫秒). 执行号:101.

SQL> select file_name, tablespace_name from dba_data_files;

行号     FILE_NAME                     TABLESPACE_NAME
---------- ----------------------------- ---------------
1          +DMDATA/data/dsc/system.dbf   SYSTEM
2          +DMDATA/data/dsc/test3_02.dbf TEST3
3          +DMDATA/data/dsc/test3_01.dbf TEST3
4          +DMDATA/data/dsc/DTS_TEST.dbf DTS_TEST
5          +DMDATA/data/dsc/llf.dbf      LLF
6          +DMDATA/data/dsc/main.dbf     MAIN
7          +DMDATA/data/dsc/TEMP2.DBF    TEMP
8          +DMDATA/data/dsc/roll.dbf     ROLL

8 rows got

已用时间: 13.087(毫秒). 执行号:102.
SQL> exit

--查询数据文件是否删除
[dmdba@dmdw01 dm8]$ dmasmtool dcr_ini=/dm8/dsc/config/dmdcr.ini
DMASMTOOL V8
ASM>ls
+
disk groups total [4]......
NO.1     name: DMLOG
NO.2     name: DMDATA
NO.3     name: VOTE
NO.4     name: DCR
Used time: 8.130(ms).
ASM>cd DMDATA
+DMDATA
Used time: 9.975(ms).
ASM>ls
        dir : data
        dir : DSC0
        dir : DSC1
        dir : DSC2
total count 4.
Used time: 7.371(ms).
ASM>cd data
+DMDATA/data
Used time: 5.459(ms).
ASM>ls
        dir : dsc
total count 1.
Used time: 5.268(ms).
ASM>cd dsc
+DMDATA/data/dsc
Used time: 6.073(ms).
ASM>ls
        dir : bak
        file : dm.ctl
        dir : ctl_bak
        dir : HMAIN
        file : TEMP0.DBF
        file : TEMP1.DBF
        file : rep_conflict.log
        file : TEMP2.DBF
        file : system.dbf
        file : roll.dbf
        file : main.dbf
        file : llf.dbf
        file : dm_service.prikey
        file : DTS_TEST.dbf
        file : test3_01.dbf
        file : test3_02.dbf
total count 16.
Used time: 21.951(ms).
ASM>

社区地址:https://eco.dameng.com

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值