zoukankan      html  css  js  c++  java
  • oracle数据存储结构

    数据块(data block) oracle最小的逻辑部件,数据块大小合适的选择可以提高性能;
    区段(extent)由几个相邻的数据块组合在一起;

    段(segment)有一组区段构成;

    表空间(tablespace)是包含物理数据文件的逻辑实体,存放数据库的所有可用数据,因此表空间的尺寸也是包含数据的数据文件尺寸的总和,是oracle 主要的逻辑存储结构。

     

    tablespacesegment, segmentextentextent有连续在一起的db block组成。

     

    data block的大小是操作系统的data block的整数倍,ORACLE默认是8K,还有4K16K32k几种。


    在参数文件里的参数为DB_BLOCK_SIZE,查看方法

    show parameter db_block_size  

    查看所有的参数列表

    Show parameters;

    9i显示结果如下

    SQL> show parameter db_block_size;

     

    NAME                                 TYPE        VALUE

    ------------------------------------ ----------- ------------------------------

    db_block_size                        integer     8192

     

    所以默认是8K=1024Byte*8=8192Byte

    可以通过PCTFREE,PCTUSER,FREELIST进行管理,从9i开始ORACLE可以自动管理。
    extent
    是几个逻辑上相邻的data block组合在一块。

    segment
    通常一张表是一个segment,一个INDEXBLOBCLOB各自占用一个segment

    tablespace
    是数据库中数据逻辑存储的地方,一个tablespace可以包含多个数据文件。上面三个的配置如果和tablespace的配置有冲突,以tablespace为准。

     

    注意

    通过 select blocks  from dba_tables where table_name='ABC' and wner='SYS';

    结果是0

    Insert into abc(1,aaa);

    在查一次

    结果为 1

    Rollback;(回滚的时候)

    在查 select * from abc where id=1 没记录

     

    select blocks  from dba_tables where table_name='ABC' and wner='SYS';

    结果仍然为 1

    说明回滚时并不回滚快的物理化 而是回滚的数据逻辑

  • 相关阅读:
    Linux下分析某个进程CPU占用率高的原因
    Linux下查看某一进程所占用内存的方法
    jbd2导致系统IO使用率高问题
    Linux iotop命令详解
    1.Redis详解(一)------ redis的简介与安装
    Redis详解(十三)------ Redis布隆过滤器
    12.Redis详解(十二)------ 缓存穿透、缓存击穿、缓存雪崩
    面试问题总结
    算法与数据结构基础<二>----排序基础之插入排序法
    CarSim、Adams、Cruise和Simulink四款仿真软件的对比
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9332153.html
Copyright © 2011-2022 走看看