久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

數(shù)據(jù)庫(kù)中表空間、段、區(qū)、塊是什么意思

共計(jì) 1956 個(gè)字符,預(yù)計(jì)需要花費(fèi) 5 分鐘才能閱讀完成。

這篇文章主要介紹數(shù)據(jù)庫(kù)中表空間、段、區(qū)、塊是什么意思,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

一、數(shù)據(jù)塊(Block)

簡(jiǎn)介

數(shù)據(jù)塊 Block 是 Oracle 存儲(chǔ)數(shù)據(jù)信息的最小單位。注意,這里說(shuō)的是 Oracle 環(huán)境下的最小單位。Oracle 也就是通過(guò)數(shù)據(jù)塊來(lái)屏蔽不同操作系統(tǒng)存儲(chǔ)結(jié)構(gòu)的差異。無(wú)論是他們的存儲(chǔ)結(jié)構(gòu)和方式、甚至字符排列的方式。

Oracle 所有對(duì)數(shù)據(jù)的操作和空間分配,實(shí)際上都是針對(duì)數(shù)據(jù)塊 Block 的操作。我們從數(shù)據(jù)表中搜索出一行,實(shí)際中 Oracle 就會(huì)從內(nèi)存緩沖區(qū)(或者硬盤(pán))中讀取到該行所在的數(shù)據(jù)塊,再返回這數(shù)據(jù)塊上的指定數(shù)據(jù)行。Oracle 無(wú)論是在緩沖區(qū),還是在硬盤(pán),進(jìn)行數(shù)據(jù)操作的雖小單位也就是數(shù)據(jù)塊。

參數(shù)

1、db_block_size

數(shù)據(jù)塊是有大小的,在一個(gè)數(shù)據(jù)庫(kù)建立的時(shí)候,通過(guò)參數(shù)進(jìn)行設(shè)置。數(shù)據(jù)塊的大小,在一個(gè)數(shù)據(jù)庫(kù)中可以支持多個(gè),但是一般沒(méi)有太大的意義,會(huì)給管理和調(diào)試帶來(lái)一定的負(fù)擔(dān)。

數(shù)據(jù)塊的大小是通過(guò) kb 字節(jié)個(gè)數(shù)來(lái)指定的,默認(rèn)為 8KB。相關(guān)參數(shù)為 db_block_size。

設(shè)置數(shù)據(jù)塊的大小是依據(jù)不同類(lèi)型的系統(tǒng)的。如果數(shù)據(jù)塊設(shè)置比較大,那么一次讀取的數(shù)據(jù)行較多,相應(yīng)對(duì) SGA 內(nèi)存消耗比較大,特定查詢(xún)引發(fā)的換入換出可能較多。如果設(shè)置的過(guò)小,頻繁的 IO 邏輯物理讀也會(huì)引起性能問(wèn)題。

2、db_file_multiblock_read_count

表示一次從物理存儲(chǔ)中讀取的數(shù)據(jù)塊數(shù)量。對(duì)一些數(shù)據(jù)挖掘系統(tǒng),可以考慮調(diào)節(jié)此參數(shù)略大一些。

二、區(qū) extent

簡(jiǎn)介

區(qū) extent 是比數(shù)據(jù)塊大一級(jí)的存儲(chǔ)結(jié)構(gòu),表示的是一連串連續(xù)的數(shù)據(jù)塊集合。

在進(jìn)行存儲(chǔ)數(shù)據(jù)信息的時(shí)候,Oracle 將分配數(shù)據(jù)塊進(jìn)行存儲(chǔ),但是不能保證所有分配的數(shù)據(jù)塊都是連續(xù)的結(jié)構(gòu)。所以,出現(xiàn)分區(qū) extent 的概念,表示一系列連續(xù)的數(shù)據(jù)塊集合。

視圖

視圖 dba_extents(或者 all_extents、user_extents)是我們研究分區(qū)結(jié)構(gòu)和存儲(chǔ)構(gòu)成的重要手段。

1、分區(qū)是帶有段特定性的。數(shù)據(jù)段 segment 是分區(qū)的上層組織單位,一個(gè)數(shù)據(jù)庫(kù)對(duì)象對(duì)應(yīng)一個(gè) segement,數(shù)據(jù)庫(kù)對(duì)象是歸屬在不同的 schema(owner)上的。所以,通過(guò)不同的數(shù)據(jù)段名稱(chēng)、不同的 owner,乃至不同的 tablespace 表空間信息,就可以定位到數(shù)據(jù)區(qū) extent 的信息描述。

2、另一部分信息是關(guān)于該區(qū) extent 的分配信息,如所在文件編號(hào),起始數(shù)據(jù)塊 block 編號(hào)和數(shù)據(jù)塊數(shù)量等內(nèi)容。

三、數(shù)據(jù)段 segment

簡(jiǎn)介

數(shù)據(jù)段是與數(shù)據(jù)庫(kù)對(duì)象相對(duì)應(yīng),一般一個(gè)數(shù)據(jù)庫(kù)對(duì)象對(duì)應(yīng)一個(gè)數(shù)據(jù)段。多個(gè) extent 是對(duì)應(yīng)一個(gè)數(shù)據(jù)段,每個(gè)數(shù)據(jù)段實(shí)際上就是數(shù)據(jù)庫(kù)一個(gè)對(duì)象的代表。

視圖

從 dba_segments 視圖中,可以比較清楚看清數(shù)據(jù)段的結(jié)構(gòu)。

1、從 segment_type 列的 comment 信息中,可以看出數(shù)據(jù)段的類(lèi)型是多樣的。數(shù)據(jù)表、索引、回滾、聚集這些都是數(shù)據(jù)段的一種表現(xiàn)形式。同時(shí),數(shù)據(jù)段是在數(shù)據(jù)對(duì)象創(chuàng)建的時(shí)候就已經(jīng)創(chuàng)建出來(lái),隨著對(duì)象體積的增大,而不斷分配多個(gè) extents 進(jìn)行管理。

2、另一部分信息可以從 dba_segments 中讀出的,就是該數(shù)據(jù)對(duì)象分配的空間大小和數(shù)據(jù)塊、分區(qū)個(gè)數(shù)。使用這個(gè)視圖,可以方便的獲取到指定 schema 的所有對(duì)象大小。

SELECT OWNER,

 SUM(BYTES) / 1024 / 1024 AS VOL,

 SUM(BLOCKS) AS TOTALBLOCKS,

 SUM(EXTENTS) AS TOTALEXTENTS

 FROM DBA_SEGMENTS

 GROUP BY OWNER

HAVING OWNER = SYS

一個(gè)數(shù)據(jù)對(duì)象對(duì)應(yīng)一個(gè) segment。但是,分區(qū)表的時(shí)候,一個(gè)分區(qū)要對(duì)應(yīng)一個(gè) segment 對(duì)象。還有就是,segment 對(duì)象是可以指定存儲(chǔ)在那個(gè)表空間里,實(shí)現(xiàn)存儲(chǔ)劃分的基礎(chǔ)也就在于此。不同類(lèi)型的 segment 劃分建立在不同的表空間里,才有可能存放在不同的文件中,最后分布在不同的物理存儲(chǔ)。

四、表空間 tablespace

簡(jiǎn)介

TableSpace 是存儲(chǔ)結(jié)構(gòu)中的最高層結(jié)構(gòu)。建立一個(gè)表空間的時(shí)候,是需要指定存儲(chǔ)的文件。一個(gè)表空間可以指定多個(gè)數(shù)據(jù)文件,多個(gè)文件可以在不同的物理存儲(chǔ)上。但是有一點(diǎn)就是,表空間下一級(jí)對(duì)象數(shù)據(jù)段的存儲(chǔ),是不能指定存儲(chǔ)在那個(gè)文件里的。所以,要想讓數(shù)據(jù)對(duì)象訪問(wèn) IO 負(fù)載均衡,需要指定不同的數(shù)據(jù)對(duì)象在不同的表空間里。這也就是為什么將數(shù)據(jù)表和索引建立在不同的表空間的原因。

視圖

表空間通過(guò) v$tablespace 進(jìn)行訪問(wèn)。

數(shù)據(jù)文件通過(guò) v$datafile 進(jìn)行訪問(wèn)

以上是“數(shù)據(jù)庫(kù)中表空間、段、區(qū)、塊是什么意思”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-18發(fā)表,共計(jì)1956字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 德化县| 玛沁县| 年辖:市辖区| 民权县| 阿尔山市| 增城市| 方正县| 昌邑市| 阿城市| 锡林郭勒盟| 沅陵县| 新民市| 富阳市| 金川县| 绩溪县| 弥渡县| 辽中县| 六安市| 壤塘县| 射阳县| 临颍县| 平顺县| 青岛市| 都兰县| 汉沽区| 岳西县| 龙口市| 武清区| 波密县| 沾益县| 三穗县| 昆明市| 漾濞| 类乌齐县| 梁平县| 芜湖县| 元江| 旺苍县| 延吉市| 三都| 邻水|