oracle入坑日记<四>表空间

 

1
 
表空间是什么

1.一、数据表看作的货品,表空间就是存放货品的仓库。SQLserver 用户能够把表空间看作 SQLserver 中的数据库。html

1.二、引用【日记二】的总结来解释表空间。数据库

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

 

 

2
 
表空间分类、做用

2.一、表空间有三种:ide

  2.1.一、数据表空间:用于存放数据(表)的主要表空间;flex

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

  2.1.三、UNDO表空间:主要做用是 事务恢复、事务回滚、读一致性 :操作系统

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

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

    2.1.3.三、读一致性:当进行DML操做时,undo段会记录数据变动前的状态(经过构造原数据的一致性数据块)。若是用户尚未进行commit(提交)操做,其余人查询此条数据会看到数据变动前的状态。由于其余用户读到的数据是undo段中原数据块中的数据,保证没有commit(提交)的数据读取的一致性。code

 

 

3
 
建立表空间

  3.一、建立临时表空间

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

3.二、建立数据表空间

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

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.一、删除表空间  drop tablespace [tablespace_name] including contents and datafiles; --删除表空间及数据文件 

4.二、 表空间文件没法直接手动删除。若强行删除dbf文件,可能引发数据库异常。

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

此日记系列仅作普通开发使用Oracle,并不是专业DBA
相关文章
相关标签/搜索