Oracle數(shù)據(jù)庫邏輯結(jié)構(gòu)_第1頁
Oracle數(shù)據(jù)庫邏輯結(jié)構(gòu)_第2頁
Oracle數(shù)據(jù)庫邏輯結(jié)構(gòu)_第3頁
Oracle數(shù)據(jù)庫邏輯結(jié)構(gòu)_第4頁
Oracle數(shù)據(jù)庫邏輯結(jié)構(gòu)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、Oracle數(shù)據(jù)庫的邏輯結(jié)構(gòu)數(shù)據(jù)庫邏輯結(jié)構(gòu)包含表空間、段、范圍(extent)、數(shù)據(jù)塊和模式對象。(一)表空間一個數(shù)據(jù)庫劃分為一個或多個邏輯單位,該邏輯單位稱為表空間類似于sybase下的設備。(TABLESPACE)。一個表空間可將相關(guān)的邏輯結(jié)構(gòu)組合在一起。DBA可利用表空間作下列工作:l 控制數(shù)據(jù)庫數(shù)據(jù)的磁盤分配,克服操作系統(tǒng)文件的限制。2Gl 將確定的空間份額分配給數(shù)據(jù)庫用戶。l 通過使單個表空間在線或離線,控制數(shù)據(jù)的可用性。l 執(zhí)行部分數(shù)據(jù)庫后備或恢復操作。l 為提高性能,跨越設備分配數(shù)據(jù)存儲。數(shù)據(jù)庫、表空間和數(shù)據(jù)文件之間的關(guān)系如下圖所示:databaseextentsegmentta

2、blespacedatafile logic physicalOracle blockOs block 每個數(shù)據(jù)庫可邏輯劃分為一個或多個表空間。每一個表空間是由一個或多個數(shù)據(jù)文件組成,該表空間物理地存儲表空間中全部邏輯結(jié)構(gòu)的數(shù)據(jù)。DBA可以建立新的表空間,可為表空間增加數(shù)據(jù)文件或可刪除數(shù)據(jù)文件,設置或更改缺省的段存儲位置。每一個ORACLE數(shù)據(jù)庫包含有一個名為SYSTEM的表空間,在數(shù)據(jù)庫建立是自動建立。在該表空間中總包含有整個數(shù)據(jù)庫的數(shù)據(jù)字典表。最小的數(shù)據(jù)庫可只需要SYSTEM表空間。該表空間必須總是在線。表和存儲的PL/SQL程序單元(過程、函數(shù)、包和觸發(fā)器)的全部存儲數(shù)據(jù)是存儲在SYST

3、EM表空間中。如果這些PL/SQL對象是為數(shù)據(jù)庫建的,DBA在SYSTEM表空間中需要規(guī)劃這些對象所需要的空間。表空間利用增加數(shù)據(jù)文件或擴展數(shù)據(jù)文件擴大表空間,表空間的大小為組成該表空間的數(shù)據(jù)文件大小的和。相關(guān)命令。l 創(chuàng)建表空間:CREATE TABLESPACE app_dataDATAFILE ?DISK4/app01.dbf?SIZE 100M, ?DISK5/app02.dbf?SIZE 100MMINIMUM EXTENT 500KDEFAULT STORAGE(INITIAL 500K NEXT 500K MAXEXTENTS 500 PCTINCREASE 0);l 臨時表空間

4、 用于排序操作,不能包含永久數(shù)據(jù)CREATE TABLESPACE sortDATAFILE ?DISK2/sort01.dbf?SIZE 50M MINIMUM EXTENT 1MDEFAULT STORAGE (INITIAL 2M NEXT 2M MAXEXTENTS 500 PCTINCREASE 0) TEMPORARY;l 回滾表空間用于 保存回滾段不要包含其他永久性數(shù)據(jù)CREATE TABLESPACE rbsDATAFILE ?DISK2/sort01.dbf?SIZE 50M MINIMUM EXTENT 1MDEFAULT STORAGE (INITIAL 2M NEXT

5、2M MAXEXTENTS 500 PCTINCREASE 0) ;l 向表空間中增加數(shù)據(jù)文件ALTER TABLESPACE APP_data ADD DATAFILE ?DISK5/app03.dbf?SIZE 200M;l 允許數(shù)據(jù)文件自動擴展ALTER TABLESPACE app_data ADD DATAFILE ?DISK6/app04.dbf?SIZE 200MAUTOEXTEND ON NEXT 10MMAXSIZE 500M;l 手工改變數(shù)據(jù)文件的大小ALTER DATABASE DATAFILE ?DISK5/app02.dbf?RESIZE 200M;l 改變存儲參數(shù)A

6、LTER TABLESPACE app_data MINIMUM EXTENT 2M; ALTER TABLESPACE app_dataDEFAULT STORAGE (INITIAL 2M NEXT 2M MAXEXTENTS 999);l 存儲參數(shù) 下述參數(shù)影響段的空間分配: INITIAL 用字節(jié)指定表空間的第一個區(qū)間大小 NEXT下一個區(qū)間大小 MAXEXTENTS可增長的最多區(qū)間數(shù) MINEXTENTS首次創(chuàng)建時分配的區(qū)間數(shù) PCTINCREASE每次分配新的區(qū)間增加的百分比DBA可以使ORACLE數(shù)據(jù)庫中任何表空間(除SYSTEM表空間外)在線(ONLINE)或離線(OFFLIN

7、E)。表空間通常是在線,以致它所包含的數(shù)據(jù)對數(shù)據(jù)庫用戶是可用的。當表空間為離線時,其數(shù)據(jù)不可使用。在下列情況下,DBA可以使其離線。使部分數(shù)據(jù)不可用,而剩余的部分允許正常存取。執(zhí)行離線的表空間后備。為了修改或維護一應用,使它和它的一組表臨時不可用。包含有正在活動的回滾段的表空間不能被離線,僅當回滾段不正在使用時,該表空間才可離線。在數(shù)據(jù)字典中記錄表空間的狀態(tài),在線還是離線。如果在數(shù)據(jù)庫關(guān)閉時一表空間為離線,那么在下次數(shù)據(jù)庫裝配和重新打開后,它仍然保持離線。當出現(xiàn)某些錯誤時,一個表空間可自動地由在線改變?yōu)殡x線。通過使用多個表空間,將不同類型的數(shù)據(jù)分開,更方便DBA來管理數(shù)據(jù)庫。相關(guān)命令:l 將表

8、空間OFFLINEALTER TABLESPACE app_data OFFLINE;l 移動數(shù)據(jù)文件條件:表空間 APP_DATA 必須OFFLINE目標文件必須存在,數(shù)據(jù)庫處在MOUNT狀態(tài)ALTER TABLESPACE app_data RENAME DATAFILE ?DISK4/app01.dbf?TO ?DISK5/app01.dbf?l 只讀表空間 表空間必須在ONLINE狀態(tài) 表空間中不含活動的 事物. 表空間中不含活動的 回滾段 表空間中不在作在線備份ALTER TABLESPACE app_data READ ONLY; l 刪除表空間DROP TABLESPACE ap

9、p_data INCLUDING CONTENTS; 不刪除物理文件l 獲取數(shù)據(jù)文件有關(guān)的信息DBA_DATA_FILES FILE_NAMETABLESPACE_NAMEBYTESAUTOEXTENSIBLE MAXBYTESINCREMENT_BY l 獲取表空間有關(guān)的信息DBA_TABLESPACES TABLESPACE_NAMENEXT_EXTENTMAX_EXTENTSPCT_INCREASEMIN_EXTLENSTATUSCONTENTS小結(jié):ORACLE數(shù)據(jù)庫中一表空間是由一個或多個物理數(shù)據(jù)文件組成,一個數(shù)據(jù)文件只可與一個表空間想聯(lián)系。當為一表空間建立一數(shù)據(jù)文件時,ORACLE

10、建立該文件,分配指定的磁盤空間容量。在數(shù)據(jù)文件初時建立后,所分配的磁盤不包含任何數(shù)據(jù)。表空間可以在線或離線。在ORACLE中還允許單獨數(shù)據(jù)文件在線或離線。一般原則:使用多個表空間;為表空間指定存儲參數(shù);給用戶指定表空間限額(二)段、范圍和數(shù)據(jù)塊ORACLE通過段、范圍和數(shù)據(jù)塊邏輯數(shù)據(jù)結(jié)構(gòu)可更細地控制磁盤空間的使用。段段(SEGMENT)包含表空間中一種指定類型的邏輯存儲結(jié)構(gòu),是由一組范圍組成。根據(jù)訪問頻率、內(nèi)容對象和生命周期在ORACLE數(shù)據(jù)庫中有幾種類型的段:數(shù)據(jù)段、索引段、回滾段和臨時段。數(shù)據(jù)段:對于每一個非聚集的表有一數(shù)據(jù)段,表的所有數(shù)據(jù)存放在該段。每一聚集有一個數(shù)據(jù)段,聚集中每一個表的

11、數(shù)據(jù)存儲在該段中。索引段:每一個索引有一索引段,存儲索引數(shù)據(jù)?;貪L段:保存數(shù)據(jù)修改前的映象,這些信息用于生成讀一致性數(shù)據(jù)庫信息、在數(shù)據(jù)庫恢復時使用、回滾未提交的事務。Rollback時用得著。一個事務只能使用一個回滾段。建立回滾段CREATE ROLLBACK SEGMENT rbs01TABLESPACE rbsSTORAGE (INITIAL 100K NEXT 100K OPTIMAL 4M MINEXTENTS 20 MAXEXTENTS 100);使回滾段ONLINEALTER ROLLBACK SEGMENT rbs01 ONLINE;在初始化參數(shù)中指定,以保證數(shù)據(jù)庫啟動 時ONL

12、INEROLLBACK_SEGMENTS=(rbs01)修改回滾段的存儲參數(shù)ALTER ROLLBACK SEGMENT rbs01STORAGE( MAXEXTENTS 200 );從回滾段中釋放空間ALTER ROLLBACK SEGMENT rbs01SHRINK TO 4M;使回滾段OfflineALTER ROLLBACK SEGMENT rbs01 OFFLINE;刪除回滾段回滾段在刪除之前必須OFFLINEALTER ROLLBACK SEGMENT rbs01 OFFLINE;DROP ROLLBACK SEGMENT rbs01;臨時段:當一個SQL語句需要臨時工作區(qū)時,由O

13、RACLE建立。當語句執(zhí)行完畢,臨時段的范圍退回給系統(tǒng)。ORACLE對所有段的空間分配,以范圍(extents)為單位。范圍一個范圍(EXTENT)是數(shù)據(jù)庫存儲空間分配的一個邏輯單位,它由連續(xù)數(shù)據(jù)塊所組成。每一個段是由一個或多個范圍組成。當一段中間所有空間已完全使用時,ORACLE為該段分配一個新的范圍。為了維護的目的,在數(shù)據(jù)庫的每一段含有段標題塊(segment header block)說明段的特征以及該段中的范圍目錄。數(shù)據(jù)塊數(shù)據(jù)塊(data block)是ORACLE管理數(shù)據(jù)文件中存儲空間的單位,為數(shù)據(jù)庫使用的I/O的最小單位,其大小可不同于操作系統(tǒng)的標準I/O塊大小。數(shù)據(jù)塊的格式:公用

14、的變長標題表目錄行目錄未用空間行數(shù)據(jù)(1) 模式和模式對象一個模式(schema)為模式對象(scehma object)的一個集合,每一個數(shù)據(jù)庫用戶對應一個模式。模式對象為直接引用數(shù)據(jù)庫數(shù)據(jù)的邏輯結(jié)構(gòu),模式對象包含如表、視圖、索引、聚集、序列、同義詞、數(shù)據(jù)庫鏈、過程和包等結(jié)構(gòu)。模式對象是邏輯數(shù)據(jù)存儲結(jié)構(gòu),每一種模式對象在磁盤上沒有一個相應文件存儲其信息。一個模式對象邏輯地存儲在數(shù)據(jù)庫的一個表空間中,每一個對象的數(shù)據(jù)物理地包含在表空間的一個或多個數(shù)據(jù)文件中。表表(table)為數(shù)據(jù)庫中數(shù)據(jù)存儲的基本單位,其數(shù)據(jù)按行、列存儲。每個表具有一表名和列的集合。每一列有一個列名、數(shù)據(jù)類型、寬度或精度、比

15、例。一行是對應單個記錄的列信息的集合。視圖一個視圖(view)是由一個或多個表(或其他視圖)中的數(shù)據(jù)的一種定制的表示,是用一個查詢定義,所以可認為是一個存儲的查詢(stored query)或是一個虛表(virtual table)。視圖可在使用表的許多地方使用。由于視圖是由表導出的,視圖和表存在許多類似,視圖象表最多可定義254列。視圖可以被查詢,而在修改、插入或刪除時具有一定的限制,在視圖上執(zhí)行的全部操作真正地影響視圖的基本表中的數(shù)據(jù),受到基本表的完整性約束和觸發(fā)器的限制。視圖與表不同,一個視圖不分配任何存儲空間,視圖不真正地包含數(shù)據(jù)。由查詢定義的視圖相應于視圖引用表中的數(shù)據(jù)。視圖只在數(shù)據(jù)

16、字典中存儲其定義。引入視圖有下列好處:。通過限制對表的行預定義集合的存取,為表提供附加的安全性。隱藏數(shù)據(jù)復雜性。為用戶簡化命令。為基本表的數(shù)據(jù)提供另一種觀點??蓪酶綦x基本表定義的修改。用于不用視圖無法表示的查詢??捎糜诒4鎻碗s查詢。聚集聚集(cluster)是存儲表數(shù)據(jù)的可選擇的方法。一個聚集是一組表,將具有同一公共列值的行存儲在一起,并且它們經(jīng)常一起使用。這些公共列構(gòu)成聚集碼。例如:EMP表各DEPT表共享DEPTNO列,所以EMP表和DEPT表可聚集在一起,聚集碼的列為DEPTNO列,該聚集將每個部門的全部職工行各該部門的行物理地存儲在同一數(shù)據(jù)塊中。索引索引(index)是與表和聚集相

17、關(guān)的一種選擇結(jié)構(gòu)。索引是為提高數(shù)據(jù)檢索的性能而建立,利用它可快速地確定指定的信息。ORACLE索引為表數(shù)據(jù)提供快速存取路徑。索引適用于一范圍的行查詢或指定行的查詢。索引可建立在一表的一列或多列上,一旦建立,由ORACLE自動維護和使用,對用戶是完全透明的。索引是邏輯地和物理地獨立于數(shù)據(jù),它們的建立或刪除對表沒有影響,應用可繼續(xù)處理。索引數(shù)據(jù)的檢索性能幾乎保持常數(shù),而當一表上存在許多索引時,修改、刪除和插入操作的性能會下降。索引有唯一索引各非唯一索引。唯一索引保證表中沒有兩行在定義索引的列上具有重復值。ORACLE在唯一碼上自動地定義唯一索引實施UNIQUE完整性約束。組合索引是在表的某個列上所

18、建立的一索引。組全索引可加快SELECT語句的檢索速度,在其WHERE子句中可引用組合索引的全部或主要部分 。所以在定義中給出列的次序,將經(jīng)常存取的或選擇最多的列放在首位。在建立索引時,將在表空間自動地建立一索引段,索引段空間分配和保留空間的使用受下列方式控制:索引段范圍的分配常駐該索引段的存儲參數(shù)控制。其數(shù)據(jù)塊中未用空間可受該段的PCTFREE參數(shù)設置所控制。序列生成器序列生成器(sequence generator)產(chǎn)生序列號。在多用戶環(huán)境下該序列生成器特別有用,可生成各返回序列號而不需要磁盤I/O或事務封鎖。序列號為ORACLE整數(shù),最多可有38個數(shù)字。一個序列定義指出一般信息:序列的名

19、字、上升或下降、序列號之間間距和其它信息。對所有序列的確的定義以行存儲在SYSTEM表空間中的數(shù)據(jù)字典表中,所以所有序列定義總是可用。由引用序列號的SQL語句使用序列號,可生成一個新的序列號或使用當前序列號。一旦在用戶會話中的SQL語句生成一序列號,該序列號僅為該會話可用。序列號生成是獨立于表,所以同一序列生成器可用于一個和多個表。所生成序列號可用于生成唯一的主碼。同義詞一個同義詞(synonym)為任何表、視圖、快照、序列、過程、函數(shù)或包的別名,其定義存儲在數(shù)據(jù)字典中。同義詞因安全性和方便原因而經(jīng)常使用,可用于:l 可屏蔽對象的名字及其持有者。l 為分布式數(shù)據(jù)庫的遠程對象提供位置透明性。l

20、為用戶簡化SQL語句。有兩種同義詞:公用和專用。一個公用同義詞為命名為PUBLIC特殊用戶組所持有,可為數(shù)據(jù)庫中每一個用戶所存取。一個專用同義詞是包含在指定用戶的模式中,僅為該用戶和授權(quán)的用戶所使用。雜湊雜湊(hashing)是存儲表數(shù)據(jù)一種可選擇的方法,用以改進數(shù)據(jù)檢索的性能。要使用雜湊,就要建立雜湊聚集,將表裝入到該聚集。在驃湊聚集中的表行根據(jù)雜湊函數(shù)的結(jié)果進行物理學存儲和檢索。雜湊函數(shù)用于生成一個數(shù)值的分布,該數(shù)值稱為雜湊值,它是基于指定的聚集碼值。程序單元程序單元(program unit)是指存儲過程、函數(shù)和包(PACKAGE)。一個過程和函數(shù),是由SQL語句和PL/SQL語句組合在

21、一起,為執(zhí)行某一個任務的一個可執(zhí)行單位。一個過程或函數(shù)可被建立,在數(shù)據(jù)庫中存儲其編譯形式,可由用戶或數(shù)據(jù)庫應用所執(zhí)行。過程和函數(shù)差別在函數(shù)總返回單個值給調(diào)用者,而過程沒有值返回給調(diào)用者。包提供相關(guān)的過程、函數(shù)、變量和其它包結(jié)構(gòu)封裝起來并存貯在一起的一種方法,允許管理者和應用開發(fā)者利用該方法組織如此的程序(routine),來提供更多的功能和提高性能。數(shù)據(jù)庫鏈數(shù)據(jù)庫鏈是一個命名的對象,說明從一數(shù)據(jù)庫到另一數(shù)據(jù)庫的一路徑(PATH)。在分布式數(shù)據(jù)庫中,對全局對象名引用時,數(shù)據(jù)庫鏈隱式地使用。一. 數(shù)據(jù)庫和實例的啟動和關(guān)閉一個ORACLE數(shù)據(jù)庫沒有必要對所有用戶總是可用,數(shù)據(jù)庫管理員可啟動數(shù)據(jù)庫,以致它被打開。在數(shù)據(jù)庫打開情況下,用戶可存取數(shù)據(jù)庫中的信息。當數(shù)據(jù)庫不使用時,DBA可關(guān)閉它,關(guān)閉后的數(shù)據(jù)庫,用戶不能存取其信息。數(shù)據(jù)庫的啟動和關(guān)閉是非常重要的管理功能,通過以INTERNAL連接到ORACLE的能力來保護。以INTERNAL 連接到ORACLE需要有下列先決條件:該用戶的操作系統(tǒng)賬號具有使用INTERNAL連接的操作系統(tǒng)特權(quán)。對INTERNAL數(shù)據(jù)庫有一口令,該用戶知道其口令。另外:當用戶以INTERNAL連接時,可連接到專用服務器,而且是安全連接。1 數(shù)據(jù)庫啟動 啟動數(shù)據(jù)庫并使它可用有三步操作:l 啟動一個實例;l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論