Home >Database >Mysql Tutorial >Oracle的基础问题segment extent block

Oracle的基础问题segment extent block

WBOY
WBOYOriginal
2016-06-07 17:00:131257browse

l extent和segment的关系每个extent 的oracle block 的数目是由extent的大小/DB_BLOCK_SIZE 确定的,extent 大小是由创建或修改se

l extent和segment的关系

每个extent 的Oracle block 的数目是由extent的大小/DB_BLOCK_SIZE 确定的,extent 大小是由创建或修改segment 的SQL 语句中storage子句中的initial, next, pctincrease等参数确定。


每个segment中的extent的数目是一个动态扩展的值, 最大值由创建或修改该segment的SQL语句的storage子句中的maxextents 值确定。


通常非分区的表的存储就是一个 segment。


segment包含多extent,可以由一些storage参数控制。


一个extent有多少block也要看你定义存储参数的时候extent是多大,也就是segment头有一个block用来保存相关的存储信息的,,块越大就存的越多。

l block的大小如何定义

数据块特指data block,是数据文件的组成部分。
    重做日志的叫redo block,不叫data block, 大小一般等于操作系统块的大小,可以通过查询语句select max(lebsz) from x$kccle;来获得redo block的大小。

如:

SQL> conn /as sysdba

Connected.

SQL> select max(lebsz) from x$kccle;


MAX(LEBSZ)

----------

       512

控制文件的也不叫data block,叫control file block可以功过查询语句select distinct block_size from v$controlfile; 来获得其大小。

如:

SQL> select distinct block_size from v$controlfile;


BLOCK_SIZE

----------

     16384

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn