表空间

 

在数据库系统中,存储空间是较为重要的资源,合理利用空间,不但能节省空间,还可以提高系统的效率和工作性能。 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

 

 

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

 

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

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

    一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级 ...

  2. Oracle表空间管理

    oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;              //修改表空间数据文件类型 2.ALT ...

  3. 【转】Oracle 表空间与数据文件

    --============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...

  4. Oracle表空间、段、区和块

    数据块(Block) 数据块Block是Oracle存储数据信息的最小单位.注意,这里说的是Oracle环境下的最小单位.Oracle也就是通过数据块来屏蔽不同操作系统存储结构的差异.无论是Windo ...

  5. interview:about Oracle表空间

    Oracle表空间 SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计.Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献.可 ...

  6. Oracle 表空间与数据文件

    -============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或多 ...

  7. oracle 表空间总结

                           表空间总结  一.认识表空间 1:表空间概念: 表空间是数据库中最大的逻辑单位,Oracle数据库采用表空间将相关的逻辑组件组合在一起,一个Oracle数 ...

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

    数据块(Block) 数据块Block是Oracle存储数据信息的最小单位.注意,这里说的是Oracle环境下的最小单位.Oracle也就是通过数据块来屏蔽不同操作系统存储结构的差异.无论是Windo ...

  9. oracle 表空间tablespace

    一.Oracle 表空间的组成 Everoone knows Oracle数据库真正存放数据的是数据文件,Oracle表空间是逻辑上的概念,他在物理上是并不存在的,把多个DataFile合并到一起就是 ...

随机推荐

  1. C++学习(十四)(C语言部分)之 数组

    上期回顾:三大循环 for while do while (循环体至少会执行一次)四大跳转 goto continue(提前跳出当前循环 进入下一个循环) break(跳出本次循环) return(跳 ...

  2. Linux常用命令详解-目录文件操作命令

    来源:https://www.linuxidc.com/Linux/2018-04/151801.htm 现实中,服务器(包含Linux,Unix,Windows Server)一般都摆放在机房里,因 ...

  3. 浅谈malloc()和free()工作原理

    编程之路刚刚开始,错误难免,希望大家能够指出.  malloc()和free()是我经常需要用到的函数,一般情况下,C程序使用malloc()在堆上分配内存,free()释放内存,两者的参数和返回值就 ...

  4. spring获取jdbc链接底层原理

    获取连接池的连接二种逻辑 1.一个事务中,一个连接 (底层逻辑:threadlocal存储  里面是map: key是数据源,value:链接) map存储应该是为多数据源使用的2.没有事务的serv ...

  5. "ERR unknown command 'cluster'"

    golang 连接redis 集群提示  "ERR unknown command 'cluster'" redisdb = redis.NewClusterClient(& ...

  6. airflow-operator 可以管理airflow 的kuberntes 自定义controller && crd

    使用airflow-operator 我们可以让airflow 可以很方便的运行在k8s集群环境中,当前还在开发中 主要分为两部分:airflowbbase && airfowclus ...

  7. 你不知道的JavaScript(下卷) (Kyle Simpson 著)

    第一部分 起步上路 第1章 深入编程 1.1 代码 1.2 表达式 1.3 实践 1.3.1 输出 1.3.2 输入 1.4 运算符 1.5 值与类型 1.6 代码注释 1.7 变量 1.8 块 1. ...

  8. 解决jpgraph在php7.0版本下时,无法显示例子图表的问题

    解决gpgraph4.02在php7.0显示空白框问题 Gpgraph类库强大的绘制图表的功能深受广大phper的喜爱,目前官方最新的版本是 jpgraph-4.0.2 ,适用于php5.0及7.0以 ...

  9. TypeScript 之 书写.d.ts文件

    https://m.runoob.com/manual/gitbook/TypeScript/_book/doc/handbook/Writing%20Definition%20Files.html ...

  10. linux shell创建目录、遍历子目录

    1.创建目录 代码1: #!/bin/bash#如果没有tmp_dir目录则创建static_dir="/web/fyunw.com/static"if [ ! -d $staic ...