Oracle逻辑结构学习笔记

本文深入解析数据库的内部结构,从数据库到表空间、段、区和块的层级关系,探讨不同层级如何影响数据存储效率。并提供SQL查询语句,帮助读者了解和管理表空间的使用情况。

数据库(Database)由若干表空间(Tablespace)组成,表空间(Tablespace)由若干段(Segment)组成,段(Segment)由若干区(Extent)组成,区(Extent)又由若干块(Block)组成
在这里插入图片描述

随着表数据不断增加,区(EXTENT)及块(BLOCK)的个数也不断增多

Block越大,相同数据量的情况下存储的行就越多,Block需要的越少, 访问的逻辑读就越小,对应的consistent gets就越小

ps:实践情况并非Block越大越好,block越大,不同的访问的数据落在同一个Block的概率就越大,这个很容易产生热竞争

查看表空间的总体情况:

SELECT A.TABLESPACE_NAME "表空间名",
       A.TOTAL_SPACE "总空间(G)",
       NVL(B.FREE_SPACE, 0) "剩余空间(G)",
       A.TOTAL_SPACE - NVL(B.FREE_SPACE, 0) "使用空间(G)",
       CASE
         WHEN A.TOTAL_SPACE = 0 THEN
          0
         ELSE
          trunc(NVL(B.FREE_SPACE, 0) / A.TOTAL_SPACE * 100, 2)
       END "剩余百分比%" --避免分母为0
  FROM (SELECT TABLESPACE_NAME,
               trunc(SUM(BYTES) / 1024 / 1024 / 1024, 2) TOTAL_SPACE
          FROM DBA_DATA_FILES
         GROUP BY TABLESPACE_NAME) A,
       (SELECT TABLESPACE_NAME,
               trunc(SUM(BYTES / 1024 / 1024 / 1024), 2) FREE_SPACE
          FROM DBA_FREE_SPACE
         GROUP BY TABLESPACE_NAME) B
 WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME(+)
 ORDER BY 5;

转载于:https://www.cnblogs.com/mzq123/p/10848798.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值