日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle中的一些基本概念

發(fā)布時間:2025/7/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle中的一些基本概念 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  Oracle數(shù)據(jù)庫的物理文件是存儲在磁盤上的數(shù)據(jù)文件、控制文件和日志文件的總稱。數(shù)據(jù)文件和日志文件是數(shù)據(jù)庫中最重要的文件。數(shù)據(jù)庫由若干個表空間組成,表空間由表組成,表由段組成,段由區(qū)間組成,區(qū)間由數(shù)據(jù)塊組成。那么,數(shù)據(jù)在數(shù)據(jù)文件中是如何組織的呢?要了解這些內(nèi)容我們首先必須理解什么是表空間(tablespace)、段(segment)、區(qū)(extent)、塊(block),這些都是oracle數(shù)據(jù)庫在數(shù)據(jù)文件中組織數(shù)據(jù)的基本單元。

  塊(block)是數(shù)據(jù)存儲的物理單位,也是數(shù)據(jù)文件中最基礎(chǔ)的單位。數(shù)據(jù)直接存儲在塊上,塊是oracle空間分配的最小單位。oracle中的塊大小常見的有三種:2KB、4KB、8KB。塊的大小在數(shù)據(jù)庫創(chuàng)建時就已經(jīng)固定下來,數(shù)據(jù)庫中每個塊的大小都是相同的,而且所有的塊都有相同的格式,由“塊頭+表目錄+行目錄+空閑空間+數(shù)據(jù)空間”組成。塊頭包含著塊類型(比如是表塊、還是索引塊)的信息、磁盤上塊的位置等信息。表目錄(table directory),如果有的話,包含著此塊中存儲各行的表的信息(如果一個塊中存有多個表中的數(shù)據(jù))。行目錄(row directory)包含著數(shù)據(jù)行的描述信息,它是一個指針數(shù)組,指示了每一行在數(shù)據(jù)塊中的物理位置。塊頭、表目錄、行目錄統(tǒng)稱為塊開銷(block overhead),是oracle用來統(tǒng)計、管理塊本身的。剩下的兩部分很簡單,已經(jīng)存有數(shù)據(jù)的就是數(shù)據(jù)空間,暫時沒存的就是空閑空間。

  區(qū)(extent)又叫盤區(qū),是數(shù)據(jù)文件中一個連續(xù)的分配空間,它比塊要大,由塊組成。有些對象分配空間時可能至少需要兩個盤區(qū),比如回滾段,而這兩個盤區(qū)不一定要求相連。區(qū)的大小從一個塊到2GB不等。

  段(segment)是oracle數(shù)據(jù)庫中的分配單位,對象如表、索引等都是以段為單位進行分配。當(dāng)創(chuàng)建一個表時將創(chuàng)建一個表段,創(chuàng)建一個索引時就創(chuàng)建一個索引段。每一個消耗存儲空間的對象最終被存儲到一個單一的段中。如回滾段、臨時段、聚簇段、索引段等。

  1)數(shù)據(jù)段:每個不在簇中的表都有一個數(shù)據(jù)段。表中的所有數(shù)據(jù)都存儲在數(shù)據(jù)段的區(qū)間中。每一個簇都有一個數(shù)據(jù)段,簇中每個表的數(shù)據(jù)都存儲在簇的數(shù)據(jù)段中。

  2)索引段:每個索引都有一個索引段,存儲所有的索引數(shù)據(jù)。

  3)臨時段:當(dāng)執(zhí)行SQL語句需要臨時工作區(qū)時,Oracle將創(chuàng)建臨時區(qū)。

  4)回滾段:如果當(dāng)前系統(tǒng)處于自動重做管理模式,則數(shù)據(jù)庫服務(wù)器使用表空間來管理重做的空間。如果使用手動重做管理模式,則數(shù)據(jù)庫管理員需要創(chuàng)建一個或多個回滾段,用于臨時存儲重做信息。回滾段中的信息將在數(shù)據(jù)庫恢復(fù)過程中使用到。

  但是oracle11g中加入了新的特性:為了節(jié)省存儲空間,對空表不建立段,這可能會導(dǎo)致我們導(dǎo)出數(shù)據(jù)庫的時候空表無法導(dǎo)出,關(guān)于解決方法請參考文章Oracle 11g導(dǎo)出空表、少表的解決辦法

  表空間(tablespace)是一個邏輯容器,是為了統(tǒng)一Oracle物理和邏輯的結(jié)構(gòu)而專門建立的。從物理上來說,一個表空間是由具體的一個或多個物理文件構(gòu)成的;從邏輯上來說一個表空間是由具體的一個或多個用戶模式下的表、索引等數(shù)據(jù)構(gòu)成。在Oracle中表不可能單獨存在,一定隸屬于某一個用戶,而某用戶的數(shù)據(jù)必定存在于某個表空間中。

  方案(schema)又叫模式,是比表空間小一級的邏輯概念,它也是一個邏輯容器。多個用戶可能共用一個表空間,那如何區(qū)分開每一個用戶?那么在表空間中對每個用戶都有一個對應(yīng)的方案,用于保存單個用戶的信息。

  oracle中存儲的層次結(jié)構(gòu)總結(jié)如下:

  1)數(shù)據(jù)庫由一個或多個表空間組成;

  2)表空間由一個或多個數(shù)據(jù)文件組成,一個表空間包含多個段;

  3)段由一個或多個區(qū)組成;

  4)區(qū)是數(shù)據(jù)文件中一個連續(xù)的分配空間,由一個或多個塊組成;

  5)塊是數(shù)據(jù)庫中最小、最基本的單位,是數(shù)據(jù)庫使用的最小的I/O單元;

  6)每個用戶都有一個對應(yīng)的方案。

?

參考資料:

http://www.cnblogs.com/gsk99/archive/2011/04/14/2016216.html

http://m.oschina.net/blog/76768

轉(zhuǎn)載于:https://www.cnblogs.com/ningvsban/p/3604545.html

總結(jié)

以上是生活随笔為你收集整理的oracle中的一些基本概念的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。