• oracle 体系结构 基本表空间介绍


    5、基本表空间介绍

    a. 系统表空间

    主要存放数据字典和内部系统表基表

    查看数据数据字典的SQL

    select * from dict

    查看内部系统表的SQL

    select * from v$fixed_view_definition

    DBA对系统的系统表中的数据字典必须有一个很深刻的了解,他们必须准备一些基础的SQL语句,通过这些SQL可以立即了解系统的状况和数据库的状态,这些基本的SQL包括

    系统的剩余空间

    系统的SGA

    状态系统的等待

    用户的权限

    当前的用户锁

    缓冲区的使用状况等

    在成为DBA 的道路上我们不建议你过分的依赖于OEM/Quest 等优秀的数据库管理工具,因为他们不利于你对数据数据字典的理解,SQL语句可以完成几乎全部的数据库管理工作。

    大量的读少量的写是该表空间的一个显著的特点。

    b. 临时表空间.

    临时表空间顾名思义是用来存放临时数据的,例如排序操作的临时空间,他的空间会在下次系统启动的时候全部被释放。

    c. 回滚段表空间

    i. 回滚段在系统中的作用

    当数据库进行更新插入删除等操作的时候,新的数据被更新到原来的数据文件,而旧的数据(Before Image)就被放到回滚段中,如果数据需要回滚,那么可以从回滚段将数据再复制到数据文件中。来完成数据的回滚。在系统恢复的时候, 回滚段可以用来回滚没有被commit 的数据,解决系统的一至性。

    回滚段在什么情况下都是大量的写,一般是少量读,因此建议把回滚段单独出来放在一个单独的设备(如单独的磁盘或RAID),以减少磁盘的IO争用。

    ii. 回滚段的工作方式

    一个回滚表空间可以被划分成多个回滚段.

    一个回滚段可以保存多个会话的数据.

    回滚段是一个圆形的数据模型

    假设回滚段由4 个区间组成,他们的使用顺序就是区间1à区间2à区间3à区间4à区间1。也就是说,区间是可以循环使用的,当区间4到区间1的时候,区间1里面的会话还没有结束, 区间4用完后就不能再用区间1,这时系统必须分配区间5,来继续为其他会话服务服务。

    我们分析一个Update 语句的完成

    ①. 用户提交一个Update 语句

    ②. Server Process 检查内存缓冲.

    如果没有该数据块的缓冲,则从磁盘读入

    i. 如果没有内存的有效空间,DBWR被启动将未写入磁盘的脏缓冲写入磁盘

    ii. 如果有有效空间,则读入

    ③. 在缓冲内更新数据

    i. 申请一个回滚段入口,将旧数据写如回滚段

    ii. 加锁并更新数据

    iii. 并在同时将修改记录在Redo log buffer中

  • 相关阅读:
    Python下划线简介
    OneHot编码
    搜狗新闻原始数据处理
    2. mirth connect探索------------ cs模式客户端登录
    System.Net.WebException: 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。 ---> System.Security.Authentication.AuthenticationException: 根据验证过程,远程证书无效。
    python学习历程-安装篇(一)
    Python学习笔记(一)
    使用dva 搭建ant design mobile项目
    [error] OpenEvent("Global gx_stop_25184") failed (2: The system cannot find the file specified)
    nginx 上部署 react 项目
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400732.html
Copyright © 2020-2023  润新知