数据库的物理存储结构

select * from v$datafile;

数据库的逻辑存储结构,从表空间开始查起
一个数据库对象的逻辑存储结构如下
表空间-段-区-块

select * from dba_tablespaces;
select * from dba_segments
where tablespace_name='KYC_VEH';
select * from dba_segments
where tablespace_name='KYC_VEH' and segment_name='VEHICLE_INFO';
select * from dba_extents
where tablespace_name='KYC_VEH' and segment_name='VEHICLE_INFO';

初始是按照一个区8个块进行分配的,也即65536B,initial_extent是65536,即dba_segments中的initial_extent字段值
select 16*8*8192 from dual;
1048576
初始大小占完之后,再分配时是按照一个区128个块进行分配的,也即1MB,next_extent是1048576,即dba_segments中的next_extent字段值
select 128*8192 from dual;
1048576

一个段占用了17 extents
一个区8个块,即一个区是65536字节
一个块8192字节

block_id是全局的,其它的是相对的
select * from dba_segments;
主要关注header_block,blocks两个字段的值变化,并且可以降序或升序看一下

==============================

dba_extents 中除了记录每个extent启始块号(block_id),还记录了该extent中有多少个块(blocks)。所以,只要查到11943在哪个范围内就可以知道这个块属于哪个extent,属于哪个段了。但是,每个数据文件中的块号都是从头开始编号的,意味着每个数据文件都可能会有11943这个块号。所以,你还需要知道这个块属于哪个文件。

另一种方法:DUMP出该数据块的任一行记录的ROWID,通过ROWD可以直接计算出对应的唯一文件号和对象号,从而知道该块存在哪了个数据文件上,是属于哪个对象的。
select  dbms_rowid.rowid_object(rowid) objectid--对象号
       ,dbms_rowid.rowid_relative_fno(rowid) fileid--文件号
       ,dbms_rowid.rowid_block_number(rowid) blockid--块号
       ,dbms_rowid.rowid_row_number(rowid) rownums--行号
from dual

oracle存储结构的更多相关文章

  1. Oracle 存储结构

    数据库是存储数据的容器,它的主要功能是保存和共享数据. oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的. 逻辑存储结构:oracle内 ...

  2. Oracle 存储结构一

    了解块中表行数据的存储 Oracle数据存储模型 逻辑结构在左,物理结构在右 有一个关系使用虚线绘制,表示段与数据文件的多对多关系.之所以使用虚线表示关系,是因为这种多对多关系不应存在. 表空间实体消 ...

  3. Oracle存储结构-表空间

    表空间 oracle文件注意的问题 控制文件,redolog文件,数据文件----一定要放在存储上 问题:银行用户,集群切换失败,原因是数据库中部分的文件未放到存储上 存储三种组织形式:文件系统.AS ...

  4. Oracle 存储结构三

    Oracle数据库服务器自动管理空间的方法 段空间的分配 空间以区间的形式分配给段,区间是一组连续的Oracle块.每个数据文件都有一个位图,来描述文件中块的状态,块可能是空闲的,也可能是区间中已分配 ...

  5. Oracle 存储结构二

    创建和管理表空间 创建表空间 典型语句: CREATE SMALLFILE TABLESPACE "JWTS" DATAFILE '/u01/app/oracle/oradata/ ...

  6. Oracle存储结构-段区块

    段 一个段建立以后首先会分配一个区,区中包括含8个块,这时执行insert插入数据,当这个区写满后,会在分配一个区 1.一个段建立以后,Oracle如何给段分配区? 2.段分配到区以后,有了空闲空间, ...

  7. Oracle 逻辑存储结构

    一.总述 逻辑存储结构是 Oracle 数据库存储结构的核心内容,对 Oracle 数据库的所有操作都会涉及逻辑存储结构.逻辑存储结构是从逻辑的角度分析数据库的组成,是对数据存储结构在逻辑概念上的划分 ...

  8. 学习笔记:oracle学习一:oracle11g体系结构之体系结构概述和逻辑存储结构

    目录 1.oracle 11g体系结构概述 1.1 三个重要概念 1.2 oracle数据库存储结构 2 逻辑存储结构 2.1 数据块(Data Blocks) 2.2 数据区(Extent) 2.3 ...

  9. Oracle存储——逻辑结构

    Oracle 数存储——物理结构 Oracle存储结构:物理结构+逻辑结构 Oracle 数据库存储逻辑结构 Oracle Schema Objects(Schema Object Storage A ...

随机推荐

  1. openssh升级,打补丁

    以Root用户上传升级包至/home/dou/system openssh-7.5p1.tar.gz openssl-1.0.2l.tar.gz zlib-1.2.11.tar.gz l  安装所需包 ...

  2. Angular4.0 项目报错:Unexpected value xxxComponent' declared by the module 'xxxxModule'. Please add a @Pipe...

    最近刚刚开始学习angular 4.0,在网上找了一个小项目教程学习,然而学习的过程有点艰辛,,各种报错,我明明就是按照博主的步骤老老实实走的呀!!话不多说,上bug-  .- Uncaught Er ...

  3. SpringBoot之依赖注入DI

    相关注解: @Component @Service @Controller @Repository --------------------------------------------- @Inj ...

  4. EXCEL VBA——数组,使用数组提升程序效率

    数组的存在价值就是让代码提速. 数组和非数组的差异只在于数据的保存和读取方式不同,虽然操作这些数据的方法或者函数并没有不同,但是保存与读取上的差异却使VBA代码在处理数据时实现了质的飞跃.在完成相同工 ...

  5. simple shell

    NOW = $(data + "%Y-%m-%d-%H-%M-%S") DIR = /export/backup function exportData(){ exportCmd ...

  6. PAMIE模块安装

    PAMIE2.0适用于python2.0.x,PAMIE3.0适用于python3.0.x. 这里记录安装PAMIE2.0方法: 一.安装PAMIE2.0 1.下载PAMIE20压缩包:https:/ ...

  7. 牛客网多校第3场C-shuffle card 平衡树或stl(rope)

    链接:https://www.nowcoder.com/acm/contest/141/C 来源:牛客网 题目描述 Eddy likes to play cards game since there ...

  8. Harbor使用 -- 修改80端口

    在公网上,一般情况下都不暴露默认端口,避免被攻击! 以下修改harbor的默认80端口为其他端口! 我这里示例修改为1180端口! 注意:以下步骤都是在harbor目录下操作!!! 1.修改docke ...

  9. sql 同一个字段在查询结果中出现两次

    SELECT GET .daytime,    GET.data AS GET,    xh.data AS xh FROM    ( SELECT daytime, SUM ( get_sum ) ...

  10. Quartz的基本使用之入门(2.3.0版本)

    一.Quartz可以用来做什么 Quartz是一个强大任务调度框架,我工作时候会在这些情况下使用到quartz框架,当然还有很多的应用场景,在这里只列举2个实际用到的 餐厅系统会在每周四晚上的22点自 ...