1
 
表空间是什么

1.1、数据表看做的货品,表空间就是存放货品的仓库。SQLserver 用户可以把表空间看做 SQLserver 中的数据库。

1.2、引用【日记二】的总结来解释表空间。

一个数据库由一个或多个表空间组成,一个表空间只能属于一个数据库
一个表空间由一个或多个多个数据文件组成,一个数据文件只能属于一个表空间
一个数据文件由一个或多个操作系统块组成,每一个操作系统块只能数以一个数据文件
一个表空间可以包含一个或多个段,一个段只能属于一个表空间
一个段由一个或多个区组成,每一个区只能属于一个段
一个区由一个或多个Oracle 块组成,每一个Oracle块只能属于一个区
一个区只能属于一个数据文件,数据文件的空间可以分配到一个或多个区
一个Oracle 块由一个或多个操作系统块组成,一个操作系统块是一个Oracle块的一部分

2
 
表空间分类、作用

2.1、表空间有三种:

  2.1.1、数据表空间:用于存放数据(表)的主要表空间;

  2.1.2、临时表空间:在数据库进行排序运算、管理索引、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理;

  2.1.3、UNDO表空间:主要作用是 事务恢复、事务回滚、读一致性 :

    2.1.3.1、事务恢复:在进行DML操作时,insert、update、delete操作时,undo段记录事务的反向操作并且redo日志也记录undo段的操作,既redo保护undo段的信息。当实例关闭或意外崩溃后,再次open(打开)时实例需要对没有commit(提交)的事务进行回滚,完成事务的恢复。

    2.1.3.2、事务回滚:用户进行DML操作后没有进行commit(提交),需要修改前的数据。只要该操作在undo段保护的时间内,此时执行rollback(回滚)操作可以回滚到最近记录点或上一次commit(提交)操作后的状态,恢复到数据修改前的状态。

    2.1.3.3、读一致性:当进行DML操作时,undo段会记录数据变更前的状态(通过构造原数据的一致性数据块)。如果用户还没有进行commit(提交)操作,其他人查询此条数据会看到数据变更前的状态。因为其他用户读到的数据是undo段中原数据块中的数据,保证没有commit(提交)的数据读取的一致性。

3
 
创建表空间

3.1、创建临时表空间

-- 创建临时表空间
create temporary tablespace [tempspace_name]
tempfile [dbf_path] --指定表空间dbf文件存放位置
size 50m --初始大小50m
autoextend on
next 50m maxsize 20480m --自动增长50m 最大2g
extent management local;

3.2、创建数据表空间

-- 创建数据表空间
create tablespace [tablespace_name]
logging
datafile [dbf_path] --指定表空间dbf文件存放位置
size 50m --初始大小50m
autoextend on
next 50m maxsize 20480m --自动增长50m 最大2g
extent management local;

3.3、创建用户并指定表空间(也可以直接给已有用户指定表空间)

--创建用户并指定表空间
create user [user_name] identified by [password] --创建用户
default tablespace [tablespace_name] --指定数据表空间
temporary tablespace [tempspace_name]; --指定临时表空间
--已有用户指定表空间
alter user [user_name] default tablespace [tablespace_name];

如果新建用户指定完表空间后需要授权  grant connect,resource,dba to [user_name];

4
 
删除表空间

4.1、删除表空间  drop tablespace [tablespace_name] including contents and datafiles; --删除表空间及数据文件

4.2、 表空间文件无法直接手动删除。若强行删除dbf文件,可能引起数据库异常。

<<============================================================================================================================================>>

此日记系列仅做普通开发使用Oracle,并非专业DBA

oracle入坑日记<四>表空间的更多相关文章

  1. oracle入坑日记<五>数据表

    1   数据表 1.1.数据表是存放数据字段信息的地方:在Oracle,数据表拥有者单位是用户,同时数据表属于表空间.如: 登录my_user用户在orcl表空间下创建的表就是 my_user用户在o ...

  2. oracle入坑日记<六>自增列创建和清除(含序列和触发器的基础用法)

    0   前言 用过 SQLserver 和 MySQL 的自增列(auto_increment),然而 Oracle 在建表设置列时却没有自增列. 查阅资料后发现 Oracle 的自增列需要手动编写. ...

  3. oracle入坑日记<三>用户详解(角色理解)

    1   用户是什么 1.1.权限管理是Oracle的精华,不同用户登录到同一数据库中,可能看到不同数量的表,拥有不同的权限.Oracle 的权限分为系统权限和数据对象权限,共一百多种.如果把Oracl ...

  4. oracle入坑日记<二>认识oracle(含sqlplus基础使用)

    1.SID(数据库实例) 1.1. oracle安装的时候有一项叫[全局数据库名]的填写项,这个就是oracle的SID也是数据库的唯一标识符: 1.2.一个oracle数据库有且只有一个SID(一般 ...

  5. oracle入坑日记<一> 安装

    学习日记系列(前辈/大神勿喷) 一.下载 下载地址:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads ...

  6. Oracle基础(三) 表空间

    数据库的存储结构 数据库主要用于存储和检索相关的信息,Oracle数据库包含逻辑结构和物理结构. 物理结构是指现实存储单元,由一组文件组成如数据文件.日志文件.控制文件. 数据文件:用于存储数据的文件 ...

  7. Oracle 数据库、实例、表空间、用户、数据库对象

    Oracle是一种数据库管理系统,是一种关系型的数据库管理系统.通常情况了我们称的“数据库”,包含了物理数据.数据库管理系统.内存.操作系统进程的组合体,就是指这里所说的数据库管理系统. 完整的Ora ...

  8. 转 Oracle Transportable TableSpace(TTS) 传输表空间 说明

    ############1   迁移数据库的集中方法 三.相关技术 迁移方式 优势 不足1 Export and import • 对数据库版本,以及系统平台没有要求 • 不支持并发,速度慢• 停机时 ...

  9. Angular 从入坑到挖坑 - 表单控件概览

    一.Overview angular 入坑记录的笔记第三篇,介绍 angular 中表单控件的相关概念,了解如何在 angular 中创建一个表单,以及如何针对表单控件进行数据校验. 对应官方文档地址 ...

随机推荐

  1. 从码云上下载react项目并配置成可运行状态

    (第一次写,如有不足之处,欢迎指出) 一.下载项目: 1.首先保证安装了git, 2.然后在本地想要存放项目位置打开git(Git Bash Here),再复制码云中如图所示的地址: 3.在git中输 ...

  2. JAVA第九次作业

    JAVA第九次作业 (一)学习总结 1.用思维导图对javaIO操作的学习内容进行总结. 参考资料: XMind. 2.下面的程序实现了文件的拷贝,但采用的是一个字节一个字节的读写方式,效率很低.使用 ...

  3. systemd的新特性及unit常见类型分析与awk用法示列

    简述systemd的新特性及unit常见类型分析,能够实现编译安装的如nginx\apache实现通过systemd来管理 系统引导的新特性 系统引导时实现服务启动: 按需激活进程: 系统状态快照: ...

  4. vue列表拖拽组件 vue-dragging

    安装 $ npm install awe-dnd --save 应用 在main.js中,通过Vue.use导入插件 import VueDND from 'awe-dnd' Vue.use(VueD ...

  5. 转载 JAVA gc垃圾回收机制

    thanks:https://m.oschina.net/u/123553 一.GC概要 JVM堆相关知识    为什么先说JVM堆?    JVM的堆是Java对象的活动空间,程序中的类的对象从中分 ...

  6. Spark源码系列:DataFrame repartition、coalesce 对比

    在Spark开发中,有时为了更好的效率,特别是涉及到关联操作的时候,对数据进行重新分区操作可以提高程序运行效率(很多时候效率的提升远远高于重新分区的消耗,所以进行重新分区还是很有价值的).在Spark ...

  7. 关于linux crontab定时操作oracle不执行的问题解决方案

    问题描述:启动定时任务对oracle表进行操作,但是手动执行脚本无问题,定时任务执行无结果不反馈消息 解决方案:以centos7为例吗,首先确定脚本可手动执行,然后检查/var/log/cron下的日 ...

  8. python中使用if __name__ == '__main__':

    引子 在python中,假设在一个test1.py的模块中定义了一个foo函数,然后调用函数foo进行测试的时候会产生一个内存空间.当你把这个模块导入到test2.py模块中,接下来如果在test2. ...

  9. DOM 基础

    文档对象模型(Document Object Model)是表示和处理一个HTML或XML文档的常用方法 查找 直接查找 var obj = document.getElementById('i1') ...

  10. GanttProject 如何显示今天和项目结束

    GanttProject 如何显示今天和项目结束 GanttProject 在甘特图中可以很直观的看出项目开始和结束. 同时也可以看到今天的. 把今天的时间线打开,默认是关闭.