zoukankan      html  css  js  c++  java
  • oracle入坑日记<四>表空间

    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
  • 相关阅读:
    springboot事务注解@Transactional
    Springboot + mybatis + React+redux+React-router+antd+Typescript(三): 上线
    Springboot + mybatis + React+redux+React-router+antd+Typescript(二): React+Typescrip项目的搭建
    Springboot + mybatis + React+redux+React-router+antd+Typescript(一): 后台Springboot+Mybatis的搭建
    spring(四):spring与mybatis结合
    spring(三):springAOP的各种织入方式一览
    spring(二):简单阐述springAOP的实现原理
    spring(一):spring IoC的注入方式总结
    java web(七): mybatis的动态sql和mybatis generator自动生成pojo类和映射文件
    java web(六):mybatis之一对一、一对多、多对多映射
  • 原文地址:https://www.cnblogs.com/MirageFox/p/10239096.html
Copyright © 2011-2022 走看看