存储管理

Posted 夜月色下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了存储管理相关的知识,希望对你有一定的参考价值。

查询预定义表空间:

SQL> select TABLESPACE_NAME,CONTENTS from dba_tablespaces;

SQL> select FILE_NAME, TABLESPACE_NAME from dba_data_files;

创建新表空间:

SQL> create tablespace tbs01 datafile \'/u01/app/oracle/oradata/orcl/tbs01.dbf\' SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE 100M;

在指定的表空间中创建表:

SQL> create table t1 tablespace tbs01 as select * from dba_objects where 1=0;

SQL> select bytes, blocks, extents, tablespace_name from dba_segments where segment_name=\'T1\';

SQL> insert into t1 select * from dba_objects;

SQL> select bytes, blocks, extents, tablespace_name from dba_segments where segment_name=\'T1\';

SQL> select extent_id, bytes, blocks from dba_extents where segment_name=\'T1\';

SQL> insert into t1 select * from t1;

SQL> insert into t1 select * from t1;

SQL> insert into t1 select * from t1;

SQL> select bytes, blocks, extents, tablespace_name from dba_segments where segment_name=\'T1\';

SQL> select extent_id, bytes, blocks from dba_extents where segment_name=\'T1\';

SQL> insert into t1 select * from t1; 空间不足,报错

SQL> rollback;

SQL> select bytes, blocks, extents, tablespace_name from dba_segments where segment_name=\'T1\'; 空间不释放

SQL> alter table t1 move; 释放空间

只读表空间:

SQL> alter tablespace tbs01 read only;

SQL> delete t1; 禁止dml

SQL> insert into t1 select * from t1; 禁止dml

SQL> update t1 set x=1; 失败

 

SQL> create table t2 (x int) tablespace tbs01; 失败

SQL> alter table t1 add (x int); 成功

SQL> drop table t1; 成功

dml和ddl的区别

 

改变表空间大小:

resize,直接调整数据文件大小(推荐)

autoextend,自动扩展

add datafile添加数据文件 后期添加的话会自动负载均衡

 

删除表空间:

SQL> drop tablespace tbs01 including contents and datafiles;

以上是关于存储管理的主要内容,如果未能解决你的问题,请参考以下文章

Spark存储管理

操作系统页式存储管理的问题

分页存储管理和分段存储管理

Mac本地存储空间管理软件

分页存储管理和分段存储管理

存储管理