Oracle 表空间的概念

表空间

在数据库系统中,存储空间是较为重要的资源,合理利用空间,不但能节省空间,还可以提高系统的效率和工作性能。 Oracle 可以存放海量数据,所有数据都在数据文件中存储。而数据文件大小受操作系统限制,并且过大的数据文件对数据的存取性能影响非常大。同时Oracle 是跨平台的数据库, Oracle 数据可以轻松的在不同平台上移植,那么如何才能提供统一存取格式的大容量呢? Oracle 采用表空间来解决。
表空间只是一个逻辑概念,若干操作系统文件(文件可以不是很大)可以组成一个表空间。表空间统一管理空间中的数据文件,一个数据文件只能属于一个表空间。一个数据库空间由若干个表空间组成。如图所示:

Oracle 中所有的数据(包括系统数据),全部保存在表空间中,常见的表空间有:

??系统表空间:存放系统数据,系统表空间在数据库创建时创建。表空间名称为
SYSTEM。存放数据字典视图以及数据库结构等重要系统数据信息,在运行时如
果 SYSTEM 空间不足,对数据库影响会比较大,虽然在系统运行过程中可以通过命
令扩充空间,但还是会影响数据库的性能,因此有必要在创建数据库时适当的把数
据文件设置大一些。
??TMEP 表空间:临时表空间,安装数据库时创建,可以在运行时通过命令增大临时
表空间。临时表空间的重要作用是数据排序。比如当用户执行了诸如 Order by 等
命令后,服务器需要对所选取数据进行排序,如果数据很大,内存的排序区可能装
不下太大数据,就需要把一些中间的排序结果写在硬盘的临时表空间中。
??用户表自定义空间:用户可以通过 CREATE TABLESPACE 命令创建表空间

创建表空间

--创建表空间 linux centos6.9

--创建一个表空间,包含两个数据文件大小分别是 10MB, 5MB,要求 extent 的大小统一为 1M

CREATE
TABLESPACE nod_tablespace

DATAFILE
‘/home/oracle/tablespace/A.ORA‘
SIZE
10M,

‘/home/oracle/tablespace/B.ORA‘
SIZE
5M

EXTENT
MANAGEMENT
LOCAL

UNIFORM
SIZE
1M

windows版本创建表空间

请注意:只有管理员才可以增加表空间

当表空间不足的时候可以用alter tablespace命令向表空间中追加数据文件并扩充表空间

修改表空间大小

--扩充表空间

ALTER
TABLESPACE nod_tablespace

ADD
DATAFILE
‘/home/oracle/tablespace/C.ORA‘
SIZE
100M

--查看表空间情况

SELECT
SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name

FROM dba_free_space

GROUP
BY tablespace_name;

创建用户时可以为用户指定某一表空间,那么该用户下所有数据库对象默认都存储在该空间中

指定用户的表空间为

create user nod identified by nod default tablespace nod_tablespace;

创建表指定表空间

create
table t2(id
int)

tablespace nod_tablespace

表和索引一旦创建,表空间无法进行二次修改

原文地址:https://www.cnblogs.com/nodchen/p/9744796.html

时间: 2024-08-04 15:27:11

Oracle 表空间的概念的相关文章

Oracle表空间,用户,用户授权

一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客"怎样玩转千万级别的数据"提到了过表分区的概念,其实表分区说到本质上就是按一定条件把不同数据放在不同的数据文件里,这些数据文件在物理上是相对独立的,在逻辑上又是一个整体.特别强调一下,在SQL Server中,建表时是默认把所有的表都保存在PRIMARY默认文件组 ,当数据库中表很多,并且数据量很大时,会

SQL创建Oracle表空间、用户以及给用户赋权的方法

//创建表空间 Create tablespace examination//创建表空间examination datafile 'c:\Oracle\zhangwei\examination.dbf'//与表空间关联的文件存放位置(要预先手动建好文件夹) size 100m//文件初始大小,千万不要写成mb(这里以下可略) autoextend on//文件大小可自动拓展 next 30m//每次拓展30m maxsize unlimited//不限制文件大小的上限 logging//生成对于

DBA_Tablespace表空间的概念和管控(概念)

2014-07-24 BaoXinjian 一.摘要 我们知道oarcle数据库真正存放数据的是数据文件(data files): Oarcle表空间(tablespaces)实际上是一个逻辑的概念,他在物理上是并不存在的,那么把一组data files 捻在一起就成为一个表空间: 在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构: 从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成: 1. 表空间属性 一个数据库可以包含多个表

Oracle表空间基础(1)

一.Oracle表空间概述 表空间是Oracle数据库中的一种逻辑结构.从逻辑层面上来说,表空间包含段,数据库中的对象是以段的形式来组织的,诸如表段,索引段等:从物理层面上来说,表空间是由文件构成的,数据库中的数据实际上是存储在文件当中的.表空间不是Oracle数据库中的特有概念,如在DB2中也有表空间这个概念. 二.本地管理的表空间 1.本地管理表空间中的扩展(extent)管理 使用extent management local子句显示声明创建本地管理的表空间,对于新的永久表空间来说,这是一

Oracle表空间、段、区和块简述

在Oracle学习过程中,存储结构,表段区块可能是每个初学者都要涉及到的概念.表空间.段.分区和数据块分别表示了Oracle进行数据存储的不同层次和结构.了解清楚这几个结构,有助于我们奠定一个稳固的学习基础,而且对于理解Oracle工作原理也有重要作用. 本文采用从小到大,逐步拓展的方式介绍四个结构,并且与Schema.数据文件的区别进行对比. 数据块(Block) 数据块Block是Oracle存储数据信息的最小单位.注意,这里说的是Oracle环境下的最小单位.Oracle也就是通过数据块来

interview:about Oracle表空间

Oracle表空间 SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计.Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献.可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的. 1概述 Oracle表空间之基本概念 ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构.一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件. 表空间是OR

Oracle表空间

Oracle表空间,布布扣,bubuko.com

【Oracle 常用查询】oracle表空间使用率统计查询

参考1 --查询表空间使用情况 SELECT Upper(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", To_char(Round(( D.TOT_GROOTTE_MB - F.TOTAL_BYTES ) / D.TOT_GROOTTE_MB * 100, 2), '990.99') || '

44.oracle表空间的使用

要给下属充分的发挥空间,要允许下属犯错,下属犯错自己能顶下来就顶着,不要盯得让下属觉得"这不是我的事,我只是个小打工的",团建要放在首位.不可在下属面前"装B",别人也不傻. Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献.可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的. ORACLE数据库被划分成称作为表空间[1]  的逻辑区域--形成ORACLE数据库的逻辑结构.一个ORACLE数据库能够