浏览了很多书后,今天开始看concepts第2遍,这次看英文版,在看的过程中对有的问题会记录,有的问题会做实验加深印象。
今天看extent空间是否连续的问题,来源于concepts chapter 2:
the extents of a segment may or may not be contiguous on disk.
以下节选ask tom中对这个问题的一些讨论观点
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1056598515561
绝大大部分情况下(99%)extent是空间不连续的
extent在操作系统的载体其实是File,而File的空间是由操作系统分配的。在操作系统上文件并不是空间连续的,所以extent并不是空间连续的。
extent中的block,逻辑上,block 1 在block 2之前。但物理上block 1可能在空间上和block 2 相距很远
网友用以下的查询来印证extent空间不连续:
SQL> select segment_type, tablespace_name, extent_id, file_id, block_id from dba_extents where segment_name = 'DE_TX_NODE' and extent_id < 3;
SEGMENT_TYPE TABLESPACE_NAME EXTENT_ID FILE_ID BLOCK_ID
---------------- ---------------- ---------- ---------- ----------
TABLE USERS 0 16 1321
TABLE USERS 1 15 1241
TABLE USERS 2 16 63417
3 rows selected.
extent 0在datafile 16上,extent 1在datafile 15上,extent 2在datafile 16上,所以extent是空间不连续的。Tom认为并不能证明extent空间不连续,而是证明了Concepts中的另一个extent的概念:
the segment can span datafiles. However, each extent can contain data from only one datafile.
什么情况下extent空间连续
对于一个新的,从没有使用过的磁盘,一个用户使用,只用于Oracle
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22111412/viewspace-616499/ ,如需转载,请注明出处,否则将追究法律责任。