培訓啦 IT技術

表空間是什么

教培參考

教育培訓行業(yè)知識型媒體

發(fā)布時間: 2025年01月03日 00:14

2025年【IT技術】報考條件/培訓費用/專業(yè)咨詢 >>

IT技術報考條件是什么?IT技術培訓費用是多少?IT技術專業(yè)課程都有哪些?

點擊咨詢
表空間是什么?表空間是數據庫的一種邏輯結構,它在物理上對應著一個或多個數據文件。平常所講的表空間管理實際上指的是對表空間所對應的數據文件的空間管理。

Oracle支持兩種管理方式,一種是字典管理(簡稱DMT),一種是本地管理(簡稱LMT)。這里所說的管理方式是指針對extent的管理方式。

extent也是數據庫的一種邏輯結構,它包含一定數量的、連續(xù)的Oracle塊。它是Oracle的空間分配的最小單位。針對它的管理方式就是指表空間中的extent是如何被管理的(記錄extent的free、used使用情況)。

在這兩種管理方式中,字典管理方式是Oracle遺留的一種空間管理方式,它采用數據字典表UET$、FET$來記錄表空間中extent的使用情況。

每次進行涉及空間管理的操作時,都必須對這兩個表進行維護,其影響是顯而易見的。當并發(fā)提高時,該表上的爭用將無法避免被提高,同時將產生大量的undo占用大量系統(tǒng)回滾段,而且在字典管理方式下將產生令人頭痛的碎片問題。

本地管理方式是從Oracle 8i開始支持的一種管理方式,也是目前Oracle強烈建議采用的一種方式。它不再利用數據字典表來記錄空間使用情況,取而代之的是在數據文件頭部增加一個位圖區(qū),用位圖來記錄空間的使用情況,每一個bit都代表著一個extent的使用情況。

數據庫中如果不存在dmt類型的表空間,則UET$和FET$中不再有信息。

表空間本身是和SQL語句運行效率相關的,主要包括以下幾個方面:

對于DML語句來說,如果涉及空間的擴展,需要有個分配的過程此時,給用戶的體驗就是SQL執(zhí)行速度很慢。

從Oracle 10g開始,引入了一個等待事件“data fileinit write”來表示表空間擴展時發(fā)生的等待。為Oracle需要將系統(tǒng)塊格式化為Oracle數據塊,然后才能提供數據庫使用。常見的優(yōu)化策略是在大規(guī)模的DML操作之前提前預分配空間的,這樣可避免臨時的空間擴展導致的效率低下。

對于排序等操作,如果空間消耗較大,需要用到TEMP表空間。如果TEMP空間不足,會導致SQL語句執(zhí)行失敗。因此,對于TEMP表空間的使用要進行監(jiān)控,對于耗費TEMP較大的SQL需要重點關注,并進行重點優(yōu)化。

985大學 211大學 全國院校對比 專升本

溫馨提示:
本文【表空間是什么】由作者教培參考提供。該文觀點僅代表作者本人,培訓啦系信息發(fā)布平臺,僅提供信息存儲空間服務,若存在侵權問題,請及時聯系管理員或作者進行刪除。
我們采用的作品包括內容和圖片部分來源于網絡用戶投稿,我們不確定投稿用戶享有完全著作權,根據《信息網絡傳播權保護條例》,如果侵犯了您的權利,請聯系我站將及時刪除。
內容侵權、違法和不良信息舉報
Copyright @ 2024 培訓啦 All Rights Reserved 版權所有. 湘ICP備2022011548號 美國留學 留求藝