欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 数据结构知多少(一)

程序员文章站 2022-05-04 10:01:51
...

更多精彩内容请光临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