首页 > 代码库 > 44.oracle表空间的使用

44.oracle表空间的使用

  要给下属充分的发挥空间,要允许下属犯错,下属犯错自己能顶下来就顶着,不要盯得让下属觉得“这不是我的事,我只是个小打工的”,团建要放在首位。不可在下属面前“装B”,别人也不傻。

  Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。

  ORACLE数据库被划分成称作为表空间[1]  的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。

  每个ORACLE数据库均有SYSTEM表空间,这是数据库创建时自动创建的。SYSTEM表空间必须总要保持联机,因为其包含着数据库运行所要求的基本信息(关于整个数据库的数据字典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE软件产品要求的表)。
一个小型应用的ORACLE数据库通常仅包括SYSTEM表空间,然而一个稍大型应用的ORACLE数据库采用多个表空间会对数据库的使用带来更大的方便。

  例如:便于理解,把oracle数据库看作一个实在房间,表空间可以看作这个房间的空间,是可以自由分配,在这空间里面可以堆放多个箱子(箱子可以看作数据库文件),箱子里面再装物件(物件看作表)。用户指定表空间也就是你希望把属于这个用户的表放在那个房间(表空间)里面。(以上来自百度百科)

创建一个表空间

第一步:创建临时表空间

create temporary tablespace sgm_temp
tempfile ‘D:\1data\oracle\datafile\sgm_temp.dbf‘
size 1024m
autoextend on
next 50m maxsize 2048m
extent management local;

结果如下:

技术分享

 

删除临时表空间的语句:DROP TABLESPACE sgm_temp INCLUDING CONTENTS AND DATAFILES;

第二步:创建数据表空间

create tablespace sgm
datafile ‘D:\1data\oracle\datafile\sgm.dbf‘
size 1024m
autoextend on
next 50m maxsize 2048m
extent management local;

数据表空间不够用还可以再加:

alter tablespace sgm add datafile ‘D:\1data\oracle\datafile\sgm1.dbf‘ size 1024m autoextend on;

第三步:创建用户并指定表空间

create user sgm identified by orcl
default tablespace sgm
temporary tablespace sgm_temp;

第四步:给用户授权

grant sysdba to sgm;

 

这几步完成后就可以用sgm/orcl登录了

 

查看表空间

查看oracle表空间和剩余容量:

select t.tablespace_name,round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t,dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;

技术分享

 

查看数据库实例名称:

  select instance_name from v$instance;

44.oracle表空间的使用