时间:2021-07-01 10:21:17 帮助过:45人阅读
更多精彩内容请光临www.leonarding.com《Oracle数据结构知多少(一)》一概念篇这里呢我只是把Oracle逻辑结构和物理结构所涉及到的segment段extent区block块的概
更多精彩内容请光临
《Oracle 数据结构知多少(一)》
一 概念篇
这里呢我只是把Oracle逻辑结构和物理结构所涉及到的segment段 extent区 block块的概念和相互管理简要的说明一下。
Segment段:Oracle内部常叫“段对象”,凡是分配存储空间的对象就叫段对象。既可以自动段空间管理ASSM,又可以手动段空间管理MSSM。段属性依赖于块属性。
Extent区:多个区组成一个段,区是Oracle最小的分配单元,区与区不一定是连续的,区可以分布在不同的数据文件上。
Block块:一片连续的块组成一个区,是Oracle最小的IO单元,最小的操作单元,RMAN备份/恢复最小单元,数据库块是操作系统块的整数倍。
数据I/O:由磁盘与内存之间的通道决定的,而不是由数据怎么分割决定的。分割只是善于管理,I/O方面影响不大。(例如 放在一个表空间和放在多个表空间)
一方面I/O通道导致性能下降
一方面latch争用导致性能下降
二 数据库版本
LEO1@LEO1> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
三 实验篇
1.查看一个表空间,有多少个extents,多少blocks,多少空余空间。
查看表空间空间使用情况,我想这是100%DBA每天都要做的工作,现在我把自己常用的表空间查询语句测试一下。
LEO1@LEO1> select df.tablespace_name "表空间名",totalspace "总空间M",freespace "剩余空间M",round((1-freespace/totalspace)*100,2) "使用率%"
from
(select tablespace_name,round(sum(bytes)/1024/1024) totalspace from dba_data_files group by tablespace_name) df,
(select tablespace_name,round(sum(bytes)/1024/1024) freespace from dba_free_space group by tablespace_name) fs
where df.tablespace_name=fs.tablespace_name order by df.tablespace_name ;
表空间名 总空间M 剩余空间M 使用率%
--------------------------------------------------------------------------------------------------------------------
LEO1 400 248 38 业务表空间
SYSAUX 610 38 93.77
SYSTEM 710 18 97.46
UNDOTBS1 165 134 18.79
UNDOTBS2 100 0 100
USERS 5 4 20
查看一个表空间,有多少个extents,多少blocks呢?
LEO1@LEO1> select tablespace_name,file_id,extent_id,block_id,blocks from dba_extents where tablespace_name='LEO1' order by extent_id;
TABLESPACE_NAME FILE_ID EXTENT_ID BLOCK_ID BLOCKS
------------------------------ ---------- ---------- ---------- ----------
LEO1 5 22 39040 128
LEO1 5 22 40192 128
LEO1 5 22 41344 128
LEO1 5 22 42752 128
LEO1 5 22 8576 128