zoukankan      html  css  js  c++  java
  • 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中

  • 相关阅读:
    LeetCode Best Time to Buy and Sell Stock
    LeetCode Scramble String
    LeetCode Search in Rotated Sorted Array II
    LeetCode Gas Station
    LeetCode Insertion Sort List
    LeetCode Maximal Rectangle
    Oracle procedure
    浏览器下载代码
    Shell check IP
    KVM- 存储池配置
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400732.html
Copyright © 2011-2022 走看看