管理資料庫儲存結構

edwardking888發表於2010-05-11

對於大系統而言,這會帶來兩個可怕的問題,首先,應用程式完全可能包含數千個表和甚至比這更多的索引,對於系統管理員而言,管理數千個檔案是一項令人膽寒的任務。第二,表的最大大小受檔案最大大小的限制。

段實體表示儲存資料從而需要表空間中的空間的任何資料庫物件,典型的段是表,但也存在其它段型別,主要是索引段和撤銷段。

由於多個段共享單個表空間,所以段的數量可能比資料檔案多的多,段是模式物件,由限定了擁有者模式名的段名確定。

oracle塊是資料庫的I/O單元,資料檔案被設定為連續編號的oracle塊。對於表空間而言,oracle塊的大小固定不變(一般而言,資料庫中所有表空間的大小都是相同的),版本11g的預設大小是8KB。

在linux或windows上,oracle塊的大小是2KB~16KB,而其它一些作業系統上,也可能達到32KB,塊大小由DB_BLOCK_SIZE引數控制,在建立資料庫後,DB_BLOCK_SIZE用於設定構成SYSTEM表空間的資料檔案的格式。所以固定不變。如果後來發現塊大小不合適,唯一辦法是新建一個資料庫,並將所有資料傳輸到其中,塊由資料檔案中的編號唯一標識:不能僅依靠塊編號。

區間是一個資料檔案中一組連續編號的oracle塊,每個塊將由一個或多個連續編號的區間組成,這些區間肯可能位於構成表空間的任何或所有資料檔案中。

段,區間,塊和行

SQL> select segment_type,count(*) from dba_segments group by segment_type;

SEGMENT_TYPE         COUNT(*)
------------------ ----------
LOBINDEX                  686
INDEX PARTITION           104
TABLE PARTITION            88
NESTED TABLE               28
ROLLBACK                    1
LOB PARTITION               1
LOBSEGMENT                686
INDEX                    2210
TABLE                    1548
CLUSTER                    10
TYPE2 UNDO                 10

TABLE          是堆結構的表,行的長度不變,隨機排列。雖然典型的段是表段,但要注意,不能說表就是段,還有更復雜的表組織使用其它段型別。

INDEX     索引是鍵值的有序列表,相應的列指標ROWID指向每行的物理位置。

TYPE2 UNDO   這些是撤銷段,儲存資料的更改前版本,為了提供完整性,這些是必需的。

ROLLBACK          從9i開始,不應在普通執行中使用ROLLBACK段。

TABLE PARTITION    可以將表分成多個分割槽,如果這樣的話,分割槽將成為一個個的段,而表本身完全不是段:僅以分割槽總合的形式存在。

INDEX PARTITION    預設方式下,一個索引在一個段中,但是,也可以對索引進行分割槽。

CLUSTER  段包含多個表。

NESTED TABLE  如果一個表列被定義為本身就具有列的使用者定義的物件型別,那麼,列可以作為巢狀表,儲存在自身的段中。

資料檔案可以儲存在4類檔案系統上:本地檔案系統,叢集檔案系統,ASM磁碟組和原始裝置。

本地檔案系統上的檔案:這些是最簡單的資料檔案,是磁碟(直接連線到執行例項的計算機上)目錄結構的普通作業系統檔案。

叢集檔案系統上的檔案:叢集檔案系統是外部磁碟,同時安裝在多個計算機上,叢集檔案系統調停叢集中所有計算機上執行的程式到磁碟的訪問。

原始裝置上的檔案:還可能在根本沒有檔案系統的磁碟上建立資料檔案,這雖然仍受支援,但實際上只是歷史留下的畸形物。

ASM裝置上的檔案:ASM是資料庫版本10G引入的功能。這是檔案系統的替代品,基於資料檔案儲存。

“資料檔案”的定義外延很廣,除了真正的資料庫檔案(控制檔案,聯機重做日誌檔案和資料檔案)外,ASM還可以儲存備份檔案,歸檔重做日誌檔案和datapump檔案。他不能用於存放oracle主目錄,也不能用於存放警報日誌和跟蹤檔案。

ASM只能儲存資料庫檔案,不能儲存二進位制檔案,始終必需將oracle主目錄儲存在常規檔案系統上。

在ASM磁碟上建立的每個檔案總在構成組的所有ASM磁碟上分帶,這無法進行配置,它能帶來效能優勢,沒有副作用,所以總被實施。映象可以配置,在預設方式下啟用。

ASM對檔案(而非卷)進行分帶,映象是可選的,分帶是必需的。

ASM的一項關鍵功能是可以做為叢集檔案系統執行。

重新命名錶空間及其資料檔案

alter tablespace  tablespace oldname  rename to  tablespacenrename;

重新命名資料檔案,使表空間進入離線狀態,使用作業系統命令重新命名系統中的資料檔案,2個alter database命令按控制檔案中的記錄更改檔名,以便oracle能找到他們。最後使表空間重返聯機狀態。

使表空間聯機或離線

使表空間離線命令如下:

alter tablespace  tablespacename  offline [normal | immediate |  temporary]

normal 離線(預設方式)將強制實施針對所有表空間資料檔案的檢查點。

immediate 將立即是表空間和資料檔案離線。

temporary  離線將針對所有可以執行檢查點操作的所有檔案實施檢查點,然後按循序是表空間及檔案離線。

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8183550/viewspace-662463/,如需轉載,請註明出處,否則將追究法律責任。

相關文章