亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

ORACLE中段的HEADER_BLOCK示例詳析

2024-08-29 14:01:13
字體:
供稿:網(wǎng)友

前言

段(segment)是一種在數(shù)據(jù)庫中消耗物理存儲空間的任何實(shí)體(一個段可能存在于多個數(shù)據(jù)文件中,因?yàn)槲锢淼臄?shù)據(jù)文件

是組成邏輯表空間的基本物理存儲單位)

最近在學(xué)習(xí)段(segment)、區(qū)間(extent)時,對段的HEADER_BLOCK有一些疑問,本文記錄一下探究的實(shí)驗(yàn)過程以及相關(guān)總結(jié),,如有不對的地方,敬請指出。以SCOTT.EMP表為例(下面測試環(huán)境為Oracle Database 10g Release 10.2.0.5.0 - 64bit Production):

SELECT FILE_ID,   BLOCK_ID,   BLOCKS FROM DBA_EXTENTS WHERE OWNER ='&OWNER'  AND SEGMENT_NAME = '&TABLE_NAME'; 

ORACLE,HEADER_BLOCK

SELECT HEADER_FILE  , HEADER_BLOCK  , BYTES  , BLOCKS  , EXTENTS FROM DBA_SEGMENTS WHERE OWNER='&OWNER' AND SEGMENT_NAME='&SEGMENT_NAME';

ORACLE,HEADER_BLOCK

如上所示,DBA_SEGMENTS 中的HEADER_BLOCK 與DBA_EXTENTS的BLOCK_ID不同(HEADER_BLOCK:文件ID為4的第27個塊,區(qū)間的第一個塊的BLOCK_ID為第25個塊),這個的原因如下:

一個segment的第一個區(qū)的第一個塊是FIRST LEVEL BITMAP BLOCK,第二個塊是SECOND LEVEL BITMAP BLOCK,這兩個塊是用來管理free block的,第三個塊是PAGETABLE SEGMENT HEADER,這個塊才是segment里的HEADER_BLOCK,再后面的塊就是用來記錄數(shù)據(jù)的。所以25+2=27. 詳細(xì)可以參考《循序漸進(jìn)ORCLE:數(shù)據(jù)庫管理、優(yōu)化與備份》這本書的第5章。

下面我們創(chuàng)建一個表,測試一下是否也是這個規(guī)律,如下所示:

SQL> CREATE TABLE TEST1.MMM  2 AS 3 SELECT * FROM DBA_OBJECTS; Table created. SQL> COL SEGMENT_NAME FOR A32;SQL> SELECT SEGMENT_NAME 2   ,FILE_ID 3   ,BLOCK_ID 4   ,BLOCKS 5 FROM DBA_EXTENTS  6 WHERE SEGMENT_NAME='MMM' AND OWNER='TEST1' 7 ORDER BY BLOCK_ID ASC; SEGMENT_NAME      FILE_ID BLOCK_ID  BLOCKS-------------------------------- ---------- ---------- ----------MMM          76   9   8MMM          76   17   8MMM          76   25   8MMM          76   33   8MMM          76   41   8MMM          76   49   8MMM          76   57   8MMM          76   65   8MMM          76   73   8MMM          76   81   8MMM          76   89   8 SEGMENT_NAME      FILE_ID BLOCK_ID  BLOCKS-------------------------------- ---------- ---------- ----------MMM          76   97   8MMM          76  105   8MMM          76  113   8MMM          76  121   8MMM          76  129   8MMM          76  137  128MMM          76  265  128MMM          76  393  128MMM          76  521  128MMM          76  649  128MMM          76  777  128 22 rows selected. SQL> SELECT HEADER_FILE 2  , HEADER_BLOCK 3  , BYTES 4  , BLOCKS 5  , EXTENTS  6 FROM DBA_SEGMENTS  7 WHERE OWNER='TEST1' AND SEGMENT_NAME='MMM'; HEADER_FILE HEADER_BLOCK  BYTES  BLOCKS EXTENTS----------- ------------ ---------- ---------- ----------   76   11 7340032  896   22

如上所示,段對象TEST1.MMM的header_block為11 ,而對應(yīng)的區(qū)間的第一個塊對象ID為9, 也是9+2=11,確實(shí)是如此,那么我們來DUMP數(shù)據(jù)塊看看,如下所示

SQL> alter system dump datafile 76 block 9; System altered. SQL> alter system dump datafile 76 block 10; System altered. SQL> alter system dump datafile 76 block 11; System altered. SQL> select user_dump.value  2   || '/'  3   || lower(instance.value)  4   || '_ora_'  5   || v$process.spid  6   || nvl2(v$process.traceid, '_'  7         || v$process.traceid, null)  8   || '.trc'"trace file"  9 from v$parameter user_dump  10   cross join v$parameter instance  11   cross join v$process  12   join v$session  13   on v$process.addr = v$session.paddr  14 where user_dump.name = 'user_dump_dest'  15   and instance.name = 'instance_name'  16   and v$session.audsid = sys_context('userenv', 'sessionid');  trace file--------------------------------------------------------------------------------/u01/app/oracle/admin/SCM2/udump/scm2_ora_22642.trc

第一個區(qū)的第一個塊(block_id=9)是FIRST LEVEL BITMAP BLOCK,第二個塊(block_id=10)是SECOND LEVEL BITMAP BLOCK,這兩個塊是用來管理free block的,第三個塊(block_id=11)是PAGETABLE SEGMENT HEADER,這個塊才是segment里的HEADER_BLOCK,再后面的塊就是用來記錄數(shù)據(jù)的

ORACLE,HEADER_BLOCK

ORACLE,HEADER_BLOCK

ORACLE,HEADER_BLOCK

不過有一個奇怪的現(xiàn)象,對SCOTT.EMP其數(shù)據(jù)塊做dump,發(fā)現(xiàn)25、26、27數(shù)據(jù)塊的type都是trans data,0x06表示的Block Type為 Table/cluster/index segment data block 。 不知是否因?yàn)镾COTT.EMP對象位于USERS表空間下的緣故。不過USER表空間也是ASSM管理的。具體情況尚不清楚?

ORACLE,HEADER_BLOCK

SQL> SELECT TABLESPACE_NAME 2  , SEGMENT_SPACE_MANAGEMENT 3  , ALLOCATION_TYPE 4  , EXTENT_MANAGEMENT 5 FROM DBA_TABLESPACES 6 WHERE TABLESPACE_NAME='USERS'; TABLESPACE_NAME    SEGMEN ALLOCATIO EXTENT_MAN------------------------------ ------ --------- ----------USERS       AUTO SYSTEM LOCAL

那么是否所有的HEADER_BLOCK都是位于段的第三個block呢?是否還跟段空間管理的方式有關(guān)呢? 我們用如下實(shí)驗(yàn)來探究一下:創(chuàng)建一個手工段空間管理(Manual Segment Space Management)的表空間。

SQL> CREATE TABLESPACE TBS_TEST_DATA 2 DATAFILE '/u03/oradata/gsp/tbs_test_data_001.dbf' 3 SIZE 20M  4 EXTENT MANAGEMENT LOCAL AUTOALLOCATE 5 SEGMENT SPACE MANAGEMENT MANUAL ONLINE; Tablespace created.  SQL> create user test identified by test123456 2 default tablespace tbs_test_data; User created. SQL> grant connect, resource to test; Grant succeeded. SQL> CREATE TABLE TEST.KKK  2 AS 3 SELECT * FROM DBA_OBJECTS; Table created. SQL> COL SEGMENT_NAME FOR A32;SQL> SELECT SEGMENT_NAME 2  ,FILE_ID 3  ,BLOCK_ID 4  ,BLOCKS 5 FROM DBA_EXTENTS  6 WHERE SEGMENT_NAME='KKK' AND OWNER='TEST' 7 ORDER BY BLOCK_ID ASC; SEGMENT_NAME      FILE_ID BLOCK_ID  BLOCKS-------------------------------- ---------- ---------- ----------KKK          39  427785  128KKK          43  435249   8KKK          43  435257   8KKK          43  435265   8KKK          43  435273   8KKK          43  435281   8KKK          43  435289   8KKK          43  435297   8KKK          43  435305   8KKK          43  435313   8KKK          43  435321   8 SEGMENT_NAME      FILE_ID BLOCK_ID  BLOCKS-------------------------------- ---------- ---------- ----------KKK          43  435329   8KKK          48  436745   8KKK          48  436753   8KKK          48  436761   8KKK          48  436769   8KKK          48  436777   8KKK          48  436873  128KKK          40  444297  128KKK          43  447241  128KKK          52  449545  128KKK          2  458249  128 22 rows selected. SQL> SELECT HEADER_FILE 2  , HEADER_BLOCK 3  , BYTES 4  , BLOCKS 5  , EXTENTS  6 FROM DBA_SEGMENTS  7 WHERE OWNER='TEST' AND SEGMENT_NAME='KKK'; HEADER_FILE HEADER_BLOCK  BYTES  BLOCKS EXTENTS----------- ------------ ---------- ---------- ----------   43  435249 7340032  896   22 SQL> 

ORACLE,HEADER_BLOCK

SQL> alter system dump datafile 43 block 435249; System altered. SQL> select user_dump.value  2   || '/'  3   || lower(instance.value)  4   || '_ora_'  5   || v$process.spid  6   || nvl2(v$process.traceid, '_'  7         || v$process.traceid, null)  8   || '.trc'"trace file"  9 from v$parameter user_dump  10   cross join v$parameter instance  11   cross join v$process  12   join v$session  13   on v$process.addr = v$session.paddr  14 where user_dump.name = 'user_dump_dest'  15   and instance.name = 'instance_name'  16   and v$session.audsid = sys_context('userenv', 'sessionid');  trace file--------------------------------------------------------------------/u01/app/oracle/admin/SCM2/udump/scm2_ora_27792.trc

如下所示,塊類型為DATA SEGEMENT HEADER -UNLIMITED , rdba:( segment header的塊地址為)為 0x0ac6a431 .其實(shí)這是第一個塊(不是以block_id大小來看),因?yàn)槭止ざ慰臻g管理,這種技術(shù)的具體實(shí)現(xiàn)方式是通過在段頭(Segment Header)分配自由列表(freelist)來管理Block的使用。簡單一點(diǎn),你可以把自由列表想象成一個數(shù)據(jù)結(jié)構(gòu)中的鏈表一樣的數(shù)據(jù)結(jié)構(gòu),ORACLE通過一系列算法向自由列表(freelist)中加入或移出Block來實(shí)現(xiàn)段管理。

ORACLE,HEADER_BLOCK

Segment Header是一個Segment的第一個extent的頭塊(第一個塊)。在FLM管理的Segment中,header block始終是segment 的第一個塊。 如下所示,在Extent Map中,第一個區(qū)間的地址為0x0ac6a432, 恰恰跟segment header的塊地址 0x0ac6a431 相差為1,這意味著后面的分配是緊挨著segment header的塊地址。 所以在手工段空間管理(Manual Segment Space Management)的表空間,不能以block_id的大小順序來看區(qū)間分配順序。也就是說FILE_ID=39 BLOCK_ID=427785的塊并不是第一個區(qū)間的第一個塊。這也是我在實(shí)驗(yàn)當(dāng)中糾結(jié)了好久的地方。

ORACLE,HEADER_BLOCK

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網(wǎng)的支持。


注:相關(guān)教程知識閱讀請移步到oracle教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
久久精品一区二区三区中文字幕| 一二三四视频在线中文| 日韩亚洲欧美成人| 国产精选一区二区三区| 国产网站在线| 免费视频爱爱太爽了| 欧美极品色图| 精品少妇一区二区30p| 欧美主播福利视频| 粉嫩91精品久久久久久久99蜜桃| 欧美 日韩 国产 精品| 麻豆91在线| 亚洲乱亚洲高清| 欧美激情a∨在线视频播放| 黄色成人羞羞视频| 久色国产在线| 大桥未久一区二区三区| 日韩有码在线电影| 久久久91视频| 亚洲欧洲专区| 久久久久亚洲av片无码下载蜜桃| 欧美日韩成人综合| 欧美性生交片4| 51成人做爰www免费看网站| 欧美精品少妇videofree| av毛片在线播放| 美女毛片免费看| 99r国产精品| 97精品国产综合久久久动漫日韩| 偷拍视频一区二区三区| 中文字幕亚洲一区| 国模吧精品视频| 99se婷婷在线视频观看| 狠狠色狠狠色综合日日小说| 蜜桃传媒一区二区亚洲| 亚洲乱码国产一区三区| 一夜七次郎国产精品亚洲| 中文字幕乱码免费| 国产一区二区三区中文| 成人小视频在线播放| 91sa在线看| 国产成a人亚洲精品| 先锋影音亚洲资源| 在线免费观看一级片| 成人影院在线观看视频| 欧美影视一区二区三区| 欧美日韩在线精品一区二区三区激情综合| 久久久精品三级| 国产一区二区在线观看免费视频| 亚洲欧美日韩久久| 黄色一级片播放| 97av影视网在线观看| 中文乱码人妻一区二区三区视频| 亚洲人体大胆视频| 亚洲成人精品女人久久久| 日本熟妇乱子伦xxxx| 中文一区二区视频| 成人三级黄色免费网站| 男女免费观看在线爽爽爽视频| 94色蜜桃网一区二区三区| 天堂√中文最新版在线| 国产一级免费在线观看| 国产精品永久免费视频| 最近中文字幕一区二区| 欧美国产一级| 欧美肥胖老妇做爰| 亚洲成a人v欧美综合天堂下载| 激情视频一区| 黑人一区二区三区四区五区| 日本免费高清一区| 国内精品久久久久伊人av| 97超碰在线资源站| 亚洲国产精品传媒在线观看| 国产精品二区一区二区aⅴ| 夫妻免费无码v看片| 欧美成人3dxxxx| 自拍视频在线播放| 免费男女羞羞的视频网站中文字幕| 色就是色亚洲色图| 最近2018年手机中文在线| 黄色免费网站视频| 国模吧精品视频| 噜噜噜久久亚洲精品国产品小说| 青青青在线观看视频| 韩国日本不卡在线| 亚洲欧美激情一区二区| 欧美亚洲免费在线一区| 亚洲一区二区成人| 亚洲日本一区二区三区在线不卡| 先锋影音av321| 欧美视频一区二区三区在线观看| 国产香蕉成人综合精品视频| 国产精品三级美女白浆呻吟| 国精产品一区一区三区有限在线| 国产一级片毛片| 国产亚洲精品久久久久婷婷瑜伽| 日韩视频不卡中文| 制服丝袜综合日韩欧美| 麻豆av在线免费看| 97在线观看| 亚洲专区欧美专区| 国产经典自拍视频在线观看| 久久久久久久久一| 99thz桃花论族在线播放| ...中文天堂在线一区| 国产在线视视频有精品| 日韩色妇久久av| 精品国产31久久久久久| 亚洲免费在线看| 欧洲一区在线电影| 亚洲影院中文字幕| 日日噜噜噜噜夜夜爽亚洲精品| 午夜欧美精品久久久久久久| 亚洲自拍偷拍网| 欧美亚洲尤物久久| 免费人成网ww777kkk手机| 美女黄色在线网站大全| a级片一区二区| av一区二区高清| 欧美日韩黑人| 国产亚洲精品久久久久久豆腐| 国产mv日韩mv欧美| 日韩久久精品电影| 欧美午夜精品一区二区三区| 成年人小视频在线观看| 国产精品精品一区二区三区午夜版| 国产专区自拍| 欧美性xxxxxbbbbbb精品| 久久久久99精品成人片我成大片| 亚洲综合精品视频| 老鸭窝毛片一区二区三区| 日韩精品免费播放| 午夜精品影视国产一区在线麻豆| 一本到不卡免费一区二区| 97公开免费视频| 色呦哟—国产精品| 99在线观看视频网站| 羞羞视频网站在线观看| 日韩精品一区二区三区久久| 精品欧美一区二区三区精品久久| 国产麻豆精品久久一二三| 欧美波霸videosex极品| 秋霞av亚洲一区二区三| 日韩av在线播放观看| 狠狠干一区二区| 亚洲精品国产精品国自产网站| 欧美freesextv| 免费网站观看www在线观| 黄色污在线观看| 精品国产欧美| 男女高潮又爽又黄又无遮挡| h片在线观看视频免费免费| 亚洲第一精品区| 97精品一区二区视频在线观看| 色av中文字幕一区| 欧美日韩国产综合在线| wwwxxxx在线观看| 成人精品免费在线观看| 久久精品免费网站| 国产成人福利片| 精人妻无码一区二区三区| 婷婷色在线播放| 电影一区二区在线观看| 国产成人精品午夜| 99视频在线视频| 国产精品全国免费观看高清| 日韩精品无码一区二区三区| 免费一级淫片aaa片毛片a级| 成人a级免费视频| 欧美mv日韩mv亚洲| 青青草国产精品97视觉盛宴| 韩日在线视频| 蜜桃视频在线一区| 久久亚洲a v| www男人的天堂| 91爱视频在线| 人人草在线视频| 高清精品视频| 精品人妻一区二区三区四区| 日韩av不卡在线| www.久久91| 日韩在线观看视频一区二区三区| 97久久精品人人做人人爽| 91麻豆精品国产无毒不卡在线观看| 国产免费av高清在线| 国产日韩在线免费| 国产精品国语对白| 邻家有女韩剧在线观看国语| 制服丝袜影音先锋| 国产精品吴梦梦| 亚洲男人天堂av在线| 亚洲精品精品亚洲| 日韩8x8x| 精品久久久久久久| 搡女人真爽免费午夜网站| 99在线精品免费| 97国产在线播放| 欧美综合第一页| 动漫精品一区一码二码三码四码| 国产精品一区二区三区四区色| 欧美日韩精品在线| 色综合久久九月婷婷色综合| 中文字幕在线资源| 成人一区二区三区中文字幕| 天堂av电影在线观看| 2021最新国产精品一区| 国产精品黄色网| 2020国产精品极品色在线观看| 免费av网站在线| 久久www免费人成看片高清| 亚洲色图清纯唯美| 日韩精品视频三区| 日本jizz中国| 在线观看av中文字幕| www日本视频| 在线观看免费黄色片| 久久电影网电视剧免费观看| 免费h网站在线观看| 实拍女处破www免费看| 中文字幕无码精品亚洲35| 亚洲福利视频导航| 一区二区高清视频| 国产一区二区色| 麻豆极品一区二区三区| 亚洲国产福利| 亚洲综合激情视频| 欧美日韩亚洲一区二区三区| 久久久久亚洲av无码专区体验| 久久久影院免费| 国产精品999久久久| 鲁啊鲁视频在线精品| 亚洲一区二区三区四区电影| 亚洲精品第一国产综合精品| 日韩av电影在线免费播放| 国产精品变态另类虐交| wwwwww国产| 欧美视频在线观看一区二区三区| www.国产| 亚洲综合男人的天堂| 欧美专区18| 人成免费电影一二三区在线观看| 超碰精品一区二区三区乱码| 韩国久久久久久| 国内一区二区视频| 亚洲欧美制服另类日韩| 久久久www成人免费毛片| 欧美r级在线观看| 96pao国产成视频永久免费| 一广人看www在线观看免费视频| 亚洲欧美国产高清va在线播放| 亚洲欧美日韩另类精品一区二区三区| 成年免费视频黄网站在线观看| 日韩精品导航| 日韩成年人视频| 国产欧美日韩另类一区| 亚洲综合成人网| 国产精品黄页网站在线播放免费| 伊色综合久久之综合久久| 亚洲婷婷伊人| 久久久久无码国产精品一区李宗瑞| 亚洲国产日韩在线一区| 无吗不卡中文字幕| 欧美videos极品另类| 国产精品网站大全| 欧美丝袜在线观看| 久久精品99国产国产精| 岛国av一区| 首页亚洲中字| 免费成人在线观看视频| 色999久久久精品人人澡69| 亚洲视频播放| 高清在线观看免费| 日本dhxxxxxdh14日本| 97超碰国产在线| 欧美大香线蕉线伊人久久国产精品| 91亚洲国产成人精品性色| 青青草原在线亚洲| 欧美亚洲丝袜| 一区二区传媒有限公司| 4hu四虎永久网址| 99精品国产在热久久婷婷| 国产精品美女黄网| 一级特黄毛片| 国产精品正在播放| 一本色道久久综合熟妇| 内射后入在线观看一区| 在线日本中文字幕| 蜜桃视频在线免费| 美国一区二区三区在线播放| 成人伦理视频网站| 亚洲欧美强伦一区二区| 欧美成人精品一区二区男人看| 中国日韩欧美久久久久久久久| 国产不卡一区二区视频| 国产精品成人观看视频免费| 亚洲一区二区免费视频软件合集| 日韩中文字幕免费观看| 国产成人免费在线| 91在线视频播放地址| 成人久久电影| 精品黑人一区二区三区久久| yellow字幕网在线| 欧美久久久久久久久久久久| 在线黄色免费网站| 亚洲激情网址| 波多野结衣精品| 最近2018中文字幕免费在线视频| www毛片com| 免费在线播放av| 2020天天干夜夜爽| 91嫩草视频在线观看| 在线视频99| 久久免费精品国产久精品久久久久| 在线免费a视频| 欧美电影在线观看完整版| 97影院手机在线观看| 四虎黄色影院| 国产人与禽zoz0性伦| 大香伊人久久| 999www成人| 最新黄色av网址| 亚洲精品在线视频免费| 国产成人免费高清视频| 国产福利片在线观看| 色婷婷综合在线| 国产在线美女| 国产精品中文欧美| 97精品国产99久久久久久免费|