数据库的物理存储结构

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. 经典排序js实现

    https://www.cnblogs.com/onepixel/articles/7674659.html

  2. JAVA中的责任链模式(CH01)

    责任链模式的关键在于每一个任务处理者都必须持有下一个任务处理者的作用 纯的责任链:纯的责任链是只能也必须只有一个任务处理者去处理这个任务,       不会出现没有处理者处理的情况,也不会出现有多个处 ...

  3. Monent.js:强大的日期处理类库

    一.介绍及安装 1.1 介绍 Moment.js是一个优秀的JavaScript 日期处理类库. 如果没有Moment.js之类的日期处理库,我们如果需要获得格式化后的日期.往往需要通过new Dat ...

  4. spring-data-redis HashOperations

    spring-data-redis HashOperations /** * 从散列中删除给定的多个元素 * @param key 不能为null 散列的名称 * @param hashKeys 需要 ...

  5. npm下设置NODE_ENV下mac与windows的差异

    linux & mac: export NODE_ENV=production windows:set NODE_ENV=production windows: mac:

  6. React文档(九)list和key

    首先,我们回顾一下在js里如何转换数组. 给出下面的代码,我们使用map()函数来获取一个数组的numbers然后将值变成两倍大.我们分配新数组由map()返回: const numbers = [1 ...

  7. Descriptors;Hello1 project中的Web.xml

    Deployment Descriptors(描述符)是一个xml文件,用来描述如何部署一个模块或者应用(根据描述符中定义的配置和容器选项).举例来说,一个EJB的部署描述符会向EJB容器传递如何管理 ...

  8. DNS及DNS有什么作用

    什么是DNS,DNS有什么作用: DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直 ...

  9. Linux 服务器中木马及木马清除

    1.查看流量图发现问题 查看的时候网页非常卡,有的时候甚至没有响应 2.top动态查看进程 我马上远程登录出问题的服务器,远程操作很卡,网卡出去的流量非常大,通过top发现了一个异常的进程占用资源比较 ...

  10. UEBA 学术界研究现状——用户行为异常检测思路:序列挖掘prefixspan,HMM,LSTM/CNN,SVM异常检测,聚类CURE算法

    论文 技术分析<关于网络分层信息泄漏点快速检测仿真> "1.基于动态阈值的泄露点快速检测方法,采样Mallat算法对网络分层信息的离散采样数据进行离散小波变换;利用滑动窗口对该尺 ...