摘 要
Oracle數(shù)據(jù)庫(kù)體系結(jié)構(gòu),就是指Oracle數(shù)據(jù)庫(kù)是如何使用計(jì)算機(jī)資源的。因此,在開(kāi)始對(duì)Oracle數(shù)據(jù)庫(kù)學(xué)習(xí)和操作前,用戶有必要理解Oracle的體系結(jié)構(gòu)。這不光能使用戶對(duì)Oracle有從外到內(nèi)的整體認(rèn)識(shí),還對(duì)以后Oracle的使用具有重大指導(dǎo)意義。
【關(guān)鍵詞】Oracle數(shù)據(jù)庫(kù) 體系結(jié)構(gòu) 計(jì)算機(jī)資源
1 Oracle數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)
Oracle數(shù)據(jù)庫(kù)按存儲(chǔ)結(jié)構(gòu)分為:物理存儲(chǔ)結(jié)構(gòu)和邏輯存儲(chǔ)結(jié)構(gòu)。
1.1 物理存儲(chǔ)結(jié)構(gòu)
物理存儲(chǔ)結(jié)構(gòu)是存儲(chǔ)在磁盤(pán)中的操作系統(tǒng)文件。一般主要由三種類型的文件組成:數(shù)據(jù)文件(*.dbf)、控制文件(*.ctl)、日志文件(*.log)。這三大核心文件對(duì)Oracle數(shù)據(jù)庫(kù)的正常啟動(dòng)是缺一不可的。
數(shù)據(jù)文件(Data File)用于存儲(chǔ)數(shù)據(jù)的文件,表中的數(shù)據(jù)記錄,索引,數(shù)據(jù)字典信息等都存儲(chǔ)于此。數(shù)據(jù)庫(kù)與數(shù)據(jù)文件的關(guān)系見(jiàn)圖1,即一個(gè)數(shù)據(jù)庫(kù)可以包含多個(gè)數(shù)據(jù)文件,用戶不僅能通過(guò)數(shù)據(jù)字典(dba_data_files靜態(tài),v$datafile動(dòng)態(tài))查看數(shù)據(jù)文件,還可以通過(guò)命令添加或刪除數(shù)據(jù)文件。
控制文件(Control Files)是一個(gè)二進(jìn)制文件,用于對(duì)Oracle數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)進(jìn)行描述。控制文件一般在安裝Oracle系統(tǒng)時(shí)自動(dòng)創(chuàng)建。使用數(shù)據(jù)字典v$controlfile查看當(dāng)前數(shù)據(jù)庫(kù)的控制文件的方法:SQL>SELECT name FROM v$controlfile;
日志文件(Redo Log Files)也叫做重做(或重演)日志文件。不僅用于對(duì)Oracle數(shù)據(jù)庫(kù)的修改進(jìn)行記錄,而且對(duì)Oracle數(shù)據(jù)庫(kù)所作的修改信息也被記錄在此。要了解日志文件的信息可以查詢數(shù)據(jù)字典v$logfile和v$log。SQL>SELECT name FROM v$log;
1.2 邏輯存儲(chǔ)結(jié)構(gòu)
數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是從邏輯的角度分析數(shù)據(jù)庫(kù)的構(gòu)成。Oracle邏輯存儲(chǔ)結(jié)構(gòu)如圖2所示。
表空間是在Oracle數(shù)據(jù)庫(kù)中用戶能使用的最大的邏輯存儲(chǔ)結(jié)構(gòu),即表空間中存儲(chǔ)著用戶在Oracle數(shù)據(jù)庫(kù)中建立的所有對(duì)象,所有表空間大小的和就是Oracle數(shù)據(jù)庫(kù)的大小。表空間根據(jù)存儲(chǔ)數(shù)據(jù)不同,分為系統(tǒng)表空間(SYSTEM存放三大文件等管理信息、SYSAUX輔助系統(tǒng)表空間用于存儲(chǔ)數(shù)據(jù)庫(kù)組件等信息、TEMP臨時(shí)表空間存放臨時(shí)表和臨時(shí)數(shù)據(jù))和非系統(tǒng)表空間(UNDOTBS1存儲(chǔ)管理回退信息、USERS用戶表空間或數(shù)據(jù)表空間用于存放永久行的用戶對(duì)象的數(shù)據(jù)和私有信息、EXAMPLE示例表空間)兩類。通過(guò)數(shù)據(jù)字典(dba_tablespaces)查看表空間的信息,SQL>SELECT tablespace_name FROM dba_tablespaces;,
創(chuàng)建表空間的方法:
CREATE [TEMPORARY|UNDO] TABLESPACE 表空間名
[DATAFILE|TEMPFILE 路徑+文件名]
SIZE 大?。ǘ嗌費(fèi)|K)[REUSE已存在同名文件時(shí)使用]
[MININUM EXTENT大?。ǘ嗌費(fèi)|K) ] [BLOCKSIZE大?。ǘ嗌費(fèi)|K) ]
[LOGGING|NOLOGGING] [FORCE LOGGING]
[DEFAULT {data_segment_compression} storage_clause]
[ONLINE|OFFLINE] [PRERMANENT|PEMPORARY]
[EXTENT MANAGEMENT DICTIONARY|LOCAL]
[AUTOALLOCATE|UNIFORM SIZE 多少]
[SEGMENT MANAGEMENT AUTO|MANUAL]
段是由區(qū)組成的邏輯存儲(chǔ)單元,是表空間的組成單位。
區(qū)是數(shù)據(jù)庫(kù)存儲(chǔ)空間分配的邏輯單位,一個(gè)區(qū)由一組數(shù)據(jù)塊組成,區(qū)是由段分配的,分配的第一個(gè)區(qū)稱初始區(qū),以后分配的區(qū)稱增量區(qū)。
數(shù)據(jù)庫(kù)塊(Database block)是Oracle邏輯存儲(chǔ)的最小單元即最底層,也叫邏輯塊、Oracle塊。一個(gè)數(shù)據(jù)塊對(duì)應(yīng)一個(gè)或多個(gè)操作系統(tǒng)塊。
參考文獻(xiàn)
[1]史斌,王明,徐洪麗.大型數(shù)據(jù)庫(kù)管理系統(tǒng)Oracle體系結(jié)構(gòu)[J].電腦編程技巧與維護(hù),2010(18)
[2]劉星沙,肖立英.Oracle數(shù)據(jù)庫(kù)結(jié)構(gòu)優(yōu)化技術(shù)的研究與應(yīng)用[J].湘潭師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2007(01).
[3]陳紅梅.數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)[J].福建電腦,2012(10).
[4]陳鑫.應(yīng)用Oracle數(shù)據(jù)庫(kù)監(jiān)控維護(hù)技術(shù)維護(hù)數(shù)據(jù)庫(kù)安全的探討[J].信息安全與技術(shù),2012(04).
[5]史斌,王明,徐洪麗.大型數(shù)據(jù)庫(kù)管理系統(tǒng)Oracle體系結(jié)構(gòu)[J].電腦編程技巧與維護(hù),2010(18).
[6]韓云波,宋莉.Oracle性能調(diào)整技術(shù)研究[J].電腦知識(shí)與技術(shù),2010(07).
作者簡(jiǎn)介
鄧麗萍(1982-),女,江西省貴溪市人。碩士學(xué)位?,F(xiàn)為江西信息應(yīng)用職業(yè)技術(shù)學(xué)院軟件工程系講師,主要從事軟件開(kāi)發(fā)、計(jì)算機(jī)軟件方向教學(xué)。
作者單位
江西信息應(yīng)用職業(yè)技術(shù)學(xué)院軟件工程系 江西省南昌市 330043