首頁 php教程 PHP开发 ORACLE資料庫模型概述

ORACLE資料庫模型概述

Dec 15, 2016 am 10:18 AM

一個ORACLE資料庫是資料的集合,被處理成一個單位。每個ORACLE資料庫有一個物理結構和一個邏輯結構。 
資料庫物理結構是由構成資料庫的作業系統檔案所決定的。資料庫的文件為資料庫資訊提供真正的實體儲存。每一個ORACLE資料庫是由三種類型的檔案組成,分別是資料檔案、日誌檔案和控製文件。
邏輯資料庫結構是使用者所涉及的資料庫結構,一個ORACLE資料庫的邏輯結構由下列因素決定: 
(1)  一個或多個表空間 
(2)  資料庫模式物件 
邏輯儲存結構例如表空間用於支配一個資料庫的實體空間如何使用,模式物件及它們之間的聯繫組成了一個資料庫的關係設計。 
一.資料庫實體結構 
ORACLE資料庫由三種類型的實體檔案組成,即資料檔案、日誌檔案和控制檔案.
1.  資料檔 
每一個ORACLE資料庫有一個或多個實體的資料檔(data file) 。一個資料庫的資料檔案包含全部資料庫資料。邏輯資料庫結構的資料也是物理地儲存在資料庫的資料檔案中。資料檔案有下列特徵: 
(1)  一個資料檔案只與一個資料庫連結 
(2)  一旦建立資料檔案無法改變大小 
(3)  一個表格空間由一個或多個資料檔案組成 
資料檔案中的資料在需要時可以讀取並儲存在ORACLE 內儲存區。例如:使用者要存取資料庫一表的某些數據,如果請求資訊不在資料庫的記憶體儲存區內,則從相應的資料檔案讀取並儲存在記憶體中。當修改和插入新資料時,不必立刻寫入資料檔。為了減少磁碟輸出的總數,提​​高效能,資料儲存在內存,然後由ORACLE後台進程DBWR決定如何將其寫入到相應的資料檔案。 
2.  日誌檔案 
每一個資料庫有兩個或多個日誌檔案(redo log file)所構成的日誌檔案群組,每個日誌檔案用來收集資料庫日誌。 
日誌的主要功能是記錄資料庫所做的修改,所以資料庫所做的全部修改都記錄在日誌中。日誌檔案主要是保護資料庫以防止故障,為了防止日誌檔案本身的故障,ORACLE允許鏡像日誌(mirrored redo log) 以便可在不同磁碟上維護多個相同的日誌副本。 
日誌檔案中的資訊僅在系統故障或媒體故障復原資料庫時使用。 
3.控制檔案 
每一個ORACLE 資料庫至少有一個控制檔案(control file),它記錄資料庫的實體結構,包含的主要資訊是: 
(1)  資料庫名稱 
(2)  資料檔案和日誌檔案的姓名和位置
(3)  資料庫建立日期 
每一次ORACLE資料庫的實例啟動時,它的控製文件用於識別資料庫和日誌文件,當著手資料庫操作時它們必須被開啟。當資料庫的實體組成變更時,ORACLE會自動變更該資料庫的控製檔案。 
2.3.2 資料庫邏輯結構 
資料庫的邏輯結構包含表空間(table space)、段(segment)、區(extent)、資料區塊(block),
1.  表空間 
一個資料庫分割為一個或多個邏輯單位,此邏輯單位稱為表空間。一個表空間可將相關的邏輯結構組合在一起。 DBA可用表空間做下列工作: 
(1) 控制資料庫資料的磁碟分配 
(2) 將確定的空間份額分配給資料庫使用者 
(3) 透過使單一表空間在線或離線,控制資料的可用性 
(4) 執行部分資料庫備份或復原作業 
(5) 為提高效能,跨越裝置分配資料儲存 
資料庫、表空間與資料檔案之間的關係如圖2.3-2所示。
每個資料庫可邏輯劃分為一個或多個表空間。每一個表空間是由一個或多個資料檔案組成,該表空間物理儲存表空間中全部邏輯結構的資料。 DBA可以建立新的表空間,可為表空間增加資料檔案或可刪除資料文件,設定或變更預設的段儲存位置。 
每一個ORACLE 資料庫包含有一個名為SYSTEM 的表空間,該表空間在資料庫建立時會自動建立。在該表空間中總包含有整個資料庫的資料字典表。最小的資料庫可只需要SYSTEM表空間。該表空間必須總是在線。表和儲存的PL/SQL程式單元(過程、函數、套件和觸發器)的全部儲存資料是儲存在SYSTEM表空間中。 
透過增加表空間的資料檔案來擴大表空間,表空間的大小為組成該表空間的資料檔案大小的總和。 
DBA可以使ORACLE資料庫中除SYSTEM表空間外的任何其他表空間在線上或離線(離線的該表空間不能有活動的回滾段)。表空間通常是在線,以致它所包含的資料對資料庫使用者是可用的。當表空間為離線時,其資料不可用。在下列情況下,DBA可以使其離線: 
(1)  使部分資料無法使用,而剩餘的部分允許正常存取 
(2)  執行離線的表空間備份 
(3)  為了修改或維護一個應用,使它和它的一組表臨時不可用 
包含有正在活動的回滾段的表空間不能被離線,僅當回滾段不正在使用時,該表空間才可離線。 
在資料字典中記錄表格空間的狀態,在線上還是離線。如果在資料庫關閉時一表空間為離線,那麼在下次資料庫組裝和重新開啟後,它仍然保持離線。 
當出現某些錯誤時,一個表空間可自動地由線上變更為離線。透過使用多個表空間,將不同類型的資料分開,更方便DBA來管理資料庫。 
ORACLE資料庫中一表空間是由一個或多個實體資料檔案組成,一個資料檔案只可與一個表空間連結。 
ORACLE透過段、區和資料塊等邏輯資料結構可更細緻地控制磁碟空間的使用。 
2.  段 
段(SEGMENT)包含表空間中一種指定類型的邏輯儲存結構,是由一組區組成。在ORACLE資料庫中有幾種類型的段:資料段、索引段、回滾段和臨時段。 
資料段:對於每一個非聚集的表有一資料段,表的所有資料都存放在該段。每一聚集有一個資料段,聚集中每個表格的資料儲存在該段中。 
索引段:每個索引有一個索引段,儲存索引資料。 
回滾段:是由 DBA 建立,用於暫時儲存要撤銷的信息,這些資訊用於產生讀取一致性資料庫資訊、在資料庫復原時使用、回滾未提交的交易。 
臨時段:當一個 SQL 語句需要暫時工作區時,由 ORACLE 建立。當語句執行完畢,臨時段的區退回給系統。 
ORACLE對所有段的空間分配,以區為單位。 
3.  區 
一個區(EXTENT)是資料庫儲存空間分配的邏輯單位,它由連續的ORACLE資料塊所組成。每一個段是由一個或多個區組成。當一段中的所有空間已完全使用時,ORACLE會為該段分配一個新的區。 
為了維護的目的,在資料庫的每一段含有段標題塊說明段的特徵以及該段中的區目錄。 
4.  資料區塊 
資料區塊(data block)是 ORACLE 管理資料檔案中儲存空間的單位,為資料庫所使用的I/O的最小單位,其大小可不同於作業系統的標準I/O區塊大小。

以上就是ORACLE資料庫模型概述的內容, 更多相關文章請關注PHP中文網(www.php.cn)!


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

oracle如何查表空間大小 oracle如何查表空間大小 Apr 11, 2025 pm 08:15 PM

要查詢 Oracle 表空間大小,請遵循以下步驟:確定表空間名稱,方法是運行查詢:SELECT tablespace_name FROM dba_tablespaces;查詢表空間大小,方法是運行查詢:SELECT sum(bytes) AS total_size, sum(bytes_free) AS available_space, sum(bytes) - sum(bytes_free) AS used_space FROM dba_data_files WHERE tablespace_

oracle如何獲取時間 oracle如何獲取時間 Apr 11, 2025 pm 08:09 PM

在 Oracle 中獲取時間有以下方法:CURRENT_TIMESTAMP:返回當前系統時間,精確到秒。 SYSTIMESTAMP:比 CURRENT_TIMESTAMP 更準確,精確到納秒。 SYSDATE:返回當前系統日期,不含時間部分。 TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'): 將當前系統日期和時間轉換為特定格式。 EXTRACT:從時間值中提取特定部分,如年份、月份或小時。

oracle視圖如何加密 oracle視圖如何加密 Apr 11, 2025 pm 08:30 PM

Oracle 視圖加密允許您加密視圖中的數據,從而增強敏感信息安全性。步驟包括:1) 創建主加密密鑰 (MEk);2) 創建加密視圖,指定要加密的視圖和 MEk;3) 授權用戶訪問加密視圖。加密視圖工作原理:當用戶查詢加密視圖時,Oracle 使用 MEk 解密數據,確保只有授權用戶可以訪問可讀數據。

oracle如何查看實例名 oracle如何查看實例名 Apr 11, 2025 pm 08:18 PM

在 Oracle 中查看實例名的方法有三種:命令行中使用 "sqlplus" 和 "select instance_name from v$instance;" 命令。在 SQL*Plus 中使用 "show instance_name;" 命令。通過操作系統的任務管理器、Oracle Enterprise Manager 或檢查環境變量 (Linux 上的 ORACLE_SID)。

Oracle安裝失敗如何卸載 Oracle安裝失敗如何卸載 Apr 11, 2025 pm 08:24 PM

Oracle 安裝失敗的卸載方法:關閉 Oracle 服務,刪除 Oracle 程序文件和註冊表項,卸載 Oracle 環境變量,重新啟動計算機。若卸載失敗,可使用 Oracle 通用卸載工具手動卸載。

oracle無效數字如何排查 oracle無效數字如何排查 Apr 11, 2025 pm 08:27 PM

Oracle 無效數字錯誤可能由數據類型不匹配、數字溢出、數據轉換錯誤或數據損壞引起。排查步驟包括檢查數據類型、檢測數字溢出、檢查數據轉換、排查數據損壞,並探索其他可能的解決方案,如配置 NLS_NUMERIC_CHARACTERS 參數和啟用數據驗證日誌記錄。

oracle動態sql怎麼創建 oracle動態sql怎麼創建 Apr 12, 2025 am 06:06 AM

可以通過使用 Oracle 的動態 SQL 來根據運行時輸入創建和執行 SQL 語句。步驟包括:準備一個空字符串變量來存儲動態生成的 SQL 語句。使用 EXECUTE IMMEDIATE 或 PREPARE 語句編譯和執行動態 SQL 語句。使用 bind 變量傳遞用戶輸入或其他動態值給動態 SQL。使用 EXECUTE IMMEDIATE 或 EXECUTE 執行動態 SQL 語句。

oracle游標關閉怎麼解決 oracle游標關閉怎麼解決 Apr 11, 2025 pm 10:18 PM

解決 Oracle 游標關閉問題的方法包括:使用 CLOSE 語句顯式關閉游標。在 FOR UPDATE 子句中聲明游標,使其在作用域結束後自動關閉。在 USING 子句中聲明游標,使其在關聯的 PL/SQL 變量關閉時自動關閉。使用異常處理確保在任何異常情況下關閉游標。使用連接池自動關閉游標。禁用自動提交,延遲游標關閉。

See all articles